summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/CMakeLists.txt64
-rw-r--r--mysql-test/README11
-rw-r--r--mysql-test/collections/buildbot_suites.bat3
-rwxr-xr-xmysql-test/dgcov.pl11
-rw-r--r--mysql-test/include/assert_grep.inc14
-rw-r--r--mysql-test/include/check-testcase.test5
-rw-r--r--mysql-test/include/column_compression_syntax_varbinary.inc3
-rw-r--r--mysql-test/include/column_compression_syntax_varchar.inc3
-rw-r--r--mysql-test/include/ctype_numconv.inc4
-rw-r--r--mysql-test/include/default_mysqld.cnf3
-rw-r--r--mysql-test/include/explain_utils.inc4
-rw-r--r--mysql-test/include/filter_file.inc8
-rw-r--r--mysql-test/include/galera_connect.inc12
-rw-r--r--mysql-test/include/galera_variables_ok.inc2
-rw-r--r--mysql-test/include/galera_variables_ok_debug.inc2
-rw-r--r--mysql-test/include/have_rocksdb.inc4
-rw-r--r--mysql-test/include/have_rocksdb.opt1
-rw-r--r--mysql-test/include/have_utf8.inc2
-rw-r--r--mysql-test/include/innodb_checksum_algorithm.combinations7
-rw-r--r--mysql-test/include/innodb_page_size.combinations3
-rw-r--r--mysql-test/include/innodb_page_size_small.combinations3
-rw-r--r--mysql-test/include/innodb_trx_weight.inc4
-rw-r--r--mysql-test/include/maria_empty_logs.inc6
-rw-r--r--mysql-test/include/mix2.inc27
-rw-r--r--mysql-test/include/mtr_check.sql6
-rw-r--r--mysql-test/include/mtr_warnings.sql4
-rw-r--r--mysql-test/include/mysql_upgrade_preparation.inc3
-rw-r--r--mysql-test/include/print_ddl_log.inc78
-rw-r--r--mysql-test/include/protocol.combinations3
-rw-r--r--mysql-test/include/protocol.inc2
-rw-r--r--mysql-test/include/restart_mysqld.inc5
-rw-r--r--mysql-test/include/show_events.inc9
-rw-r--r--mysql-test/include/show_rpl_debug_info.inc7
-rw-r--r--mysql-test/include/wait_until_connected_again.inc18
-rw-r--r--mysql-test/lib/My/ConfigFactory.pm11
-rw-r--r--mysql-test/lib/My/Debugger.pm17
-rwxr-xr-xmysql-test/lib/generate-ssl-certs.sh15
-rw-r--r--mysql-test/lib/mtr_process.pl10
-rw-r--r--mysql-test/lib/mtr_stress.pl4
-rw-r--r--mysql-test/lib/v1/mtr_stress.pl4
-rw-r--r--mysql-test/main/1st.result1
-rw-r--r--mysql-test/main/almost_full.result8
-rw-r--r--mysql-test/main/alter_table.result254
-rw-r--r--mysql-test/main/analyze.result4
-rw-r--r--mysql-test/main/backup_lock.result48
-rw-r--r--mysql-test/main/backup_lock.test48
-rw-r--r--mysql-test/main/backup_lock_debug.result6
-rw-r--r--mysql-test/main/backup_lock_debug.test7
-rw-r--r--mysql-test/main/backup_log.inc155
-rw-r--r--mysql-test/main/backup_log.result241
-rw-r--r--mysql-test/main/backup_log.test39
-rw-r--r--mysql-test/main/backup_stages.result6
-rw-r--r--mysql-test/main/backup_stages.test3
-rw-r--r--mysql-test/main/bind_address_resolution.opt1
-rw-r--r--mysql-test/main/bind_address_resolution.result11
-rw-r--r--mysql-test/main/bind_address_resolution.test22
-rw-r--r--mysql-test/main/bug12427262.test2
-rw-r--r--mysql-test/main/bug39022.result2
-rw-r--r--mysql-test/main/bug39022.test2
-rw-r--r--mysql-test/main/bug47671.result8
-rw-r--r--mysql-test/main/cast.result18
-rw-r--r--mysql-test/main/cli_options_force_protocol_not_win.result24
-rw-r--r--mysql-test/main/cli_options_force_protocol_not_win.test37
-rw-r--r--mysql-test/main/cli_options_force_protocol_win.opt1
-rw-r--r--mysql-test/main/cli_options_force_protocol_win.result24
-rw-r--r--mysql-test/main/cli_options_force_protocol_win.test37
-rw-r--r--mysql-test/main/column_compression.result36
-rw-r--r--mysql-test/main/column_compression.test2
-rw-r--r--mysql-test/main/column_compression_rpl.opt1
-rw-r--r--mysql-test/main/comment_database.result4
-rw-r--r--mysql-test/main/comment_table.result2
-rw-r--r--mysql-test/main/commit.result5
-rw-r--r--mysql-test/main/commit.test5
-rw-r--r--mysql-test/main/compound.result4
-rw-r--r--mysql-test/main/compound.test4
-rw-r--r--mysql-test/main/compress.result8
-rw-r--r--mysql-test/main/connect.result6
-rw-r--r--mysql-test/main/connect.test6
-rw-r--r--mysql-test/main/connect_debug.result4
-rw-r--r--mysql-test/main/constraints.result2
-rw-r--r--mysql-test/main/crash_commit_before.result2
-rw-r--r--mysql-test/main/create-uca.result8
-rw-r--r--mysql-test/main/create-uca.test2
-rw-r--r--mysql-test/main/create.result26
-rw-r--r--mysql-test/main/create_drop_role.result1
-rw-r--r--mysql-test/main/create_or_replace.result4
-rw-r--r--mysql-test/main/create_or_replace.test9
-rw-r--r--mysql-test/main/create_utf8.result2
-rw-r--r--mysql-test/main/ctype_big5.result256
-rw-r--r--mysql-test/main/ctype_cp1250_ch.result10
-rw-r--r--mysql-test/main/ctype_cp1251.result2
-rw-r--r--mysql-test/main/ctype_cp932_binlog_stm.result384
-rw-r--r--mysql-test/main/ctype_create.result12
-rw-r--r--mysql-test/main/ctype_eucjpms.result384
-rw-r--r--mysql-test/main/ctype_euckr.result256
-rw-r--r--mysql-test/main/ctype_filename.result4
-rw-r--r--mysql-test/main/ctype_filesystem.result2
-rw-r--r--mysql-test/main/ctype_gb2312.result256
-rw-r--r--mysql-test/main/ctype_gbk.result256
-rw-r--r--mysql-test/main/ctype_gbk.test2
-rw-r--r--mysql-test/main/ctype_gbk_export_import.result2
-rw-r--r--mysql-test/main/ctype_latin1.result4
-rw-r--r--mysql-test/main/ctype_ldml.result50
-rw-r--r--mysql-test/main/ctype_ldml.test6
-rw-r--r--mysql-test/main/ctype_many.result12
-rw-r--r--mysql-test/main/ctype_mb.result26
-rw-r--r--mysql-test/main/ctype_recoding.result4
-rw-r--r--mysql-test/main/ctype_sjis.result384
-rw-r--r--mysql-test/main/ctype_uca.result98
-rw-r--r--mysql-test/main/ctype_uca_innodb.result2
-rw-r--r--mysql-test/main/ctype_uca_innodb.test2
-rw-r--r--mysql-test/main/ctype_uca_partitions.result2
-rw-r--r--mysql-test/main/ctype_ucs.test4
-rw-r--r--mysql-test/main/ctype_ujis.result384
-rw-r--r--mysql-test/main/ctype_upgrade.result242
-rw-r--r--mysql-test/main/ctype_utf8.result722
-rw-r--r--mysql-test/main/ctype_utf8.test2
-rw-r--r--mysql-test/main/ctype_utf8_def_upgrade.result4
-rw-r--r--mysql-test/main/ctype_utf8_uca.result20
-rw-r--r--mysql-test/main/ctype_utf8mb4.result22
-rw-r--r--mysql-test/main/ctype_utf8mb4_heap.result20
-rw-r--r--mysql-test/main/ctype_utf8mb4_innodb-master.opt1
-rw-r--r--mysql-test/main/ctype_utf8mb4_innodb.result20
-rw-r--r--mysql-test/main/ctype_utf8mb4_myisam.result20
-rw-r--r--mysql-test/main/custom_aggregate_functions.result24
-rw-r--r--mysql-test/main/ddl_i18n_koi8r.result438
-rw-r--r--mysql-test/main/ddl_i18n_koi8r.test2
-rw-r--r--mysql-test/main/ddl_i18n_utf8.result606
-rw-r--r--mysql-test/main/ddl_i18n_utf8.test2
-rw-r--r--mysql-test/main/default.result6
-rw-r--r--mysql-test/main/delayed.result2
-rw-r--r--mysql-test/main/delayed.test2
-rw-r--r--mysql-test/main/derived.test2
-rw-r--r--mysql-test/main/derived_cond_pushdown.test3
-rw-r--r--mysql-test/main/derived_split_innodb.result3
-rw-r--r--mysql-test/main/derived_split_innodb.test5
-rw-r--r--mysql-test/main/derived_view.result2
-rw-r--r--mysql-test/main/drop.result2
-rw-r--r--mysql-test/main/drop_table_force.result1
-rw-r--r--mysql-test/main/dyncol.result14
-rw-r--r--mysql-test/main/dyncol.test2
-rw-r--r--mysql-test/main/empty_string_literal.result10
-rw-r--r--mysql-test/main/endspace.result3
-rw-r--r--mysql-test/main/endspace.test3
-rw-r--r--mysql-test/main/events_1.result36
-rw-r--r--mysql-test/main/events_2.result10
-rw-r--r--mysql-test/main/events_logs_tests.result3
-rw-r--r--mysql-test/main/events_logs_tests.test3
-rw-r--r--mysql-test/main/events_restart.test1
-rw-r--r--mysql-test/main/explain_json.result2
-rw-r--r--mysql-test/main/explain_non_select.result2
-rw-r--r--mysql-test/main/fast_prefix_index_fetch_innodb.result3
-rw-r--r--mysql-test/main/fast_prefix_index_fetch_innodb.test4
-rw-r--r--mysql-test/main/features,ps.rdiff21
-rw-r--r--mysql-test/main/features.test1
-rw-r--r--mysql-test/main/fetch_first.result1380
-rw-r--r--mysql-test/main/fetch_first.test1054
-rw-r--r--mysql-test/main/flush-innodb.result2
-rw-r--r--mysql-test/main/flush-innodb.test2
-rw-r--r--mysql-test/main/flush.result108
-rw-r--r--mysql-test/main/flush.test118
-rw-r--r--mysql-test/main/flush_notembedded.result68
-rw-r--r--mysql-test/main/flush_notembedded.test66
-rw-r--r--mysql-test/main/flush_read_lock.result9
-rw-r--r--mysql-test/main/flush_read_lock.test13
-rw-r--r--mysql-test/main/frm_bad_row_type-7333.result4
-rw-r--r--mysql-test/main/fulltext.result20
-rw-r--r--mysql-test/main/fulltext.test2
-rw-r--r--mysql-test/main/fulltext2.test2
-rw-r--r--mysql-test/main/func_crypt.result10
-rw-r--r--mysql-test/main/func_crypt.test11
-rw-r--r--mysql-test/main/func_group.test6
-rw-r--r--mysql-test/main/func_hybrid_type.result28
-rw-r--r--mysql-test/main/func_json.result17
-rw-r--r--mysql-test/main/func_json.test11
-rw-r--r--mysql-test/main/func_json_notembedded.result42
-rw-r--r--mysql-test/main/func_json_notembedded.test37
-rw-r--r--mysql-test/main/func_misc.result11
-rw-r--r--mysql-test/main/func_misc.test5
-rw-r--r--mysql-test/main/func_regexp_pcre.result4
-rw-r--r--mysql-test/main/func_str.result40
-rw-r--r--mysql-test/main/func_system.result18
-rw-r--r--mysql-test/main/func_time.test7
-rw-r--r--mysql-test/main/get_diagnostics.result8
-rw-r--r--mysql-test/main/get_diagnostics.test4
-rw-r--r--mysql-test/main/gis.result4
-rw-r--r--mysql-test/main/grant.result46
-rw-r--r--mysql-test/main/grant.test14
-rw-r--r--mysql-test/main/grant2.result4
-rw-r--r--mysql-test/main/grant2.test2
-rw-r--r--mysql-test/main/grant4.result16
-rw-r--r--mysql-test/main/grant4.test2
-rw-r--r--mysql-test/main/grant_4332.result18
-rw-r--r--mysql-test/main/grant_4332.test14
-rw-r--r--mysql-test/main/grant_lowercase.result2
-rw-r--r--mysql-test/main/grant_lowercase.test2
-rw-r--r--mysql-test/main/group_min_max.result23
-rw-r--r--mysql-test/main/group_min_max.test18
-rw-r--r--mysql-test/main/having.result10
-rw-r--r--mysql-test/main/having.test4
-rw-r--r--mysql-test/main/having_cond_pushdown.test4
-rw-r--r--mysql-test/main/ignored_index.result530
-rw-r--r--mysql-test/main/ignored_index.test464
-rw-r--r--mysql-test/main/ignored_index_innodb.result7
-rw-r--r--mysql-test/main/ignored_index_innodb.test16
-rw-r--r--mysql-test/main/index_merge_innodb.result5
-rw-r--r--mysql-test/main/index_merge_innodb.test6
-rw-r--r--mysql-test/main/information_schema.result192
-rw-r--r--mysql-test/main/information_schema.test17
-rw-r--r--mysql-test/main/information_schema_all_engines-master.opt1
-rw-r--r--mysql-test/main/information_schema_all_engines.result8
-rw-r--r--mysql-test/main/information_schema_db.test2
-rw-r--r--mysql-test/main/information_schema_parameters.result46
-rw-r--r--mysql-test/main/information_schema_routines.result110
-rw-r--r--mysql-test/main/init_file_longline_3816.result2
-rw-r--r--mysql-test/main/innodb_ext_key.result11
-rw-r--r--mysql-test/main/innodb_ext_key.test1
-rw-r--r--mysql-test/main/innodb_mysql_lock.result2
-rw-r--r--mysql-test/main/innodb_mysql_lock.test5
-rw-r--r--mysql-test/main/innodb_mysql_lock2.test2
-rw-r--r--mysql-test/main/innodb_utf8.test2
-rw-r--r--mysql-test/main/invisible_field.test2
-rw-r--r--mysql-test/main/invisible_field_debug.result32
-rw-r--r--mysql-test/main/join.result10
-rw-r--r--mysql-test/main/join_cache.result4
-rw-r--r--mysql-test/main/join_cache.test4
-rw-r--r--mysql-test/main/join_outer_innodb.result3
-rw-r--r--mysql-test/main/join_outer_innodb.test3
-rw-r--r--mysql-test/main/key.result16
-rw-r--r--mysql-test/main/keywords.result50
-rw-r--r--mysql-test/main/locale.result6
-rw-r--r--mysql-test/main/lock.result22
-rw-r--r--mysql-test/main/lock.test25
-rw-r--r--mysql-test/main/lock_kill.test4
-rw-r--r--mysql-test/main/lock_sync.test3
-rw-r--r--mysql-test/main/locking_clause.result164
-rw-r--r--mysql-test/main/locking_clause.test163
-rw-r--r--mysql-test/main/log_tables.result30
-rw-r--r--mysql-test/main/log_tables.test3
-rw-r--r--mysql-test/main/log_tables_upgrade.result102
-rw-r--r--mysql-test/main/long_host.result159
-rw-r--r--mysql-test/main/long_host.test196
-rw-r--r--mysql-test/main/long_unique.result413
-rw-r--r--mysql-test/main/long_unique_big.result8
-rw-r--r--mysql-test/main/long_unique_bugs.result16
-rw-r--r--mysql-test/main/long_unique_update.result47
-rw-r--r--mysql-test/main/long_unique_using_hash.result18
-rw-r--r--mysql-test/main/lowercase_fs_off.result102
-rw-r--r--mysql-test/main/lowercase_fs_off.test1
-rw-r--r--mysql-test/main/lowercase_table5.result4
-rw-r--r--mysql-test/main/mdl.result21
-rw-r--r--mysql-test/main/mdl.test21
-rw-r--r--mysql-test/main/merge.result8
-rw-r--r--mysql-test/main/merge.test4
-rw-r--r--mysql-test/main/mix2_myisam.result34
-rw-r--r--mysql-test/main/mrr_icp_extra.result2
-rw-r--r--mysql-test/main/myisam.result142
-rw-r--r--mysql-test/main/myisam.test2
-rw-r--r--mysql-test/main/myisam_crash_before_flush_keys.result6
-rw-r--r--mysql-test/main/myisam_crash_before_flush_keys.test2
-rw-r--r--mysql-test/main/myisam_debug.test2
-rw-r--r--mysql-test/main/myisam_recover.result14
-rw-r--r--mysql-test/main/myisam_recover.test2
-rw-r--r--mysql-test/main/mysql.result12
-rw-r--r--mysql-test/main/mysql5613mysql.result226
-rw-r--r--mysql-test/main/mysql_client_test.test2
-rw-r--r--mysql-test/main/mysql_install_db_win.result18
-rw-r--r--mysql-test/main/mysql_install_db_win.test37
-rw-r--r--mysql-test/main/mysql_json_mysql_upgrade.result102
-rw-r--r--mysql-test/main/mysql_json_mysql_upgrade_with_plugin_loaded.result102
-rw-r--r--mysql-test/main/mysql_locale_posix.result2
-rw-r--r--mysql-test/main/mysql_not_windows.result2
-rw-r--r--mysql-test/main/mysql_tzinfo_to_sql_symlink.result439
-rw-r--r--mysql-test/main/mysql_tzinfo_to_sql_symlink.test135
-rw-r--r--mysql-test/main/mysql_upgrade-20228.result102
-rw-r--r--mysql-test/main/mysql_upgrade-6984.result102
-rw-r--r--mysql-test/main/mysql_upgrade-6984.test1
-rw-r--r--mysql-test/main/mysql_upgrade.result1303
-rw-r--r--mysql-test/main/mysql_upgrade.test5
-rw-r--r--mysql-test/main/mysql_upgrade_mysql_json_datatype.result102
-rw-r--r--mysql-test/main/mysql_upgrade_noengine.result306
-rw-r--r--mysql-test/main/mysql_upgrade_ssl.result102
-rw-r--r--mysql-test/main/mysql_upgrade_view.result322
-rw-r--r--mysql-test/main/mysql_upgrade_view.test1
-rw-r--r--mysql-test/main/mysqladmin.result11
-rw-r--r--mysql-test/main/mysqladmin.test47
-rw-r--r--mysql-test/main/mysqlbinlog.result24
-rw-r--r--mysql-test/main/mysqlbinlog_row_compressed.result174
-rw-r--r--mysql-test/main/mysqlbinlog_row_compressed.test2
-rw-r--r--mysql-test/main/mysqlbinlog_row_minimal.result176
-rw-r--r--mysql-test/main/mysqlbinlog_row_minimal.test4
-rw-r--r--mysql-test/main/mysqlbinlog_stmt_compressed.result110
-rw-r--r--mysql-test/main/mysqlbinlog_stmt_compressed.test2
-rw-r--r--mysql-test/main/mysqlcheck.result11
-rw-r--r--mysql-test/main/mysqld--help.result28
-rw-r--r--mysql-test/main/mysqldump-max.test2
-rw-r--r--mysql-test/main/mysqldump-system,win.rdiff19
-rw-r--r--mysql-test/main/mysqldump-system.result80
-rw-r--r--mysql-test/main/mysqldump-system.test24
-rw-r--r--mysql-test/main/mysqldump-utf8mb4.result2
-rw-r--r--mysql-test/main/mysqldump.result174
-rw-r--r--mysql-test/main/mysqldump.test4
-rw-r--r--mysql-test/main/mysqlslap.result2
-rw-r--r--mysql-test/main/mysqltest.result26
-rw-r--r--mysql-test/main/mysqltest_cont_on_error.result4
-rw-r--r--mysql-test/main/mysqltest_tracking_info.result6
-rw-r--r--mysql-test/main/mysqltest_tracking_info.test6
-rw-r--r--mysql-test/main/named_pipe.result8
-rw-r--r--mysql-test/main/null.result2
-rw-r--r--mysql-test/main/null.test2
-rw-r--r--mysql-test/main/opt_trace.result497
-rw-r--r--mysql-test/main/opt_trace.test171
-rw-r--r--mysql-test/main/opt_trace_index_merge.result7
-rw-r--r--mysql-test/main/opt_trace_index_merge_innodb.result7
-rw-r--r--mysql-test/main/opt_trace_security.result2
-rw-r--r--mysql-test/main/order_by.result139
-rw-r--r--mysql-test/main/order_by.test35
-rw-r--r--mysql-test/main/order_by_optimizer_innodb.result4
-rw-r--r--mysql-test/main/order_by_optimizer_innodb.test6
-rw-r--r--mysql-test/main/outfile_loaddata.test4
-rw-r--r--mysql-test/main/parser.result70
-rw-r--r--mysql-test/main/parser.test83
-rw-r--r--mysql-test/main/parser_not_embedded.test2
-rw-r--r--mysql-test/main/parser_stack.test4
-rw-r--r--mysql-test/main/partition.result8
-rw-r--r--mysql-test/main/partition.test2
-rw-r--r--mysql-test/main/partition_alter.test11
-rw-r--r--mysql-test/main/partition_exchange.test2
-rw-r--r--mysql-test/main/partition_explicit_prune.test2
-rw-r--r--mysql-test/main/partition_innodb.result5
-rw-r--r--mysql-test/main/partition_innodb.test10
-rw-r--r--mysql-test/main/partition_innodb_plugin.result8
-rw-r--r--mysql-test/main/partition_innodb_plugin.test14
-rw-r--r--mysql-test/main/partition_utf8-debug.result6
-rw-r--r--mysql-test/main/partition_utf8.result2
-rw-r--r--mysql-test/main/plugin.result2
-rw-r--r--mysql-test/main/plugin_auth.result12
-rw-r--r--mysql-test/main/plugin_auth_qa_1.test38
-rw-r--r--mysql-test/main/plugin_auth_qa_2.result18
-rw-r--r--mysql-test/main/plugin_auth_qa_2.test36
-rw-r--r--mysql-test/main/plugin_auth_qa_3.result4
-rw-r--r--mysql-test/main/plugin_auth_qa_3.test8
-rw-r--r--mysql-test/main/pool_of_threads.result8
-rw-r--r--mysql-test/main/ps.result24
-rw-r--r--mysql-test/main/ps.test29
-rw-r--r--mysql-test/main/ps_1general.result13
-rw-r--r--mysql-test/main/ps_1general.test13
-rw-r--r--mysql-test/main/ps_ddl.result8
-rw-r--r--mysql-test/main/ps_ddl.test10
-rw-r--r--mysql-test/main/ps_ddl1.test2
-rw-r--r--mysql-test/main/ps_missed_cmds.result797
-rw-r--r--mysql-test/main/ps_missed_cmds.test634
-rw-r--r--mysql-test/main/ps_missed_cmds_bin_prot.result244
-rw-r--r--mysql-test/main/ps_missed_cmds_bin_prot.test269
-rw-r--r--mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.result21
-rw-r--r--mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.test40
-rw-r--r--mysql-test/main/ps_missed_cmds_not_embedded.result61
-rw-r--r--mysql-test/main/ps_missed_cmds_not_embedded.test85
-rw-r--r--mysql-test/main/query_cache.result33
-rw-r--r--mysql-test/main/query_cache.test32
-rw-r--r--mysql-test/main/query_cache_ps_no_prot.result10
-rw-r--r--mysql-test/main/query_cache_ps_no_prot.test2
-rw-r--r--mysql-test/main/query_cache_ps_ps_prot.result10
-rw-r--r--mysql-test/main/query_cache_ps_ps_prot.test2
-rw-r--r--mysql-test/main/range_vs_index_merge.result2
-rw-r--r--mysql-test/main/range_vs_index_merge.test7
-rw-r--r--mysql-test/main/range_vs_index_merge_innodb.result2
-rw-r--r--mysql-test/main/repair.result16
-rw-r--r--mysql-test/main/reset_connection.result4
-rw-r--r--mysql-test/main/reset_connection.test4
-rw-r--r--mysql-test/main/rowid_filter_innodb.result10
-rw-r--r--mysql-test/main/rowid_filter_innodb.test14
-rw-r--r--mysql-test/main/rowid_order_innodb.result3
-rw-r--r--mysql-test/main/rowid_order_innodb.test4
-rw-r--r--mysql-test/main/rownum.result986
-rw-r--r--mysql-test/main/rownum.test565
-rw-r--r--mysql-test/main/schema.result1
-rw-r--r--mysql-test/main/select.result8
-rw-r--r--mysql-test/main/select.test2
-rw-r--r--mysql-test/main/select_jcl6.result8
-rw-r--r--mysql-test/main/select_pkeycache.result8
-rw-r--r--mysql-test/main/selectivity_innodb.result3
-rw-r--r--mysql-test/main/selectivity_innodb.test3
-rw-r--r--mysql-test/main/selectivity_no_engine.result2
-rw-r--r--mysql-test/main/show_check.result68
-rw-r--r--mysql-test/main/show_check.test2
-rw-r--r--mysql-test/main/show_explain.result14
-rw-r--r--mysql-test/main/show_explain.test4
-rw-r--r--mysql-test/main/show_function_with_pad_char_to_full_length.result4
-rw-r--r--mysql-test/main/show_function_with_pad_char_to_full_length.test4
-rw-r--r--mysql-test/main/signal.result2
-rw-r--r--mysql-test/main/signal.test3
-rw-r--r--mysql-test/main/signal_demo1.test4
-rw-r--r--mysql-test/main/skip_grants.result2
-rw-r--r--mysql-test/main/skip_grants.test6
-rw-r--r--mysql-test/main/sp-anchor-row-type-cursor.test3
-rw-r--r--mysql-test/main/sp-anchor-row-type-table.test3
-rw-r--r--mysql-test/main/sp-anchor-type.result8
-rw-r--r--mysql-test/main/sp-anchor-type.test2
-rw-r--r--mysql-test/main/sp-big.test4
-rw-r--r--mysql-test/main/sp-cursor.result12
-rw-r--r--mysql-test/main/sp-cursor.test21
-rw-r--r--mysql-test/main/sp-dynamic.result16
-rw-r--r--mysql-test/main/sp-dynamic.test6
-rw-r--r--mysql-test/main/sp-error.result4
-rw-r--r--mysql-test/main/sp-error.test11
-rw-r--r--mysql-test/main/sp-row.result35
-rw-r--r--mysql-test/main/sp-row.test9
-rw-r--r--mysql-test/main/sp-security.result1
-rw-r--r--mysql-test/main/sp-security.test1
-rw-r--r--mysql-test/main/sp-ucs2.result4
-rw-r--r--mysql-test/main/sp-vars.result12
-rw-r--r--mysql-test/main/sp.result95
-rw-r--r--mysql-test/main/sp.test21
-rw-r--r--mysql-test/main/sp2.result8
-rw-r--r--mysql-test/main/sp2.test2
-rw-r--r--mysql-test/main/sp_gis.test4
-rw-r--r--mysql-test/main/sp_notembedded.test2
-rw-r--r--mysql-test/main/sp_trans.test2
-rw-r--r--mysql-test/main/sp_trans_log.test2
-rw-r--r--mysql-test/main/ssl-big.test3
-rw-r--r--mysql-test/main/ssl.result12
-rw-r--r--mysql-test/main/ssl.test2
-rw-r--r--mysql-test/main/ssl_compress.result8
-rw-r--r--mysql-test/main/ssl_crl.test2
-rw-r--r--mysql-test/main/ssl_timeout.result2
-rw-r--r--mysql-test/main/stat_tables.result60
-rw-r--r--mysql-test/main/stat_tables_innodb.result60
-rw-r--r--mysql-test/main/stat_tables_par.result4
-rw-r--r--mysql-test/main/stat_tables_par_innodb.result4
-rw-r--r--mysql-test/main/status.result6
-rw-r--r--mysql-test/main/status.test2
-rw-r--r--mysql-test/main/strings.result20
-rw-r--r--mysql-test/main/strings.test26
-rw-r--r--mysql-test/main/subselect-crash_15755.result7
-rw-r--r--mysql-test/main/subselect-crash_15755.test6
-rw-r--r--mysql-test/main/subselect.test10
-rw-r--r--mysql-test/main/subselect4.result2
-rw-r--r--mysql-test/main/subselect4.test2
-rw-r--r--mysql-test/main/subselect_exists2in_costmat.test2
-rw-r--r--mysql-test/main/subselect_innodb.result3
-rw-r--r--mysql-test/main/subselect_innodb.test4
-rw-r--r--mysql-test/main/subselect_mat_cost.test2
-rw-r--r--mysql-test/main/system_mysql_db.result168
-rw-r--r--mysql-test/main/system_mysql_db_fix40123.result170
-rw-r--r--mysql-test/main/system_mysql_db_fix40123.test2
-rw-r--r--mysql-test/main/system_mysql_db_fix50030.result170
-rw-r--r--mysql-test/main/system_mysql_db_fix50030.test2
-rw-r--r--mysql-test/main/system_mysql_db_fix50117.result170
-rw-r--r--mysql-test/main/system_mysql_db_fix50117.test2
-rw-r--r--mysql-test/main/table_value_constr.test2
-rw-r--r--mysql-test/main/tc_heuristic_recover.result4
-rw-r--r--mysql-test/main/tc_heuristic_recover.test4
-rw-r--r--mysql-test/main/temp_table.result12
-rw-r--r--mysql-test/main/temp_table.test14
-rw-r--r--mysql-test/main/temporal_literal.test2
-rw-r--r--mysql-test/main/trigger-compat.result40
-rw-r--r--mysql-test/main/trigger.result46
-rw-r--r--mysql-test/main/trigger.test51
-rw-r--r--mysql-test/main/type_bit_innodb.result4
-rw-r--r--mysql-test/main/type_bit_innodb.test9
-rw-r--r--mysql-test/main/type_blob.result4
-rw-r--r--mysql-test/main/type_blob.test4
-rw-r--r--mysql-test/main/type_enum.result2
-rw-r--r--mysql-test/main/type_hex_hybrid.result4
-rw-r--r--mysql-test/main/type_nchar.result14
-rw-r--r--mysql-test/main/type_newdecimal.test2
-rw-r--r--mysql-test/main/type_ranges.result30
-rw-r--r--mysql-test/main/type_year.test4
-rw-r--r--mysql-test/main/union.result16
-rw-r--r--mysql-test/main/union.test5
-rw-r--r--mysql-test/main/update_use_source.result2
-rw-r--r--mysql-test/main/update_use_source.test2
-rw-r--r--mysql-test/main/upgrade.result2
-rw-r--r--mysql-test/main/upgrade_MDEV-19650.result102
-rw-r--r--mysql-test/main/upgrade_MDEV-23102-1.result204
-rw-r--r--mysql-test/main/upgrade_MDEV-23102-2.result204
-rw-r--r--mysql-test/main/upgrade_geometrycolumn_procedure_definer.result102
-rw-r--r--mysql-test/main/upgrade_mdev_24363.result102
-rw-r--r--mysql-test/main/user_var.result9
-rw-r--r--mysql-test/main/user_var.test5
-rw-r--r--mysql-test/main/userstat.test2
-rw-r--r--mysql-test/main/variables.result10
-rw-r--r--mysql-test/main/view.result40
-rw-r--r--mysql-test/main/view.test47
-rw-r--r--mysql-test/main/view_grant.result15
-rw-r--r--mysql-test/main/view_grant.test23
-rw-r--r--mysql-test/main/win.result7
-rw-r--r--mysql-test/main/win_big-mdev-11697.result2
-rw-r--r--mysql-test/main/win_big-mdev-11697.test2
-rw-r--r--mysql-test/main/xa.result3
-rw-r--r--mysql-test/main/xa.test3
-rw-r--r--mysql-test/main/xa_prepared_binlog_off.result11
-rwxr-xr-xmysql-test/mariadb-stress-test.pl (renamed from mysql-test/mysql-stress-test.pl)0
-rwxr-xr-xmysql-test/mariadb-test-run.pl (renamed from mysql-test/mysql-test-run.pl)73
-rw-r--r--mysql-test/mtr.out-of-source2
-rw-r--r--mysql-test/std_data/cacert.pem166
-rw-r--r--mysql-test/std_data/cakey.pem76
-rw-r--r--mysql-test/std_data/capath/3106f582.079
-rw-r--r--mysql-test/std_data/capath/ed1f42db.0166
-rw-r--r--mysql-test/std_data/client-cert.crl23
-rw-r--r--mysql-test/std_data/client-cert.pem156
-rw-r--r--mysql-test/std_data/client-certkey.pem230
-rw-r--r--mysql-test/std_data/client-key.pem74
-rw-r--r--mysql-test/std_data/crldir/ed1f42db.r023
-rw-r--r--mysql-test/std_data/ldml/Index.xml36
-rw-r--r--mysql-test/std_data/mysql_install_db_win.ini12
-rw-r--r--mysql-test/std_data/server-cert.crl23
-rw-r--r--mysql-test/std_data/server-cert.pem156
-rw-r--r--mysql-test/std_data/server-key.pem74
-rw-r--r--mysql-test/std_data/server-new-cert.pem156
-rw-r--r--mysql-test/std_data/server-new-key.pem74
-rw-r--r--mysql-test/std_data/server8k-cert.pem267
-rw-r--r--mysql-test/std_data/server8k-key.pem194
-rw-r--r--mysql-test/std_data/serversan-cert.pem148
-rw-r--r--mysql-test/std_data/serversan-key.pem76
-rw-r--r--mysql-test/suite.pm6
-rw-r--r--mysql-test/suite/archive/archive-big.test2
-rw-r--r--mysql-test/suite/archive/discover.result2
-rw-r--r--mysql-test/suite/archive/discover.test4
-rw-r--r--mysql-test/suite/atomic/README.txt19
-rw-r--r--mysql-test/suite/atomic/alter_table.opt1
-rw-r--r--mysql-test/suite/atomic/alter_table.result3135
-rw-r--r--mysql-test/suite/atomic/alter_table.test193
-rw-r--r--mysql-test/suite/atomic/alter_table_aria.result1741
-rw-r--r--mysql-test/suite/atomic/alter_table_aria.test7
-rw-r--r--mysql-test/suite/atomic/alter_table_big_query.result34
-rw-r--r--mysql-test/suite/atomic/alter_table_big_query.test119
-rw-r--r--mysql-test/suite/atomic/alter_table_rocksdb.result1764
-rw-r--r--mysql-test/suite/atomic/alter_table_rocksdb.test6
-rw-r--r--mysql-test/suite/atomic/alter_table_trigger.result131
-rw-r--r--mysql-test/suite/atomic/alter_table_trigger.test149
-rw-r--r--mysql-test/suite/atomic/create_table.result537
-rw-r--r--mysql-test/suite/atomic/create_table.test140
-rw-r--r--mysql-test/suite/atomic/create_trigger.result324
-rw-r--r--mysql-test/suite/atomic/create_trigger.test137
-rw-r--r--mysql-test/suite/atomic/create_trigger2.result94
-rw-r--r--mysql-test/suite/atomic/create_trigger2.test89
-rw-r--r--mysql-test/suite/atomic/create_view.result82
-rw-r--r--mysql-test/suite/atomic/create_view.test98
-rw-r--r--mysql-test/suite/atomic/drop_db.result96
-rw-r--r--mysql-test/suite/atomic/drop_db.test121
-rw-r--r--mysql-test/suite/atomic/drop_db_long_names.opt1
-rw-r--r--mysql-test/suite/atomic/drop_db_long_names.result12
-rw-r--r--mysql-test/suite/atomic/drop_db_long_names.test117
-rw-r--r--mysql-test/suite/atomic/drop_sequence.result106
-rw-r--r--mysql-test/suite/atomic/drop_sequence.test128
-rw-r--r--mysql-test/suite/atomic/drop_table.result274
-rw-r--r--mysql-test/suite/atomic/drop_table.test125
-rw-r--r--mysql-test/suite/atomic/drop_trigger.result50
-rw-r--r--mysql-test/suite/atomic/drop_trigger.test132
-rw-r--r--mysql-test/suite/atomic/drop_view.result21
-rw-r--r--mysql-test/suite/atomic/drop_view.test110
-rw-r--r--mysql-test/suite/atomic/rename_case.result52
-rw-r--r--mysql-test/suite/atomic/rename_case.test54
-rw-r--r--mysql-test/suite/atomic/rename_combinations.result157
-rw-r--r--mysql-test/suite/atomic/rename_combinations.test171
-rw-r--r--mysql-test/suite/atomic/rename_table.result150
-rw-r--r--mysql-test/suite/atomic/rename_table.test156
-rw-r--r--mysql-test/suite/atomic/rename_table_binlog.result147
-rw-r--r--mysql-test/suite/atomic/rename_table_binlog.test170
-rw-r--r--mysql-test/suite/atomic/rename_trigger.result150
-rw-r--r--mysql-test/suite/atomic/rename_trigger.test161
-rw-r--r--mysql-test/suite/atomic/rename_view.result23
-rw-r--r--mysql-test/suite/atomic/rename_view.test85
-rw-r--r--mysql-test/suite/atomic/rename_view2.result8
-rw-r--r--mysql-test/suite/atomic/rename_view2.test89
-rw-r--r--mysql-test/suite/binlog/include/binlog_expire_logs_seconds.inc109
-rw-r--r--mysql-test/suite/binlog/include/binlog_expire_warnings.inc103
-rw-r--r--mysql-test/suite/binlog/include/binlog_index.inc2
-rw-r--r--mysql-test/suite/binlog/include/binlog_row_annotate.inc12
-rw-r--r--mysql-test/suite/binlog/include/ctype_ucs_binlog.test4
-rw-r--r--mysql-test/suite/binlog/include/mysqlbinlog_row_engine.inc8
-rw-r--r--mysql-test/suite/binlog/r/binlog_1pc.result34
-rw-r--r--mysql-test/suite/binlog/r/binlog_database.result1
-rw-r--r--mysql-test/suite/binlog/r/binlog_expire_logs_seconds.result150
-rw-r--r--mysql-test/suite/binlog/r/binlog_expire_warnings.result134
-rw-r--r--mysql-test/suite/binlog/r/binlog_index.result14
-rw-r--r--mysql-test/suite/binlog/r/binlog_mdev342.result7
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result646
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result23
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result60
-rw-r--r--mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result28
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_annotate.result100
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_binlog.result2
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result18
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result40
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_binlog.result5
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_blackhole.result6
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result30
-rw-r--r--mysql-test/suite/binlog/r/binlog_table_map_optional_metadata.result10
-rw-r--r--mysql-test/suite/binlog/r/binlog_trigger.result14
-rw-r--r--mysql-test/suite/binlog/r/binlog_truncate_active_log.result239
-rw-r--r--mysql-test/suite/binlog/r/binlog_truncate_multi_engine.result191
-rw-r--r--mysql-test/suite/binlog/r/binlog_truncate_multi_log.result55
-rw-r--r--mysql-test/suite/binlog/r/binlog_truncate_multi_log_unsafe.result60
-rw-r--r--mysql-test/suite/binlog/r/binlog_xa_prepared_disconnect.result14
-rw-r--r--mysql-test/suite/binlog/r/binlog_xa_recover_using_new_server_id.result17
-rw-r--r--mysql-test/suite/binlog/r/flashback.result4
-rw-r--r--mysql-test/suite/binlog/t/binlog_1pc.test39
-rw-r--r--mysql-test/suite/binlog/t/binlog_expire_logs_seconds.test122
-rw-r--r--mysql-test/suite/binlog/t/binlog_expire_warnings.test200
-rw-r--r--mysql-test/suite/binlog/t/binlog_mdev342.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test18
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test6
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_binlog.test2
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_binlog.test2
-rw-r--r--mysql-test/suite/binlog/t/binlog_trigger.test28
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_active_log.inc57
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_active_log.test103
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_multi_engine.inc73
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_multi_engine.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_multi_engine.test59
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_multi_log.test77
-rw-r--r--mysql-test/suite/binlog/t/binlog_truncate_multi_log_unsafe.test120
-rw-r--r--mysql-test/suite/binlog/t/binlog_xa_prepared.inc4
-rw-r--r--mysql-test/suite/binlog/t/binlog_xa_recover_using_new_server_id.test44
-rw-r--r--mysql-test/suite/binlog/t/flashback.test4
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_index.result14
-rw-r--r--mysql-test/suite/binlog_encryption/binlog_row_annotate.result50
-rw-r--r--mysql-test/suite/binlog_encryption/multisource.result20
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_gco_wait_kill.result6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result1
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result10
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result6
-rw-r--r--mysql-test/suite/binlog_encryption/rpl_sync.result4
-rw-r--r--mysql-test/suite/client/mariadb-conv-utf16.result4
-rw-r--r--mysql-test/suite/client/mariadb-conv.result4
-rw-r--r--mysql-test/suite/compat/README.txt7
-rw-r--r--mysql-test/suite/compat/oracle/r/anonymous_derived.result86
-rw-r--r--mysql-test/suite/compat/oracle/r/column_compression.result40
-rw-r--r--mysql-test/suite/compat/oracle/r/empty_string_literal.result10
-rw-r--r--mysql-test/suite/compat/oracle/r/func_add_months.result91
-rw-r--r--mysql-test/suite/compat/oracle/r/func_misc.result2
-rw-r--r--mysql-test/suite/compat/oracle/r/func_to_char.result441
-rw-r--r--mysql-test/suite/compat/oracle/r/minus.result48
-rw-r--r--mysql-test/suite/compat/oracle/r/parser.result62
-rw-r--r--mysql-test/suite/compat/oracle/r/sp-package.result2
-rw-r--r--mysql-test/suite/compat/oracle/r/sp-param.result8
-rw-r--r--mysql-test/suite/compat/oracle/r/sp-row.result36
-rw-r--r--mysql-test/suite/compat/oracle/r/sp.result8
-rw-r--r--mysql-test/suite/compat/oracle/t/anonymous_derived.test56
-rw-r--r--mysql-test/suite/compat/oracle/t/func_add_months.test38
-rw-r--r--mysql-test/suite/compat/oracle/t/func_to_char.test226
-rw-r--r--mysql-test/suite/compat/oracle/t/minus.test44
-rw-r--r--mysql-test/suite/compat/oracle/t/parser.test76
-rw-r--r--mysql-test/suite/compat/oracle/t/sp-package-innodb.test4
-rw-r--r--mysql-test/suite/compat/oracle/t/sp-package.test4
-rw-r--r--mysql-test/suite/compat/oracle/t/sp-row.test9
-rw-r--r--mysql-test/suite/compat/oracle/t/update_innodb.test3
-rw-r--r--mysql-test/suite/encryption/include/have_example_key_management_plugin.opt1
-rw-r--r--mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations2
-rw-r--r--mysql-test/suite/encryption/r/corrupted_during_recovery.result2
-rw-r--r--mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff34
-rw-r--r--mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff34
-rw-r--r--mysql-test/suite/encryption/r/innodb-checksum-algorithm.result497
-rw-r--r--mysql-test/suite/encryption/r/innodb-redo-nokeys.result3
-rw-r--r--mysql-test/suite/encryption/r/innodb_encrypt_log.result6
-rw-r--r--mysql-test/suite/encryption/r/tempfiles_encrypted.result7
-rw-r--r--mysql-test/suite/encryption/t/corrupted_during_recovery.combinations2
-rw-r--r--mysql-test/suite/encryption/t/corrupted_during_recovery.test3
-rw-r--r--mysql-test/suite/encryption/t/encryption_key_corruption.combinations6
-rw-r--r--mysql-test/suite/encryption/t/innodb-checksum-algorithm.test108
-rw-r--r--mysql-test/suite/encryption/t/innodb-compressed-blob.combinations4
-rw-r--r--mysql-test/suite/encryption/t/innodb-encryption-alter.test4
-rw-r--r--mysql-test/suite/encryption/t/innodb-redo-nokeys.test3
-rw-r--r--mysql-test/suite/encryption/t/innodb_encrypt_log.test3
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_character_set.result210
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_character_set_collate.result64
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result148
-rw-r--r--mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result1244
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_character_set.result54
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_character_set_collate.result34
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_drop.result4
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_error.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_error_reserved.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/db_create_if_not_exists.result2
-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/rpl_loaddata_m.result1
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_server_id1.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_sp.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/se_join_default.result2952
-rw-r--r--mysql-test/suite/engines/funcs/t/se_join_default.test210
-rw-r--r--mysql-test/suite/funcs_1/datadict/is_routines.inc6
-rw-r--r--mysql-test/suite/funcs_1/datadict/is_views.inc4
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb2.inc2
-rw-r--r--mysql-test/suite/funcs_1/include/innodb_tb4.inc2
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb2.inc5
-rw-r--r--mysql-test/suite/funcs_1/include/memory_tb4.inc2
-rw-r--r--mysql-test/suite/funcs_1/r/charset_collation.result16
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_func_view.result8
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_0102.result2
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_0407.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_character_sets.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_collations.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_column_privileges.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns.result4
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is.result1238
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is_embedded.result1238
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql.result532
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result500
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_events.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_key_column_usage.result3
-rw-r--r--mysql-test/suite/funcs_1/r/is_key_column_usage_embedded.result3
-rw-r--r--mysql-test/suite/funcs_1/r/is_routines.result14
-rw-r--r--mysql-test/suite/funcs_1/r/is_routines_embedded.result32
-rw-r--r--mysql-test/suite/funcs_1/r/is_schema_privileges.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_schemata.result5
-rw-r--r--mysql-test/suite/funcs_1/r/is_schemata_embedded.result5
-rw-r--r--mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result4
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics.result108
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_is.result4
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql.result156
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result308
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints.result33
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_privileges.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_embedded.result6
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_is.result176
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_is_embedded.result176
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql.result58
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result116
-rw-r--r--mysql-test/suite/funcs_1/r/is_triggers.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_triggers_embedded.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_user_privileges.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_views.result11
-rw-r--r--mysql-test/suite/funcs_1/r/is_views_embedded.result11
-rw-r--r--mysql-test/suite/funcs_1/r/memory_func_view.result8
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_0102.result2
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_0407.result2
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_func_view.result8
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_0102.result2
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_0407.result2
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result4
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_ps.result4
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_val_no_prot.result2
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_val_ps.result2
-rw-r--r--mysql-test/suite/funcs_1/r/storedproc.result4
-rw-r--r--mysql-test/suite/funcs_1/t/charset_collation.test2
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_memory.test4
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_myisam.test4
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_myisam_embedded.test1
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_views-big.test6
-rw-r--r--mysql-test/suite/funcs_1/t/storedproc.test2
-rw-r--r--mysql-test/suite/funcs_1/triggers/triggers_0102.inc2
-rw-r--r--mysql-test/suite/funcs_2/charset/charset_master.test20
-rw-r--r--mysql-test/suite/funcs_2/r/innodb_charset.result80
-rw-r--r--mysql-test/suite/funcs_2/r/memory_charset.result80
-rw-r--r--mysql-test/suite/funcs_2/r/myisam_charset.result80
-rw-r--r--mysql-test/suite/galera/disabled.def5
-rw-r--r--mysql-test/suite/galera/include/galera_sst_restore.inc4
-rw-r--r--mysql-test/suite/galera/r/MW-416.result1
-rw-r--r--mysql-test/suite/galera/r/galera_UK_conflict.result1
-rw-r--r--mysql-test/suite/galera/r/galera_admin.result61
-rw-r--r--mysql-test/suite/galera/r/galera_alter_engine_myisam.result15
-rw-r--r--mysql-test/suite/galera/r/galera_bf_kill_debug.result54
-rw-r--r--mysql-test/suite/galera/r/galera_binlog_checksum.result5
-rw-r--r--mysql-test/suite/galera/r/galera_can_run_toi.result5
-rw-r--r--mysql-test/suite/galera/r/galera_defaults.result7
-rw-r--r--mysql-test/suite/galera/r/galera_disallow_local_gtid.result99
-rw-r--r--mysql-test/suite/galera/r/galera_flush_local.result49
-rw-r--r--mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result14
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff19
-rw-r--r--mysql-test/suite/galera/r/galera_ist_mysqldump,release.rdiff15
-rw-r--r--mysql-test/suite/galera/r/galera_myisam_transactions.result4
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff19
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump,release.rdiff15
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,debug.rdiff19
-rw-r--r--mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,release.rdiff15
-rw-r--r--mysql-test/suite/galera/r/galera_strict_require_innodb.result120
-rw-r--r--mysql-test/suite/galera/r/galera_strict_require_primary_key.result209
-rw-r--r--mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result16
-rw-r--r--mysql-test/suite/galera/r/galera_var_replicate_aria_off.result15
-rw-r--r--mysql-test/suite/galera/r/galera_var_replicate_aria_on.result272
-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.result98
-rw-r--r--mysql-test/suite/galera/r/galera_var_wsrep_mode.result79
-rw-r--r--mysql-test/suite/galera/r/galera_var_wsrep_strict_ddl.result26
-rw-r--r--mysql-test/suite/galera/r/galera_wsrep_mode.result16
-rw-r--r--mysql-test/suite/galera/r/mariadb_tzinfo_to_sql.result271
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#33,debug.rdiff16
-rw-r--r--mysql-test/suite/galera/r/mysql-wsrep#33,release.rdiff15
-rw-r--r--mysql-test/suite/galera/r/wsrep_mode_strict_replication.result (renamed from mysql-test/suite/galera/r/wsrep_strict_ddl.result)60
-rw-r--r--mysql-test/suite/galera/t/binlog_checksum.test1
-rw-r--r--mysql-test/suite/galera/t/galera_UK_conflict.test18
-rw-r--r--mysql-test/suite/galera/t/galera_admin.test80
-rw-r--r--mysql-test/suite/galera/t/galera_alter_engine_myisam.test28
-rw-r--r--mysql-test/suite/galera/t/galera_bf_kill_debug.cnf7
-rw-r--r--mysql-test/suite/galera/t/galera_bf_kill_debug.test140
-rw-r--r--mysql-test/suite/galera/t/galera_binlog_checksum.test10
-rw-r--r--mysql-test/suite/galera/t/galera_can_run_toi.test6
-rw-r--r--mysql-test/suite/galera/t/galera_defaults.test4
-rw-r--r--mysql-test/suite/galera/t/galera_disallow_local_gtid.test104
-rw-r--r--mysql-test/suite/galera/t/galera_flush_local.test24
-rw-r--r--mysql-test/suite/galera/t/galera_load_data.cnf2
-rw-r--r--mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf1
-rw-r--r--mysql-test/suite/galera/t/galera_strict_require_innodb.test117
-rw-r--r--mysql-test/suite/galera/t/galera_strict_require_primary_key.test143
-rw-r--r--mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test14
-rw-r--r--mysql-test/suite/galera/t/galera_var_auto_inc_control_off.test2
-rw-r--r--mysql-test/suite/galera/t/galera_var_replicate_aria_off.test17
-rw-r--r--mysql-test/suite/galera/t/galera_var_replicate_aria_on.test237
-rw-r--r--mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test10
-rw-r--r--mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test75
-rw-r--r--mysql-test/suite/galera/t/galera_var_wsrep_mode.test65
-rw-r--r--mysql-test/suite/galera/t/galera_var_wsrep_strict_ddl.test13
-rw-r--r--mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test4
-rw-r--r--mysql-test/suite/galera/t/galera_wsrep_mode.test25
-rw-r--r--mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.opt1
-rw-r--r--mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.test235
-rw-r--r--mysql-test/suite/galera/t/wsrep_mode_strict_replication.test (renamed from mysql-test/suite/galera/t/wsrep_strict_ddl.test)16
-rw-r--r--mysql-test/suite/galera_3nodes/disabled.def7
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_dynamic_protocol.result24
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result4
-rw-r--r--mysql-test/suite/galera_3nodes/r/galera_join_with_cc_A.result3
-rw-r--r--mysql-test/suite/galera_3nodes/t/GAL-501.test1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.cnf16
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.test65
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test1
-rw-r--r--mysql-test/suite/galera_3nodes/t/galera_join_with_cc_A.test8
-rw-r--r--mysql-test/suite/galera_3nodes_sr/r/GCF-832.result2
-rw-r--r--mysql-test/suite/galera_sr/r/MDEV-18585.result40
-rw-r--r--mysql-test/suite/galera_sr/r/MDEV-27615.result2
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_cc_master.result2
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_myisam.result6
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_mysqldump_sst.result4
-rw-r--r--mysql-test/suite/galera_sr/t/MDEV-18585.test5
-rw-r--r--mysql-test/suite/galera_sr/t/galera_sr_myisam.test8
-rw-r--r--mysql-test/suite/gcol/inc/gcol_keys.inc2
-rw-r--r--mysql-test/suite/gcol/inc/gcol_select.inc12
-rw-r--r--mysql-test/suite/gcol/inc/gcol_view.inc14
-rw-r--r--mysql-test/suite/gcol/r/gcol_column_def_options_innodb.result4
-rw-r--r--mysql-test/suite/gcol/r/gcol_column_def_options_myisam.result4
-rw-r--r--mysql-test/suite/gcol/r/gcol_keys_innodb.result2
-rw-r--r--mysql-test/suite/gcol/r/gcol_keys_myisam.result2
-rw-r--r--mysql-test/suite/gcol/r/gcol_select_myisam.result32
-rw-r--r--mysql-test/suite/gcol/r/gcol_view_innodb.result24
-rw-r--r--mysql-test/suite/gcol/r/gcol_view_myisam.result24
-rw-r--r--mysql-test/suite/gcol/r/innodb_virtual_debug.result2
-rw-r--r--mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result3
-rw-r--r--mysql-test/suite/gcol/r/innodb_virtual_stats.result52
-rw-r--r--mysql-test/suite/gcol/t/innodb_virtual_basic.test7
-rw-r--r--mysql-test/suite/gcol/t/innodb_virtual_blob.test11
-rw-r--r--mysql-test/suite/gcol/t/innodb_virtual_debug.test2
-rw-r--r--mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test3
-rw-r--r--mysql-test/suite/gcol/t/innodb_virtual_index.test7
-rw-r--r--mysql-test/suite/handler/handler.inc2
-rw-r--r--mysql-test/suite/heap/heap.result4
-rw-r--r--mysql-test/suite/heap/heap_btree.result4
-rw-r--r--mysql-test/suite/heap/heap_hash.result32
-rw-r--r--mysql-test/suite/innodb/include/show_i_s_tables.inc1
-rw-r--r--mysql-test/suite/innodb/include/show_i_s_tablespaces.inc18
-rw-r--r--mysql-test/suite/innodb/r/alter_candidate_key.result2
-rw-r--r--mysql-test/suite/innodb/r/alter_copy.result5
-rw-r--r--mysql-test/suite/innodb/r/alter_crash.result45
-rw-r--r--mysql-test/suite/innodb/r/alter_crash_rebuild.result19
-rw-r--r--mysql-test/suite/innodb/r/alter_dml_apply.result39
-rw-r--r--mysql-test/suite/innodb/r/alter_foreign_crash.result14
-rw-r--r--mysql-test/suite/innodb/r/alter_kill.result2
-rw-r--r--mysql-test/suite/innodb/r/alter_mdl_timeout.result2
-rw-r--r--mysql-test/suite/innodb/r/alter_not_null_debug,STRICT.rdiff27
-rw-r--r--mysql-test/suite/innodb/r/alter_partitioned.result2
-rw-r--r--mysql-test/suite/innodb/r/binlog_consistent.result6
-rw-r--r--mysql-test/suite/innodb/r/create_table_insert_skip_locked.result72
-rw-r--r--mysql-test/suite/innodb/r/ddl_purge.result1
-rw-r--r--mysql-test/suite/innodb/r/deadlock_detect,ON.rdiff11
-rw-r--r--mysql-test/suite/innodb/r/deadlock_detect.result16
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_compatibility.result7
-rw-r--r--mysql-test/suite/innodb/r/default_row_format_create.result3
-rw-r--r--mysql-test/suite/innodb/r/doublewrite.result27
-rw-r--r--mysql-test/suite/innodb/r/drop_table_background.result25
-rw-r--r--mysql-test/suite/innodb/r/dropdb.result13
-rw-r--r--mysql-test/suite/innodb/r/evict_tables_on_commit_debug.result9
-rw-r--r--mysql-test/suite/innodb/r/foreign_key.result56
-rw-r--r--mysql-test/suite/innodb/r/group_commit.result6
-rw-r--r--mysql-test/suite/innodb/r/group_commit_no_optimize_thread.result6
-rw-r--r--mysql-test/suite/innodb/r/ibuf_delete.result49
-rw-r--r--mysql-test/suite/innodb/r/import_bugs.result14
-rw-r--r--mysql-test/suite/innodb/r/information_schema_grants.result27
-rw-r--r--mysql-test/suite/innodb/r/innodb-16k.result11
-rw-r--r--mysql-test/suite/innodb/r/innodb-32k.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-debug.result41
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-table.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb-alter-tempfile.result18
-rw-r--r--mysql-test/suite/innodb/r/innodb-blob.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb-dict.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb-fk.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-debug.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online-fk.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb-index-online.result136
-rw-r--r--mysql-test/suite/innodb/r/innodb-index.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb-isolation.result32
-rw-r--r--mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result110
-rw-r--r--mysql-test/suite/innodb/r/innodb-lock.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb-system-table-view.result51
-rw-r--r--mysql-test/suite/innodb/r/innodb-table-online.result138
-rw-r--r--mysql-test/suite/innodb/r/innodb-truncate.result15
-rw-r--r--mysql-test/suite/innodb/r/innodb-virtual-columns.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522-debug.result15
-rw-r--r--mysql-test/suite/innodb/r/innodb-wl5522.result1
-rw-r--r--mysql-test/suite/innodb/r/innodb.result36
-rw-r--r--mysql-test/suite/innodb/r/innodb_blob_truncate.result17
-rw-r--r--mysql-test/suite/innodb/r/innodb_buffer_pool_resize_bigtest.result14
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug12400341.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug84958.result2
-rw-r--r--mysql-test/suite/innodb/r/innodb_ctype_ldml.result50
-rw-r--r--mysql-test/suite/innodb/r/innodb_ctype_utf8.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb_defrag_stats.result5
-rw-r--r--mysql-test/suite/innodb/r/innodb_mutexes.result35
-rw-r--r--mysql-test/suite/innodb/r/innodb_mysql.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result42
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats.result10
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result9
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_drop_locked.result42
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result21
-rw-r--r--mysql-test/suite/innodb/r/innodb_stats_rename_table_if_exists.result55
-rw-r--r--mysql-test/suite/innodb/r/innodb_status_variables.result1
-rw-r--r--mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result27
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty.result184
-rw-r--r--mysql-test/suite/innodb/r/insert_into_empty_debug.result32
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_charset.result2
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_crash.result3
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_debug,dynamic.rdiff6
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff2
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_debug.result1
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_import.result3
-rw-r--r--mysql-test/suite/innodb/r/instant_alter_index_rename.result12
-rw-r--r--mysql-test/suite/innodb/r/lock_insert_into_empty.result57
-rw-r--r--mysql-test/suite/innodb/r/log_file.result2
-rw-r--r--mysql-test/suite/innodb/r/log_file_name.result30
-rw-r--r--mysql-test/suite/innodb/r/log_file_size.result4
-rw-r--r--mysql-test/suite/innodb/r/monitor.result66
-rw-r--r--mysql-test/suite/innodb/r/online_table_rebuild.result47
-rw-r--r--mysql-test/suite/innodb/r/partition_locking.result461
-rw-r--r--mysql-test/suite/innodb/r/read_only_recover_committed.result3
-rw-r--r--mysql-test/suite/innodb/r/read_only_recovery.result4
-rw-r--r--mysql-test/suite/innodb/r/rename_table.result22
-rw-r--r--mysql-test/suite/innodb/r/rename_table_debug.result14
-rw-r--r--mysql-test/suite/innodb/r/restart.result3
-rw-r--r--mysql-test/suite/innodb/r/row_format_redundant.result25
-rw-r--r--mysql-test/suite/innodb/r/skip_locked_nowait.result205
-rw-r--r--mysql-test/suite/innodb/r/sp_temp_table.result2
-rw-r--r--mysql-test/suite/innodb/r/stat_tables.result14
-rw-r--r--mysql-test/suite/innodb/r/table_definition_cache_debug.result1
-rw-r--r--mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff132
-rw-r--r--mysql-test/suite/innodb/r/table_flags,32k.rdiff (renamed from mysql-test/suite/innodb/r/table_flags,32k,release.rdiff)8
-rw-r--r--mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff132
-rw-r--r--mysql-test/suite/innodb/r/table_flags,64k.rdiff (renamed from mysql-test/suite/innodb/r/table_flags,64k,release.rdiff)8
-rw-r--r--mysql-test/suite/innodb/r/table_flags,debug.rdiff122
-rw-r--r--mysql-test/suite/innodb/r/table_flags.result50
-rw-r--r--mysql-test/suite/innodb/r/temp_table.result2
-rw-r--r--mysql-test/suite/innodb/r/temporary_table.result46
-rw-r--r--mysql-test/suite/innodb/r/temporary_table_optimization.result9
-rw-r--r--mysql-test/suite/innodb/r/truncate.result12
-rw-r--r--mysql-test/suite/innodb/r/truncate_foreign.result25
-rw-r--r--mysql-test/suite/innodb/r/truncate_missing.result2
-rw-r--r--mysql-test/suite/innodb/r/update_time.result2
-rw-r--r--mysql-test/suite/innodb/r/xa_recovery.result8
-rw-r--r--mysql-test/suite/innodb/t/alter_algorithm.combinations4
-rw-r--r--mysql-test/suite/innodb/t/alter_candidate_key.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_copy.test9
-rw-r--r--mysql-test/suite/innodb/t/alter_crash.test60
-rw-r--r--mysql-test/suite/innodb/t/alter_crash_rebuild.test24
-rw-r--r--mysql-test/suite/innodb/t/alter_dml_apply.opt2
-rw-r--r--mysql-test/suite/innodb/t/alter_dml_apply.test58
-rw-r--r--mysql-test/suite/innodb/t/alter_foreign_crash.test12
-rw-r--r--mysql-test/suite/innodb/t/alter_key_block_size-11757.test7
-rw-r--r--mysql-test/suite/innodb/t/alter_kill.test8
-rw-r--r--mysql-test/suite/innodb/t/alter_mdl_timeout.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_missing_tablespace.test3
-rw-r--r--mysql-test/suite/innodb/t/alter_not_null_debug.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_partitioned.test2
-rw-r--r--mysql-test/suite/innodb/t/alter_rename_existing.test2
-rw-r--r--mysql-test/suite/innodb/t/autoinc_persist.test11
-rw-r--r--mysql-test/suite/innodb/t/binlog_consistent.test11
-rw-r--r--mysql-test/suite/innodb/t/create_table_insert_skip_locked.test73
-rw-r--r--mysql-test/suite/innodb/t/data_types.test4
-rw-r--r--mysql-test/suite/innodb/t/ddl_purge.test4
-rw-r--r--mysql-test/suite/innodb/t/deadlock_detect.combinations7
-rw-r--r--mysql-test/suite/innodb/t/deadlock_detect.test38
-rw-r--r--mysql-test/suite/innodb/t/default_row_format_compatibility.test19
-rw-r--r--mysql-test/suite/innodb/t/default_row_format_create.test10
-rw-r--r--mysql-test/suite/innodb/t/doublewrite.test20
-rw-r--r--mysql-test/suite/innodb/t/drop_table_background.test48
-rw-r--r--mysql-test/suite/innodb/t/dropdb.test15
-rw-r--r--mysql-test/suite/innodb/t/evict_tables_on_commit_debug.test11
-rw-r--r--mysql-test/suite/innodb/t/file_format_defaults.test9
-rw-r--r--mysql-test/suite/innodb/t/foreign_key.test78
-rw-r--r--mysql-test/suite/innodb/t/group_commit.test3
-rw-r--r--mysql-test/suite/innodb/t/group_commit_binlog_pos.test2
-rw-r--r--mysql-test/suite/innodb/t/group_commit_binlog_pos_no_optimize_thread.test2
-rw-r--r--mysql-test/suite/innodb/t/group_commit_no_optimize_thread.test3
-rw-r--r--mysql-test/suite/innodb/t/ibuf_delete.test67
-rw-r--r--mysql-test/suite/innodb/t/import_bugs.test16
-rw-r--r--mysql-test/suite/innodb/t/import_corrupted.test7
-rw-r--r--mysql-test/suite/innodb/t/index_merge_threshold.opt1
-rw-r--r--mysql-test/suite/innodb/t/information_schema_grants.opt3
-rw-r--r--mysql-test/suite/innodb/t/information_schema_grants.test27
-rw-r--r--mysql-test/suite/innodb/t/innodb-16k-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-16k.test10
-rw-r--r--mysql-test/suite/innodb/t/innodb-32k.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-debug.test54
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter-tempfile.test9
-rw-r--r--mysql-test/suite/innodb/t/innodb-alter.test7
-rw-r--r--mysql-test/suite/innodb/t/innodb-dict.test1
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-debug.test10
-rw-r--r--mysql-test/suite/innodb/t/innodb-index-online.test50
-rw-r--r--mysql-test/suite/innodb/t/innodb-index.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-index_ucs2.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-isolation.test26
-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.test5
-rw-r--r--mysql-test/suite/innodb/t/innodb-online-alter-gis.test8
-rw-r--r--mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb-system-table-view.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-table-online.test93
-rw-r--r--mysql-test/suite/innodb/t/innodb-truncate.test16
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522-debug.test3
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5522.test19
-rw-r--r--mysql-test/suite/innodb/t/innodb-wl5980-alter.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_blob_truncate.test32
-rw-r--r--mysql-test/suite/innodb/t/innodb_buffer_pool_resize.test7
-rw-r--r--mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.test28
-rw-r--r--mysql-test/suite/innodb/t/innodb_buffer_pool_resize_with_chunks.test7
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug12400341-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug12400341.test5
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug30919.test4
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug51920.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug53046.test3
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug57252.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug84958.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_ctype_ldml.test6
-rw-r--r--mysql-test/suite/innodb/t/innodb_defrag_stats.test1
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema_tables.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt1
-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_skip_innodb_is_tables.opt4
-rw-r--r--mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test7
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test11
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_drop_locked.test50
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test16
-rw-r--r--mysql-test/suite/innodb/t/innodb_stats_rename_table_if_exists.test21
-rw-r--r--mysql-test/suite/innodb/t/innodb_sys_semaphore_waits-master.opt2
-rw-r--r--mysql-test/suite/innodb/t/innodb_sys_semaphore_waits.test115
-rw-r--r--mysql-test/suite/innodb/t/innodb_trx_weight.test6
-rw-r--r--mysql-test/suite/innodb/t/insert_into_empty.test195
-rw-r--r--mysql-test/suite/innodb/t/insert_into_empty_debug.test36
-rw-r--r--mysql-test/suite/innodb/t/instant_alter.opt2
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_bugs.test8
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_crash.test4
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_debug.combinations2
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_debug.test1
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_import.test5
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_index_rename.test4
-rw-r--r--mysql-test/suite/innodb/t/instant_alter_null.test10
-rw-r--r--mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test5
-rw-r--r--mysql-test/suite/innodb/t/lock_insert_into_empty.test63
-rw-r--r--mysql-test/suite/innodb/t/log_corruption.test9
-rw-r--r--mysql-test/suite/innodb/t/log_file.test5
-rw-r--r--mysql-test/suite/innodb/t/log_file_name.test77
-rw-r--r--mysql-test/suite/innodb/t/log_file_size.test4
-rw-r--r--mysql-test/suite/innodb/t/missing_tablespaces.test1
-rw-r--r--mysql-test/suite/innodb/t/monitor.test22
-rw-r--r--mysql-test/suite/innodb/t/online_table_rebuild.opt2
-rw-r--r--mysql-test/suite/innodb/t/online_table_rebuild.test62
-rw-r--r--mysql-test/suite/innodb/t/page_id_innochecksum.test6
-rw-r--r--mysql-test/suite/innodb/t/partition_locking.test178
-rw-r--r--mysql-test/suite/innodb/t/purge_secondary.opt1
-rw-r--r--mysql-test/suite/innodb/t/read_only_recover_committed.test3
-rw-r--r--mysql-test/suite/innodb/t/read_only_recovery.test6
-rw-r--r--mysql-test/suite/innodb/t/readahead.test3
-rw-r--r--mysql-test/suite/innodb/t/rename_table.opt2
-rw-r--r--mysql-test/suite/innodb/t/rename_table.test24
-rw-r--r--mysql-test/suite/innodb/t/rename_table_debug.test22
-rw-r--r--mysql-test/suite/innodb/t/restart.test12
-rw-r--r--mysql-test/suite/innodb/t/row_format_redundant.test31
-rw-r--r--mysql-test/suite/innodb/t/skip_locked_nowait.test208
-rw-r--r--mysql-test/suite/innodb/t/sp_temp_table.test2
-rw-r--r--mysql-test/suite/innodb/t/stat_tables.test14
-rw-r--r--mysql-test/suite/innodb/t/table_definition_cache_debug.test1
-rw-r--r--mysql-test/suite/innodb/t/table_flags.opt1
-rw-r--r--mysql-test/suite/innodb/t/table_flags.test13
-rw-r--r--mysql-test/suite/innodb/t/temp_table.test2
-rw-r--r--mysql-test/suite/innodb/t/temporary_table.test26
-rw-r--r--mysql-test/suite/innodb/t/temporary_table_optimization.opt2
-rw-r--r--mysql-test/suite/innodb/t/temporary_table_optimization.test5
-rw-r--r--mysql-test/suite/innodb/t/truncate.test21
-rw-r--r--mysql-test/suite/innodb/t/truncate_foreign.test23
-rw-r--r--mysql-test/suite/innodb/t/truncate_missing.test2
-rw-r--r--mysql-test/suite/innodb/t/update-cascade.combinations5
-rw-r--r--mysql-test/suite/innodb/t/update_time.test2
-rw-r--r--mysql-test/suite/innodb/t/xa_recovery.test10
-rw-r--r--mysql-test/suite/innodb_fts/r/crash_recovery.result38
-rw-r--r--mysql-test/suite/innodb_fts/r/fulltext.result14
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result2
-rw-r--r--mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result21
-rw-r--r--mysql-test/suite/innodb_fts/r/misc_debug.result17
-rw-r--r--mysql-test/suite/innodb_fts/r/sync.result2
-rw-r--r--mysql-test/suite/innodb_fts/t/crash_recovery.opt1
-rw-r--r--mysql-test/suite/innodb_fts/t/crash_recovery.test81
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_misc.test9
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test7
-rw-r--r--mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test2
-rw-r--r--mysql-test/suite/innodb_fts/t/misc_debug.test20
-rw-r--r--mysql-test/suite/innodb_gis/r/1.result16
-rw-r--r--mysql-test/suite/innodb_gis/r/alter_spatial_index.result124
-rw-r--r--mysql-test/suite/innodb_gis/r/create_spatial_index.result38
-rw-r--r--mysql-test/suite/innodb_gis/r/geometry.result51
-rw-r--r--mysql-test/suite/innodb_gis/r/gis.result24
-rw-r--r--mysql-test/suite/innodb_gis/r/point_basic.result12
-rw-r--r--mysql-test/suite/innodb_gis/r/point_big.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/rollback.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/rt_precise.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree.result12
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result3
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_multi_pk.result8
-rw-r--r--mysql-test/suite/innodb_gis/r/types.result2
-rw-r--r--mysql-test/suite/innodb_gis/r/update_root.result4
-rw-r--r--mysql-test/suite/innodb_gis/t/1.test14
-rw-r--r--mysql-test/suite/innodb_gis/t/alter_spatial_index.test2
-rw-r--r--mysql-test/suite/innodb_gis/t/create_spatial_index.test7
-rw-r--r--mysql-test/suite/innodb_gis/t/geometry.test62
-rw-r--r--mysql-test/suite/innodb_gis/t/gis.test26
-rw-r--r--mysql-test/suite/innodb_gis/t/point_basic.test12
-rw-r--r--mysql-test/suite/innodb_gis/t/point_big.test2
-rw-r--r--mysql-test/suite/innodb_gis/t/rt_precise.test2
-rw-r--r--mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test1
-rw-r--r--mysql-test/suite/innodb_gis/t/types.test2
-rw-r--r--mysql-test/suite/innodb_gis/t/update_root.test4
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_buffer_page.result4
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_buffer_page_lru.result4
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_buffer_pool_stats.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_cmp.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_cmp_per_index.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_cmp_per_index_reset.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_cmp_reset.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_cmpmem.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_cmpmem_reset.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_ft_being_deleted.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_ft_config.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_ft_default_stopword.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_ft_deleted.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_ft_index_cache.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_ft_index_table.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_lock_waits.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_locks.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_metrics.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_mutexes.opt1
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_mutexes.result8
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_mutexes.test3
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_columns.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_datafiles.opt1
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_datafiles.result6
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_datafiles.test3
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_fields.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_foreign.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_foreign_cols.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_indexes.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.opt1
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.result24
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.test3
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_tables.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_tablespaces.result4
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_tablestats.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_sys_virtual.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_tablespaces_encryption.result2
-rw-r--r--mysql-test/suite/innodb_i_s/innodb_trx.result2
-rw-r--r--mysql-test/suite/innodb_zip/include/innodb-wl6045.inc20
-rw-r--r--mysql-test/suite/innodb_zip/r/index_large_prefix_4k.result68
-rw-r--r--mysql-test/suite/innodb_zip/r/index_large_prefix_8k.result2
-rw-r--r--mysql-test/suite/innodb_zip/r/innochecksum.result83
-rw-r--r--mysql-test/suite/innodb_zip/r/innochecksum_2.result78
-rw-r--r--mysql-test/suite/innodb_zip/r/innochecksum_3.result56
-rw-r--r--mysql-test/suite/innodb_zip/r/innodb-zip.result18
-rw-r--r--mysql-test/suite/innodb_zip/r/page_size,4k.rdiff4
-rw-r--r--mysql-test/suite/innodb_zip/r/page_size,8k.rdiff6
-rw-r--r--mysql-test/suite/innodb_zip/r/page_size.result2
-rw-r--r--mysql-test/suite/innodb_zip/r/prefix_index_liftedlimit.result2
-rw-r--r--mysql-test/suite/innodb_zip/r/restart.result48
-rw-r--r--mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result13
-rw-r--r--mysql-test/suite/innodb_zip/r/wl5522_zip.result1
-rw-r--r--mysql-test/suite/innodb_zip/r/wl6344_compress_level.result4
-rw-r--r--mysql-test/suite/innodb_zip/t/cmp_per_index.test7
-rw-r--r--mysql-test/suite/innodb_zip/t/index_large_prefix.test6
-rw-r--r--mysql-test/suite/innodb_zip/t/index_large_prefix_4k.test17
-rw-r--r--mysql-test/suite/innodb_zip/t/index_large_prefix_8k.test6
-rw-r--r--mysql-test/suite/innodb_zip/t/innochecksum.combinations5
-rw-r--r--mysql-test/suite/innodb_zip/t/innochecksum.opt1
-rw-r--r--mysql-test/suite/innodb_zip/t/innochecksum.test203
-rw-r--r--mysql-test/suite/innodb_zip/t/innochecksum_2.test25
-rw-r--r--mysql-test/suite/innodb_zip/t/innochecksum_3.test133
-rw-r--r--mysql-test/suite/innodb_zip/t/innodb-zip.test2
-rw-r--r--mysql-test/suite/innodb_zip/t/large_blob.test7
-rw-r--r--mysql-test/suite/innodb_zip/t/page_size.opt1
-rw-r--r--mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test10
-rw-r--r--mysql-test/suite/innodb_zip/t/restart.opt1
-rw-r--r--mysql-test/suite/innodb_zip/t/restart.test21
-rw-r--r--mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test5
-rw-r--r--mysql-test/suite/innodb_zip/t/wl5522_zip.test1
-rw-r--r--mysql-test/suite/innodb_zip/t/wl6344_compress_level.test5
-rw-r--r--mysql-test/suite/innodb_zip/t/wl6347_comp_indx_stat.test23
-rw-r--r--mysql-test/suite/jp/r/jp_alter_utf8.result36
-rw-r--r--mysql-test/suite/jp/r/jp_charset_sjis.result18
-rw-r--r--mysql-test/suite/jp/r/jp_charset_ucs2.result18
-rw-r--r--mysql-test/suite/jp/r/jp_charset_ujis.result18
-rw-r--r--mysql-test/suite/jp/r/jp_charset_utf8.result36
-rw-r--r--mysql-test/suite/jp/r/jp_convert_utf8.result204
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_sjis.result1
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_ucs2.result1
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_ujis.result1
-rw-r--r--mysql-test/suite/jp/r/jp_create_db_utf8.result1
-rw-r--r--mysql-test/suite/jp/r/jp_create_tbl_utf8.result90
-rw-r--r--mysql-test/suite/jp/r/jp_enum_utf8.result36
-rw-r--r--mysql-test/suite/json/r/json_no_table.result2
-rw-r--r--mysql-test/suite/json/r/json_table.result995
-rw-r--r--mysql-test/suite/json/r/json_table_binlog.result26
-rw-r--r--mysql-test/suite/json/r/json_table_mysql.result1660
-rw-r--r--mysql-test/suite/json/r/json_table_notembedded.result20
-rw-r--r--mysql-test/suite/json/t/json_table.test858
-rw-r--r--mysql-test/suite/json/t/json_table_binlog.test25
-rw-r--r--mysql-test/suite/json/t/json_table_mysql.test1495
-rw-r--r--mysql-test/suite/json/t/json_table_notembedded.test30
-rw-r--r--mysql-test/suite/maria/alter.result9
-rw-r--r--mysql-test/suite/maria/alter.test11
-rw-r--r--mysql-test/suite/maria/bulk_insert_crash.result2
-rw-r--r--mysql-test/suite/maria/fulltext2.test2
-rw-r--r--mysql-test/suite/maria/maria-gis-recovery.result4
-rw-r--r--mysql-test/suite/maria/maria-recovery-big.result2
-rw-r--r--mysql-test/suite/maria/maria-recovery-bitmap.result4
-rw-r--r--mysql-test/suite/maria/maria-recovery-rtree-ft.result22
-rw-r--r--mysql-test/suite/maria/maria-recovery.result20
-rw-r--r--mysql-test/suite/maria/maria-recovery2.result14
-rw-r--r--mysql-test/suite/maria/maria-recovery3.result10
-rw-r--r--mysql-test/suite/maria/maria-ucs2.result2
-rw-r--r--mysql-test/suite/maria/maria.result184
-rw-r--r--mysql-test/suite/maria/maria.test18
-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.result10
-rw-r--r--mysql-test/suite/maria/mrr.result6
-rw-r--r--mysql-test/suite/maria/mrr.test4
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_excluded.opt1
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_excluded.result24
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_excluded.test65
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_race.result24
-rw-r--r--mysql-test/suite/mariabackup/alter_copy_race.test50
-rw-r--r--mysql-test/suite/mariabackup/big_innodb_log.result1
-rw-r--r--mysql-test/suite/mariabackup/big_innodb_log.test1
-rw-r--r--mysql-test/suite/mariabackup/defer_space.result26
-rw-r--r--mysql-test/suite/mariabackup/defer_space.test69
-rw-r--r--mysql-test/suite/mariabackup/disabled.def1
-rw-r--r--mysql-test/suite/mariabackup/drop_table_during_backup.result1
-rw-r--r--mysql-test/suite/mariabackup/drop_table_during_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/include/have_rocksdb.inc4
-rw-r--r--mysql-test/suite/mariabackup/incremental_backup.result3
-rw-r--r--mysql-test/suite/mariabackup/incremental_backup.test3
-rw-r--r--mysql-test/suite/mariabackup/incremental_ddl_during_backup.result1
-rw-r--r--mysql-test/suite/mariabackup/incremental_ddl_during_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/lock_ddl_per_table.result1
-rw-r--r--mysql-test/suite/mariabackup/lock_ddl_per_table.test4
-rw-r--r--mysql-test/suite/mariabackup/log_copy_interval.result2
-rw-r--r--mysql-test/suite/mariabackup/log_copy_interval.test18
-rw-r--r--mysql-test/suite/mariabackup/log_page_corruption.result4
-rw-r--r--mysql-test/suite/mariabackup/log_page_corruption.test4
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.result1
-rw-r--r--mysql-test/suite/mariabackup/mdev-14447.test10
-rw-r--r--mysql-test/suite/mariabackup/missing_ibd.test3
-rw-r--r--mysql-test/suite/mariabackup/partial.result4
-rw-r--r--mysql-test/suite/mariabackup/partial.test1
-rw-r--r--mysql-test/suite/mariabackup/partial_exclude.result2
-rw-r--r--mysql-test/suite/mariabackup/partial_exclude.test1
-rw-r--r--mysql-test/suite/mariabackup/recreate_table_during_backup.result1
-rw-r--r--mysql-test/suite/mariabackup/recreate_table_during_backup.test1
-rw-r--r--mysql-test/suite/mariabackup/rename_during_backup.result1
-rw-r--r--mysql-test/suite/mariabackup/rename_during_backup.test2
-rw-r--r--mysql-test/suite/mariabackup/rename_during_mdl_lock.result1
-rw-r--r--mysql-test/suite/mariabackup/rename_during_mdl_lock.test1
-rw-r--r--mysql-test/suite/mariabackup/unsupported_redo.result5
-rw-r--r--mysql-test/suite/mariabackup/unsupported_redo.test2
-rw-r--r--mysql-test/suite/multi_source/multisource.result20
-rw-r--r--mysql-test/suite/multi_source/reset_slave.test7
-rw-r--r--mysql-test/suite/multi_source/simple.result440
-rw-r--r--mysql-test/suite/multi_source/simple.test21
-rw-r--r--mysql-test/suite/parts/inc/partition_auto_increment.inc13
-rw-r--r--mysql-test/suite/parts/inc/partition_crash.inc4
-rw-r--r--mysql-test/suite/parts/r/backup_log.result278
-rw-r--r--mysql-test/suite/parts/r/backup_log_rocksdb.result15
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash.result64
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail.result2
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash.result62
-rw-r--r--mysql-test/suite/parts/r/longname.result4
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_2_innodb.result3
-rw-r--r--mysql-test/suite/parts/r/partition_alter3_innodb.result3
-rw-r--r--mysql-test/suite/parts/r/partition_alter_innodb.result8
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_innodb.result87
-rw-r--r--mysql-test/suite/parts/r/partition_debug.result18
-rw-r--r--mysql-test/suite/parts/r/partition_debug_innodb.result20
-rw-r--r--mysql-test/suite/parts/r/partition_debug_sync_innodb.result6
-rw-r--r--mysql-test/suite/parts/r/partition_recover_myisam.result8
-rw-r--r--mysql-test/suite/parts/r/partition_repair_myisam.result48
-rw-r--r--mysql-test/suite/parts/r/partition_special_innodb.result60
-rw-r--r--mysql-test/suite/parts/r/rpl_partition.result18
-rw-r--r--mysql-test/suite/parts/t/backup_log.test63
-rw-r--r--mysql-test/suite/parts/t/backup_log_rocksdb.opt1
-rw-r--r--mysql-test/suite/parts/t/backup_log_rocksdb.test24
-rw-r--r--mysql-test/suite/parts/t/debug_innodb_crash.test2
-rw-r--r--mysql-test/suite/parts/t/debug_innodb_fail.test2
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_2_innodb.test5
-rw-r--r--mysql-test/suite/parts/t/partition_alter3_innodb.test5
-rw-r--r--mysql-test/suite/parts/t/partition_alter4_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter_innodb.test15
-rw-r--r--mysql-test/suite/parts/t/partition_basic_symlink_innodb.test30
-rw-r--r--mysql-test/suite/parts/t/partition_debug_innodb.test2
-rw-r--r--mysql-test/suite/parts/t/partition_debug_sync_innodb.test8
-rw-r--r--mysql-test/suite/parts/t/partition_repair_myisam.test2
-rw-r--r--mysql-test/suite/parts/t/partition_special_innodb-master.opt1
-rw-r--r--mysql-test/suite/parts/t/partition_special_innodb.test67
-rw-r--r--mysql-test/suite/parts/t/rpl_partition.test6
-rw-r--r--mysql-test/suite/perfschema/disabled.def2
-rw-r--r--mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result2
-rw-r--r--mysql-test/suite/perfschema/r/digest_view.result50
-rw-r--r--mysql-test/suite/perfschema/r/dml_handler.result51
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_instruments.result4
-rw-r--r--mysql-test/suite/perfschema/r/information_schema.result174
-rw-r--r--mysql-test/suite/perfschema/r/max_program_zero.result1
-rw-r--r--mysql-test/suite/perfschema/r/schema.result191
-rw-r--r--mysql-test/suite/perfschema/r/short_option_1.result11
-rw-r--r--mysql-test/suite/perfschema/r/socket_connect.result8
-rw-r--r--mysql-test/suite/perfschema/r/socket_instances_func.result20
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_idle.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_stages.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_statements.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_transactions.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_disable_waits.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_innodb.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result4
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_index.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_table_lock.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_account.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_host.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_index.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mdl.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_memory_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_setup_actors.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_setup_objects.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_socket_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_socket_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stage_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stages_history.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statement_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statements_history.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_hdl.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_table_lock.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_class.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_transactions_history.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_user.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_nothing.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_off.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_on.result1
-rw-r--r--mysql-test/suite/perfschema/r/start_server_variables.result1
-rw-r--r--mysql-test/suite/perfschema/r/statement_program_lost_inst.result1
-rw-r--r--mysql-test/suite/perfschema/r/sxlock_func.result76
-rw-r--r--mysql-test/suite/perfschema/r/table_schema.result574
-rw-r--r--mysql-test/suite/perfschema/t/alter_table_progress.test2
-rw-r--r--mysql-test/suite/perfschema/t/dml_handler.test5
-rw-r--r--mysql-test/suite/perfschema/t/ortho_iter.test4
-rw-r--r--mysql-test/suite/perfschema/t/rpl_threads.test6
-rw-r--r--mysql-test/suite/perfschema/t/selects.test2
-rw-r--r--mysql-test/suite/perfschema/t/short_option_1-master.opt2
-rw-r--r--mysql-test/suite/perfschema/t/short_option_1.test4
-rw-r--r--mysql-test/suite/perfschema/t/show_sanity.test14
-rw-r--r--mysql-test/suite/perfschema/t/socket_connect.test8
-rw-r--r--mysql-test/suite/perfschema/t/socket_instances_func.test17
-rw-r--r--mysql-test/suite/perfschema/t/sxlock_func.test61
-rw-r--r--mysql-test/suite/period/r/delete.result4
-rw-r--r--mysql-test/suite/period/t/delete.test5
-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/feedback_plugin_load.result12
-rw-r--r--mysql-test/suite/plugins/r/feedback_plugin_send.result12
-rw-r--r--mysql-test/suite/plugins/suite.pm9
-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/processlist.test2
-rw-r--r--mysql-test/suite/plugins/t/test_sql_service.test1
-rw-r--r--mysql-test/suite/roles/set_role-9614.result1
-rw-r--r--mysql-test/suite/rpl/include/multisource.inc7
-rw-r--r--mysql-test/suite/rpl/include/rpl_deadlock.test11
-rw-r--r--mysql-test/suite/rpl/include/rpl_parallel_gco_wait_kill.inc4
-rw-r--r--mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc3
-rw-r--r--mysql-test/suite/rpl/include/rpl_parallel_slave_bgc_kill.inc4
-rw-r--r--mysql-test/suite/rpl/include/rpl_parallel_stop_slave.inc4
-rw-r--r--mysql-test/suite/rpl/r/parallel_backup.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_corruption.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result34
-rw-r--r--mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_circular_semi_sync.result76
-rw-r--r--mysql-test/suite/rpl/r/rpl_ctype_latin1.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_ddl.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_deadlock_innodb.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_empty_string_is_null.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_m.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_mysql_upgrade.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_charset.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_gco_wait_kill.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result1
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result3
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_retry.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_password_boundaries.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_perfschema_applier_config.result35
-rw-r--r--mysql-test/suite/rpl/r/rpl_perfschema_applier_status.result21
-rw-r--r--mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_coordinator.result114
-rw-r--r--mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_worker.result101
-rw-r--r--mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result124
-rw-r--r--mysql-test/suite/rpl/r/rpl_rbr_monitor.result43
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_create_table.result8
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result256
-rw-r--r--mysql-test/suite/rpl/r/rpl_semisync_ali_issues.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_server_id1.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_sync.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result6
-rw-r--r--mysql-test/suite/rpl/r/rpl_unsafe_statements.result29
-rw-r--r--mysql-test/suite/rpl/r/rpl_xa_survive_disconnect.result5
-rw-r--r--mysql-test/suite/rpl/r/rpl_xa_survive_disconnect_lsu_off.result5
-rw-r--r--mysql-test/suite/rpl/t/parallel_backup.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug31076.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_circular_semi_sync.cnf11
-rw-r--r--mysql-test/suite/rpl/t/rpl_circular_semi_sync.test115
-rw-r--r--mysql-test/suite/rpl/t/rpl_ctype_latin1.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_db.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_events.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_gtid_stop_start.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_basic.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_table.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug28430.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug30888.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_ipv6.cnf4
-rw-r--r--mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_mdev12179.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_misc_functions.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_parallel_retry.test60
-rw-r--r--mysql-test/suite/rpl/t/rpl_password_boundaries.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_perfschema_applier_config.test97
-rw-r--r--mysql-test/suite/rpl/t/rpl_perfschema_applier_status.test73
-rw-r--r--mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator.test317
-rw-r--r--mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_worker.test257
-rw-r--r--mysql-test/suite/rpl/t/rpl_perfschema_connect_config.test331
-rw-r--r--mysql-test/suite/rpl/t/rpl_rbr_monitor.test76
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc112
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.cnf13
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test212
-rw-r--r--mysql-test/suite/rpl/t/rpl_semisync_ali_issues.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_unsafe_statements.test39
-rw-r--r--mysql-test/suite/rpl/t/rpl_xa_survive_disconnect.test4
-rw-r--r--mysql-test/suite/s3/alter.result4
-rw-r--r--mysql-test/suite/s3/alter.test1
-rw-r--r--mysql-test/suite/s3/mysqldump.result2
-rw-r--r--mysql-test/suite/s3/partition.result2
-rw-r--r--mysql-test/suite/sql_sequence/create.result2
-rw-r--r--mysql-test/suite/storage_engine/repair_table.inc2
-rw-r--r--mysql-test/suite/stress/r/deadlock_drop_table.result32
-rw-r--r--mysql-test/suite/stress/t/deadlock_drop_table.test39
-rw-r--r--mysql-test/suite/stress/t/wrapper.test2
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_basic.result109
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_grant.result47
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_client_basic.result18
-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.result16
-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.result16
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_database_func.result6
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result18
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_results_basic.resultbin16271 -> 16295 bytes
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_results_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_server_basic.result16
-rw-r--r--mysql-test/suite/sys_vars/r/character_set_server_func.result16
-rw-r--r--mysql-test/suite/sys_vars/r/collation_connection_basic.result94
-rw-r--r--mysql-test/suite/sys_vars/r/collation_connection_func.result4
-rw-r--r--mysql-test/suite/sys_vars/r/collation_database_basic.result94
-rw-r--r--mysql-test/suite/sys_vars/r/collation_database_func.result16
-rw-r--r--mysql-test/suite/sys_vars/r/collation_server_basic.result94
-rw-r--r--mysql-test/suite/sys_vars/r/collation_server_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/expire_logs_days_basic.result43
-rw-r--r--mysql-test/suite/sys_vars/r/identity_func.result68
-rw-r--r--mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result2
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_adaptive_max_sleep_delay_basic.result86
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_check_interval_basic.result88
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_compressed_basic.result58
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_interval_basic.result58
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_background_scrub_data_uncompressed_basic.result58
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result6
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_buffer_pool_instances_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result24
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_cmp_per_index_enabled_basic.result3
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_commit_concurrency_basic.result105
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result144
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_fatal_semaphore_wait_threshold.result31
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_flush_method_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_force_load_corrupted_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result28
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_checksums_basic.result50
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result79
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_files_in_group_basic.result53
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_log_optimize_ddl_basic.result42
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_page_cleaners_basic.result78
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_replication_delay_basic.result114
-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.result57
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result5
-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_sync_debug_basic.result11
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_thread_concurrency_basic.result131
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result104
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result44
-rw-r--r--mysql-test/suite/sys_vars/r/myisam_stats_method_func.result36
-rw-r--r--mysql-test/suite/sys_vars/r/old_mode_basic.result108
-rw-r--r--mysql-test/suite/sys_vars/r/stored_program_cache_func,ps.rdiff18
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff120
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_innodb.result344
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff272
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_embedded.result18
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff338
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result18
-rw-r--r--mysql-test/suite/sys_vars/r/sysvars_wsrep.result15
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_replicate_myisam_basic.result31
-rw-r--r--mysql-test/suite/sys_vars/r/wsrep_strict_ddl_basic.result45
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_basic.test137
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_grant.test10
-rw-r--r--mysql-test/suite/sys_vars/t/expire_logs_days_basic.test53
-rw-r--r--mysql-test/suite/sys_vars/t/identity_func.test5
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test93
-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_buffer_pool_evict_basic.test7
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test107
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test12
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cmp_per_index_enabled_basic.test4
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test138
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test181
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fatal_semaphore_wait_threshold.test78
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test106
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test92
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test106
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_log_optimize_ddl_basic.test62
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test79
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test102
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test2
-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_stats_persistent_basic.test3
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test29
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test16
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test164
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test69
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test42
-rw-r--r--mysql-test/suite/sys_vars/t/old_mode_basic.test79
-rw-r--r--mysql-test/suite/sys_vars/t/secure_file_priv.test2
-rw-r--r--mysql-test/suite/sys_vars/t/stored_program_cache_func.test2
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_replicate_myisam_basic.test36
-rw-r--r--mysql-test/suite/sys_vars/t/wsrep_strict_ddl_basic.test42
-rw-r--r--mysql-test/suite/sysschema/include/ps_setup_actors_cleanup.inc5
-rw-r--r--mysql-test/suite/sysschema/include/ps_setup_consumers_cleanup.inc3
-rw-r--r--mysql-test/suite/sysschema/include/ps_setup_instruments_cleanup.inc3
-rw-r--r--mysql-test/suite/sysschema/include/ps_setup_reset_to_default_cleanup.inc9
-rw-r--r--mysql-test/suite/sysschema/include/ps_threads_cleanup.inc3
-rw-r--r--mysql-test/suite/sysschema/include/ps_truncate_all_tables.inc6
-rw-r--r--mysql-test/suite/sysschema/include/sys_config_cleanup.inc17
-rw-r--r--mysql-test/suite/sysschema/r/all_sys_objects_exist.result159
-rw-r--r--mysql-test/suite/sysschema/r/fn_extract_schema_from_file_name.result6
-rw-r--r--mysql-test/suite/sysschema/r/fn_extract_table_from_file_name.result6
-rw-r--r--mysql-test/suite/sysschema/r/fn_format_bytes.result39
-rw-r--r--mysql-test/suite/sysschema/r/fn_format_path.result14
-rw-r--r--mysql-test/suite/sysschema/r/fn_format_statement.result10
-rw-r--r--mysql-test/suite/sysschema/r/fn_format_time.result57
-rw-r--r--mysql-test/suite/sysschema/r/fn_list_add.result28
-rw-r--r--mysql-test/suite/sysschema/r/fn_list_drop.result30
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_is_account_enabled.result14
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_is_consumer_enabled.result42
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_enabled.result48
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_timed.result48
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_is_thread_instrumented.result14
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_thread_account.result9
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_thread_id.result9
-rw-r--r--mysql-test/suite/sysschema/r/fn_ps_thread_trx_info.result92
-rw-r--r--mysql-test/suite/sysschema/r/fn_quote_identifier.result21
-rw-r--r--mysql-test/suite/sysschema/r/fn_sys_get_config.result8
-rw-r--r--mysql-test/suite/sysschema/r/mysqldump.result25
-rw-r--r--mysql-test/suite/sysschema/r/pr_create_synonym_db.result52
-rw-r--r--mysql-test/suite/sysschema/r/pr_diagnostics.result15
-rw-r--r--mysql-test/suite/sysschema/r/pr_execute_prepared_stmt.result21
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_reset_to_default.result60
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled.result205
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_consumers.result14
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_instruments.result56
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled.result362
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_consumers.result21
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_instruments.result127
-rw-r--r--mysql-test/suite/sysschema/r/pr_ps_trace_statement_digest.result30
-rw-r--r--mysql-test/suite/sysschema/r/pr_statement_performance_analyzer.result211
-rw-r--r--mysql-test/suite/sysschema/r/pr_table_exists.result72
-rw-r--r--mysql-test/suite/sysschema/r/t_sys_config.result46
-rw-r--r--mysql-test/suite/sysschema/r/v_host_summary.result30
-rw-r--r--mysql-test/suite/sysschema/r/v_host_summary_by_file_io.result12
-rw-r--r--mysql-test/suite/sysschema/r/v_host_summary_by_file_io_type.result16
-rw-r--r--mysql-test/suite/sysschema/r/v_host_summary_by_stages.result16
-rw-r--r--mysql-test/suite/sysschema/r/v_host_summary_by_statement_latency.result24
-rw-r--r--mysql-test/suite/sysschema/r/v_host_summary_by_statement_type.result26
-rw-r--r--mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_schema.result20
-rw-r--r--mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_table.result22
-rw-r--r--mysql-test/suite/sysschema/r/v_innodb_lock_waits.result70
-rw-r--r--mysql-test/suite/sysschema/r/v_io_by_thread_by_latency.result22
-rw-r--r--mysql-test/suite/sysschema/r/v_io_global_by_file_by_bytes.result24
-rw-r--r--mysql-test/suite/sysschema/r/v_io_global_by_file_by_latency.result24
-rw-r--r--mysql-test/suite/sysschema/r/v_io_global_by_wait_by_bytes.result32
-rw-r--r--mysql-test/suite/sysschema/r/v_io_global_by_wait_by_latency.result34
-rw-r--r--mysql-test/suite/sysschema/r/v_latest_file_io.result16
-rw-r--r--mysql-test/suite/sysschema/r/v_memory_by_host_by_current_bytes.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_memory_by_thread_by_current_bytes.result20
-rw-r--r--mysql-test/suite/sysschema/r/v_memory_by_user_by_current_bytes.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_memory_global_by_current_bytes.result20
-rw-r--r--mysql-test/suite/sysschema/r/v_memory_global_total.result8
-rw-r--r--mysql-test/suite/sysschema/r/v_metrics.result7
-rw-r--r--mysql-test/suite/sysschema/r/v_processlist.result62
-rw-r--r--mysql-test/suite/sysschema/r/v_ps_check_lost_instrumentation.result5
-rw-r--r--mysql-test/suite/sysschema/r/v_ps_digest_95th_percentile_by_avg_us.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_ps_digest_avg_latency_distribution.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_ps_schema_table_statistics_io.result50
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_auto_increment_columns.result143
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_index_statistics.result28
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_object_overview.result6
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_redundant_indexes.result37
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_table_lock_waits.result61
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_table_statistics.result44
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_table_statistics_with_buffer.result56
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_tables_with_full_table_scans.result51
-rw-r--r--mysql-test/suite/sysschema/r/v_schema_unused_indexes.result6
-rw-r--r--mysql-test/suite/sysschema/r/v_session.result62
-rw-r--r--mysql-test/suite/sysschema/r/v_session_ssl_status.result7
-rw-r--r--mysql-test/suite/sysschema/r/v_statement_analysis.result52
-rw-r--r--mysql-test/suite/sysschema/r/v_statements_with_errors_or_warnings.result26
-rw-r--r--mysql-test/suite/sysschema/r/v_statements_with_full_table_scans.result69
-rw-r--r--mysql-test/suite/sysschema/r/v_statements_with_runtimes_in_95th_percentile.result38
-rw-r--r--mysql-test/suite/sysschema/r/v_statements_with_sorting.result32
-rw-r--r--mysql-test/suite/sysschema/r/v_statements_with_temp_tables.result28
-rw-r--r--mysql-test/suite/sysschema/r/v_user_summary.result30
-rw-r--r--mysql-test/suite/sysschema/r/v_user_summary_by_file_io.result12
-rw-r--r--mysql-test/suite/sysschema/r/v_user_summary_by_file_io_type.result16
-rw-r--r--mysql-test/suite/sysschema/r/v_user_summary_by_stages.result16
-rw-r--r--mysql-test/suite/sysschema/r/v_user_summary_by_statement_latency.result24
-rw-r--r--mysql-test/suite/sysschema/r/v_user_summary_by_statement_type.result26
-rw-r--r--mysql-test/suite/sysschema/r/v_version.result3
-rw-r--r--mysql-test/suite/sysschema/r/v_wait_classes_global_by_avg_latency.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_wait_classes_global_by_latency.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_waits_by_host_by_latency.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_waits_by_user_by_latency.result18
-rw-r--r--mysql-test/suite/sysschema/r/v_waits_global_by_latency.result16
-rw-r--r--mysql-test/suite/sysschema/r/version_functions.result6
-rw-r--r--mysql-test/suite/sysschema/suite.opt2
-rw-r--r--mysql-test/suite/sysschema/suite.pm8
-rw-r--r--mysql-test/suite/sysschema/t/all_sys_objects_exist.test16
-rw-r--r--mysql-test/suite/sysschema/t/fn_extract_schema_from_file_name.test9
-rw-r--r--mysql-test/suite/sysschema/t/fn_extract_table_from_file_name.test9
-rw-r--r--mysql-test/suite/sysschema/t/fn_format_bytes.test30
-rw-r--r--mysql-test/suite/sysschema/t/fn_format_path.test17
-rw-r--r--mysql-test/suite/sysschema/t/fn_format_statement.test13
-rw-r--r--mysql-test/suite/sysschema/t/fn_format_time.test42
-rw-r--r--mysql-test/suite/sysschema/t/fn_list_add.test39
-rw-r--r--mysql-test/suite/sysschema/t/fn_list_drop.test35
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_is_account_enabled.test20
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_is_consumer_enabled.test39
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_enabled.test23
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_timed.test23
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_is_thread_instrumented.test18
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_thread_account.test11
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_thread_id.test18
-rw-r--r--mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test91
-rw-r--r--mysql-test/suite/sysschema/t/fn_quote_identifier.test25
-rw-r--r--mysql-test/suite/sysschema/t/fn_sys_get_config.test13
-rw-r--r--mysql-test/suite/sysschema/t/mysqldump.test35
-rw-r--r--mysql-test/suite/sysschema/t/pr_create_synonym_db.test52
-rw-r--r--mysql-test/suite/sysschema/t/pr_diagnostics.test35
-rw-r--r--mysql-test/suite/sysschema/t/pr_execute_prepared_stmt.test25
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_reset_to_default.test15
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled.test37
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_consumers.test11
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_instruments.test14
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled.test44
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_consumers.test11
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_instruments.test18
-rw-r--r--mysql-test/suite/sysschema/t/pr_ps_trace_statement_digest.test65
-rw-r--r--mysql-test/suite/sysschema/t/pr_statement_performance_analyzer.test298
-rw-r--r--mysql-test/suite/sysschema/t/pr_table_exists.test69
-rw-r--r--mysql-test/suite/sysschema/t/t_sys_config.test18
-rw-r--r--mysql-test/suite/sysschema/t/v_host_summary.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_host_summary_by_file_io.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_host_summary_by_file_io_type.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_host_summary_by_stages.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_host_summary_by_statement_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_host_summary_by_statement_type.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_schema.test23
-rw-r--r--mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_table.test23
-rw-r--r--mysql-test/suite/sysschema/t/v_innodb_lock_waits.test41
-rw-r--r--mysql-test/suite/sysschema/t/v_io_by_thread_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_io_global_by_file_by_bytes.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_io_global_by_file_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_io_global_by_wait_by_bytes.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_io_global_by_wait_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_latest_file_io.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_memory_by_host_by_current_bytes.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_memory_by_thread_by_current_bytes.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_memory_by_user_by_current_bytes.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_memory_global_by_current_bytes.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_memory_global_total.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_metrics.test12
-rw-r--r--mysql-test/suite/sysschema/t/v_processlist.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_ps_check_lost_instrumentation.test13
-rw-r--r--mysql-test/suite/sysschema/t/v_ps_digest_95th_percentile_by_avg_us.test24
-rw-r--r--mysql-test/suite/sysschema/t/v_ps_digest_avg_latency_distribution.test24
-rw-r--r--mysql-test/suite/sysschema/t/v_ps_schema_table_statistics_io.test24
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_auto_increment_columns.test159
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_index_statistics.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_object_overview.test13
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_redundant_indexes.test39
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_table_lock_waits.test55
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_table_statistics.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_table_statistics_with_buffer.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_tables_with_full_table_scans.test87
-rw-r--r--mysql-test/suite/sysschema/t/v_schema_unused_indexes.test13
-rw-r--r--mysql-test/suite/sysschema/t/v_session.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_session_ssl_status.test12
-rw-r--r--mysql-test/suite/sysschema/t/v_statement_analysis.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_statements_with_errors_or_warnings.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_statements_with_full_table_scans.test87
-rw-r--r--mysql-test/suite/sysschema/t/v_statements_with_runtimes_in_95th_percentile.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_statements_with_sorting.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_statements_with_temp_tables.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_user_summary.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_user_summary_by_file_io.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_user_summary_by_file_io_type.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_user_summary_by_stages.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_user_summary_by_statement_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_user_summary_by_statement_type.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_version.test11
-rw-r--r--mysql-test/suite/sysschema/t/v_wait_classes_global_by_avg_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_wait_classes_global_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_waits_by_host_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_waits_by_user_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/v_waits_global_by_latency.test22
-rw-r--r--mysql-test/suite/sysschema/t/version_functions.test27
-rw-r--r--mysql-test/suite/vcol/r/vcol_keys_myisam.result18
-rw-r--r--mysql-test/suite/vcol/r/vcol_select_innodb.result3
-rw-r--r--mysql-test/suite/vcol/r/vcol_view_innodb.result3
-rw-r--r--mysql-test/suite/vcol/t/vcol_select_innodb.test4
-rw-r--r--mysql-test/suite/vcol/t/vcol_view_innodb.test4
-rw-r--r--mysql-test/suite/versioning/r/create.result4
-rw-r--r--mysql-test/suite/versioning/r/cte.result3
-rw-r--r--mysql-test/suite/versioning/r/select.result3
-rw-r--r--mysql-test/suite/versioning/r/trx_id.result7
-rw-r--r--mysql-test/suite/versioning/r/update.result2
-rw-r--r--mysql-test/suite/versioning/t/alter.test2
-rw-r--r--mysql-test/suite/versioning/t/commit_id.test4
-rw-r--r--mysql-test/suite/versioning/t/create.test3
-rw-r--r--mysql-test/suite/versioning/t/cte.test9
-rw-r--r--mysql-test/suite/versioning/t/foreign.test2
-rw-r--r--mysql-test/suite/versioning/t/insert.test2
-rw-r--r--mysql-test/suite/versioning/t/load_data.test2
-rw-r--r--mysql-test/suite/versioning/t/partition.test4
-rw-r--r--mysql-test/suite/versioning/t/select.test11
-rw-r--r--mysql-test/suite/versioning/t/select2.test5
-rw-r--r--mysql-test/suite/versioning/t/sysvars.test6
-rw-r--r--mysql-test/suite/versioning/t/trx_id.test8
-rw-r--r--mysql-test/suite/versioning/t/update.test2
-rw-r--r--mysql-test/suite/wsrep/r/variables.result3
-rw-r--r--mysql-test/suite/wsrep/r/variables_debug.result2
-rw-r--r--mysql-test/unstable-tests858
-rw-r--r--mysql-test/valgrind.supp8
1834 files changed, 68159 insertions, 24337 deletions
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
index 7487e301df5..2c040fc0e32 100644
--- a/mysql-test/CMakeLists.txt
+++ b/mysql-test/CMakeLists.txt
@@ -19,24 +19,63 @@ INSTALL_MYSQL_TEST("." ".")
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
# Enable running mtr from build directory
CONFIGURE_FILE(
- ${CMAKE_CURRENT_SOURCE_DIR}/mtr.out-of-source
- ${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run.pl
+ ${CMAKE_CURRENT_SOURCE_DIR}/mtr.out-of-source
+ ${CMAKE_CURRENT_BINARY_DIR}/mariadb-test-run.pl
+ @ONLY
+ )
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/mariadb-stress-test.pl
+ ${CMAKE_CURRENT_BINARY_DIR}/mariadb-stress-test.pl
@ONLY
)
+ IF(WIN32)
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/mtr.out-of-source
+ ${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run.pl
+ @ONLY)
+ ENDIF()
SET(out_of_source_build TRUE)
+ELSEIF(WIN32)
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/mariadb-test-run.pl
+ ${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run.pl
+ COPYONLY)
+ CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/mariadb-stress-test.pl
+ ${CMAKE_CURRENT_BINARY_DIR}/mysql-stress-test.pl
+ COPYONLY)
ENDIF()
+
IF(UNIX)
EXECUTE_PROCESS(
- COMMAND chmod +x mysql-test-run.pl
- COMMAND ${CMAKE_COMMAND} -E create_symlink
- ./mysql-test-run.pl mtr
- COMMAND ${CMAKE_COMMAND} -E create_symlink
- ./mysql-test-run.pl mysql-test-run
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- )
- IF(INSTALL_MYSQLTESTDIR AND out_of_source_build)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
- ${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
+ COMMAND chmod +x mariadb-test-run.pl
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ FOREACH (lnk mysql-test-run mtr mysql-test-run.pl mariadb-test-run)
+ EXECUTE_PROCESS(
+ COMMAND ${CMAKE_COMMAND} -E create_symlink
+ ./mariadb-test-run.pl ${lnk}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+
+ IF(INSTALL_MYSQLTESTDIR)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${lnk}
+ DESTINATION ${INSTALL_MYSQLTESTDIR}
+ COMPONENT Test)
+ ENDIF()
+ ENDFOREACH()
+ EXECUTE_PROCESS(
+ COMMAND chmod +x mariadb-stress-test.pl
+ COMMAND ${CMAKE_COMMAND} -E create_symlink
+ ./mariadb-stress-test.pl mysql-stress-test.pl
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ )
+ELSE()
+ IF(INSTALL_MYSQLTESTDIR)
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mariadb-test-run.pl
+ RENAME mysql-test-run.pl
+ DESTINATION ${INSTALL_MYSQLTESTDIR}
+ COMPONENT Test)
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mariadb-stress-test.pl
+ RENAME mysql-stress-test.pl
DESTINATION ${INSTALL_MYSQLTESTDIR}
COMPONENT Test)
ENDIF()
@@ -156,4 +195,3 @@ IF (MAX_INDEXES)
MESSAGE(STATUS "mysql-test/include/max_indexes.inc adjusted")
ENDIF()
ENDIF()
-
diff --git a/mysql-test/README b/mysql-test/README
index 6c7f004a54d..14e9b3647ac 100644
--- a/mysql-test/README
+++ b/mysql-test/README
@@ -2,10 +2,8 @@ This directory contains test suites for the MariaDB server. To run
currently existing test cases, execute ./mysql-test-run in this directory.
Some tests are known to fail on some platforms or be otherwise unreliable.
-The file "unstable-tests" contains the list of such tests along with
-a comment for every test.
-To exclude them from the test run, execute
- # ./mysql-test-run --skip-test-list=unstable-tests
+In the file collections/smoke_test there is a list of tests that are
+expected to be stable.
In general you do not have to have to do "make install", and you can have
a co-existing MariaDB installation, the tests will not conflict with it.
@@ -15,7 +13,7 @@ In Red Hat distributions, you should run the script as user "mysql".
The user is created with nologin shell, so the best bet is something like
# su -
# cd /usr/share/mysql-test
- # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests"
+ # su -s /bin/bash mysql -c ./mysql-test-run
This will use the installed MariaDB executables, but will run a private
copy of the server process (using data files within /usr/share/mysql-test),
@@ -27,8 +25,7 @@ the listed failures occur for you.
To clean up afterwards, remove the created "var" subdirectory, e.g.
# su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var"
-If one or more tests fail on your system on reasons other than listed
-in lists of unstable tests, please read the following manual section
+If tests fail on your system, please read the following manual section
for instructions on how to report the problem:
https://mariadb.com/kb/en/reporting-bugs
diff --git a/mysql-test/collections/buildbot_suites.bat b/mysql-test/collections/buildbot_suites.bat
index 0880e0124dd..d4a6e665840 100644
--- a/mysql-test/collections/buildbot_suites.bat
+++ b/mysql-test/collections/buildbot_suites.bat
@@ -8,4 +8,5 @@ plugins,^
mariabackup,^
roles,^
auth_gssapi,^
-rocksdb
+rocksdb,^
+sysschema
diff --git a/mysql-test/dgcov.pl b/mysql-test/dgcov.pl
index 2c00c64d1ff..639f3a5b72a 100755
--- a/mysql-test/dgcov.pl
+++ b/mysql-test/dgcov.pl
@@ -63,7 +63,7 @@ my $cmd;
if ($opt_purge)
{
$cmd= "find . -name '*.da' -o -name '*.gcda' -o -name '*.gcov' -o ".
- "-name '*.dgcov' | grep -v 'README\.gcov' | xargs rm -f ''";
+ "-name '*.dgcov' | xargs rm -f ''";
logv "Running: $cmd";
system($cmd)==0 or die "system($cmd): $? $!";
exit 0;
@@ -161,9 +161,14 @@ sub gcov_one_file {
system($cmd)==0 or die "system($cmd): $? $!";
}
- # now, read the generated file
+ (my $filename = $_)=~ s/\.[^.]+$//; # remove extension
+ my $gcov_file_path= $File::Find::dir."/$filename.gcov";
+ if (! -f $gcov_file_path)
+ {
+ return;
+ }
for my $gcov_file (<$_*.gcov>) {
- open FH, '<', "$gcov_file" or die "open(<$gcov_file): $!";
+ open FH, '<', "$gcov_file_path" or die "open(<$gcov_file_path): $!";
my $fname;
while (<FH>) {
chomp;
diff --git a/mysql-test/include/assert_grep.inc b/mysql-test/include/assert_grep.inc
index 9f2c8505262..c4f184405a2 100644
--- a/mysql-test/include/assert_grep.inc
+++ b/mysql-test/include/assert_grep.inc
@@ -94,12 +94,17 @@ if ($assert_match != '')
my $assert_only_after= $ENV{'_AG_ASSERT_ONLY_AFTER'};
my $out= $ENV{'_AG_OUT'};
+ if (!defined($assert_count)) {
+ $assert_count = '';
+ }
+
my $result= '';
my $count= 0;
open(FILE, "$file") or die("Error $? opening $file: $!\n");
while (<FILE>) {
my $line = $_;
- if ($assert_only_after && $line =~ /$assert_only_after/) {
+ if (($line =~ /^CURRENT_TEST: /) ||
+ ($assert_only_after && $line =~ /$assert_only_after/)) {
$result = "";
$count = 0;
}
@@ -130,10 +135,7 @@ EOF
--let $_ag_outcome= `SELECT LOAD_FILE('$_AG_OUT')`
if ($_ag_outcome != 'assert_grep.inc ok')
{
- if ($rpl_server_count != '')
- {
- --source include/show_rpl_debug_info.inc
- }
+ --source include/show_rpl_debug_info.inc
--echo include/assert_grep.inc failed!
--echo assert_text: '$assert_text'
--echo assert_file: '$assert_file'
@@ -152,6 +154,6 @@ if ($_ag_outcome != 'assert_grep.inc ok')
--die assert_grep.inc failed.
}
-
+--remove_file $_AG_OUT
--let $include_filename= include/assert_grep.inc [$assert_text]
--source include/end_include_file.inc
diff --git a/mysql-test/include/check-testcase.test b/mysql-test/include/check-testcase.test
index e984c4dc497..60b376a2836 100644
--- a/mysql-test/include/check-testcase.test
+++ b/mysql-test/include/check-testcase.test
@@ -97,10 +97,7 @@ call mtr.check_testcase();
let $datadir=`select @@datadir`;
list_files $datadir mysql_upgrade_info;
-list_files_write_file $datadir.tempfiles.txt $datadir/test #sql*;
---replace_regex /#sql-ib[1-9][0-9]*\.ibd\n//
-cat_file $datadir.tempfiles.txt;
-remove_file $datadir.tempfiles.txt;
+list_files $datadir/test #sql*;
list_files $datadir/mysql #sql*;
#
diff --git a/mysql-test/include/column_compression_syntax_varbinary.inc b/mysql-test/include/column_compression_syntax_varbinary.inc
index b609969fc14..e2f96c33d06 100644
--- a/mysql-test/include/column_compression_syntax_varbinary.inc
+++ b/mysql-test/include/column_compression_syntax_varbinary.inc
@@ -28,6 +28,8 @@ DROP TABLE t1;
--echo # The following statements return deprecated syntax warnings
--echo #
+--enable_prepare_warnings
+
--eval CREATE TABLE t1 (a $type DEFAULT '' COMPRESSED)
SHOW CREATE TABLE t1;
DROP TABLE t1;
@@ -35,6 +37,7 @@ DROP TABLE t1;
SHOW CREATE TABLE t1;
DROP TABLE t1;
+--disable_prepare_warnings
--echo #
--echo # The following statements fail by the grammar,
diff --git a/mysql-test/include/column_compression_syntax_varchar.inc b/mysql-test/include/column_compression_syntax_varchar.inc
index 6b96440c511..41ace4fe5f6 100644
--- a/mysql-test/include/column_compression_syntax_varchar.inc
+++ b/mysql-test/include/column_compression_syntax_varchar.inc
@@ -53,6 +53,8 @@ DROP TABLE t1;
--echo # The following statements return deprecated syntax warnings
--echo #
+--enable_prepare_warnings
+
--eval CREATE TABLE t1 (a $type BINARY COMPRESSED)
SHOW CREATE TABLE t1;
DROP TABLE t1;
@@ -63,6 +65,7 @@ DROP TABLE t1;
SHOW CREATE TABLE t1;
DROP TABLE t1;
+--disable_prepare_warnings
--echo #
--echo # The following statements fail by the grammar,
diff --git a/mysql-test/include/ctype_numconv.inc b/mysql-test/include/ctype_numconv.inc
index 889c80cc477..d99942c5d5f 100644
--- a/mysql-test/include/ctype_numconv.inc
+++ b/mysql-test/include/ctype_numconv.inc
@@ -1043,7 +1043,7 @@ update t1 set a= a + 0.1;
select a, hex(a) from t1;
drop table t1;
-
+--enable_prepare_warnings
#
# Columns
#
@@ -1203,7 +1203,6 @@ create table t2 as select concat(a) from t1;
show create table t2;
drop table t1, t2;
-
#
# create view with string functions with numeric input
#
@@ -1517,6 +1516,7 @@ select hex(a) from v1;
drop table t1;
drop view v1;
+--disable_prepare_warnings
#
# User defined function returning numeric result
#
diff --git a/mysql-test/include/default_mysqld.cnf b/mysql-test/include/default_mysqld.cnf
index cccf72591cc..4788fbb7ff6 100644
--- a/mysql-test/include/default_mysqld.cnf
+++ b/mysql-test/include/default_mysqld.cnf
@@ -1,5 +1,5 @@
# Copyright (c) 2007, 2013, Oracle and/or its affiliates
-# Copyright (c) 2010, 2019, MariaDB Corporation
+# Copyright (c) 2010, 2021, MariaDB Corporation
#
# 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
@@ -54,7 +54,6 @@ loose-innodb_write_io_threads= 2
loose-innodb_read_io_threads= 2
loose-innodb_log_buffer_size= 1M
loose-innodb_log_file_size= 10M
-loose-innodb-stats-persistent= OFF
slave-net-timeout=120
diff --git a/mysql-test/include/explain_utils.inc b/mysql-test/include/explain_utils.inc
index 505798e432a..15376b76610 100644
--- a/mysql-test/include/explain_utils.inc
+++ b/mysql-test/include/explain_utils.inc
@@ -28,9 +28,11 @@
--echo #
if ($select) {
+--enable_prepare_warnings
--disable_query_log
--eval $select INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/before_explain.txt'
--enable_query_log
+--disable_prepare_warnings
}
if ($innodb) {
@@ -122,7 +124,9 @@ if ($validation) {
--disable_query_log
if ($select) {
+--enable_prepare_warnings
--eval $select INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/after_explain.txt'
+--disable_prepare_warnings
--diff_files '$MYSQLTEST_VARDIR/tmp/before_explain.txt' '$MYSQLTEST_VARDIR/tmp/after_explain.txt'
--remove_file '$MYSQLTEST_VARDIR/tmp/before_explain.txt'
--remove_file '$MYSQLTEST_VARDIR/tmp/after_explain.txt'
diff --git a/mysql-test/include/filter_file.inc b/mysql-test/include/filter_file.inc
index bfe53896710..708e917a644 100644
--- a/mysql-test/include/filter_file.inc
+++ b/mysql-test/include/filter_file.inc
@@ -56,6 +56,9 @@
#
# $filter_script
# If set, rows matching this regexp will be filtered out
+#
+# $grep_script
+# If set, only include rows matching this regexp
--let $include_filename= filter_file.inc
--source include/begin_include_file.inc
@@ -71,6 +74,7 @@ if ($rpl_debug)
--let _FF_PRE_SCRIPT= $pre_script
--let _FF_SCRIPT= $script
--let _FF_FILTER_SCRIPT= $filter_script
+--let _FF_GREP_SCRIPT= $grep_script
--let _FF_INPUT_FILE= $input_file
--let _FF_OUTPUT_FILE= $output_file
--let _FF_SELECT_COLUMNS= $select_columns
@@ -85,6 +89,7 @@ perl;
$pre_script =~ s/DOLLAR/\$/g;
my $script = $ENV{'_FF_SCRIPT'};
my $filter_script = $ENV{'_FF_FILTER_SCRIPT'};
+ my $grep_script = $ENV{'_FF_GREP_SCRIPT'};
$script =~ s/DOLLAR/\$/g;
my $input_file = $ENV{'_FF_INPUT_FILE'};
my $output_file = $ENV{'_FF_OUTPUT_FILE'};
@@ -129,7 +134,8 @@ perl;
{
' . $script . '
}
- if (!$filter_script || ! m/$filter_script/)
+ if ((!$filter_script || ! m/$filter_script/) &&
+ (!$grep_script || m/$grep_script/))
{
$filtered_contents .= $_."\n";
}
diff --git a/mysql-test/include/galera_connect.inc b/mysql-test/include/galera_connect.inc
index a40b03bf421..5e72cf9ed23 100644
--- a/mysql-test/include/galera_connect.inc
+++ b/mysql-test/include/galera_connect.inc
@@ -11,6 +11,9 @@
# $galera_connection_name
# Name of the resulting connection.
#
+# $galera_connection_address
+# IP to connect to for galera (defaults to 127.0.0.1)
+#
# $galera_server_number
# Sequence number of the node in the galera cluster.
#
@@ -28,6 +31,11 @@ if (!$galera_server_number)
--die ERROR IN TEST: $galera_server_number must be set before sourcing include/galera_connect.inc
}
+if (!$galera_connection_address)
+{
+ --let $galera_connection_address= 127.0.0.1
+}
+
--let $_galera_port= \$NODE_MYPORT_$galera_server_number
if (!$_galera_port)
{
@@ -38,7 +46,7 @@ if (!$_galera_port)
if ($galera_debug)
{
--disable_query_log
- --echo connect($galera_connection_name,127.0.0.1,root,,test,$_galera_port,)
+ --echo connect($galera_connection_name,$galera_connection_address,root,,test,$_galera_port,)
--enable_query_log
}
@@ -47,5 +55,5 @@ if ($galera_debug)
# Open a connection
--disable_query_log
---connect($galera_connection_name,127.0.0.1,root,,test,$_galera_port,)
+--connect($galera_connection_name,$galera_connection_address,root,,test,$_galera_port,)
--enable_query_log
diff --git a/mysql-test/include/galera_variables_ok.inc b/mysql-test/include/galera_variables_ok.inc
index c9a54724c17..82c5174bc14 100644
--- a/mysql-test/include/galera_variables_ok.inc
+++ b/mysql-test/include/galera_variables_ok.inc
@@ -1,6 +1,6 @@
--disable_query_log
---let $galera_variables_ok = `SELECT COUNT(*) = 50 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep%'`
+--let $galera_variables_ok = `SELECT COUNT(*) = 49 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep%'`
--if (!$galera_variables_ok) {
--skip Galera number of variables has changed!
diff --git a/mysql-test/include/galera_variables_ok_debug.inc b/mysql-test/include/galera_variables_ok_debug.inc
index e420b3af6c3..c9a54724c17 100644
--- a/mysql-test/include/galera_variables_ok_debug.inc
+++ b/mysql-test/include/galera_variables_ok_debug.inc
@@ -1,6 +1,6 @@
--disable_query_log
---let $galera_variables_ok = `SELECT COUNT(*) = 51 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep%'`
+--let $galera_variables_ok = `SELECT COUNT(*) = 50 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep%'`
--if (!$galera_variables_ok) {
--skip Galera number of variables has changed!
diff --git a/mysql-test/include/have_rocksdb.inc b/mysql-test/include/have_rocksdb.inc
new file mode 100644
index 00000000000..bc6ec648605
--- /dev/null
+++ b/mysql-test/include/have_rocksdb.inc
@@ -0,0 +1,4 @@
+if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'ROCKSDB' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
+{
+ --skip Test requires MyRocks engine
+}
diff --git a/mysql-test/include/have_rocksdb.opt b/mysql-test/include/have_rocksdb.opt
new file mode 100644
index 00000000000..df675545bf9
--- /dev/null
+++ b/mysql-test/include/have_rocksdb.opt
@@ -0,0 +1 @@
+--plugin-load=$HA_ROCKSDB_SO
diff --git a/mysql-test/include/have_utf8.inc b/mysql-test/include/have_utf8.inc
index 177d39abfdc..0c82ad57af7 100644
--- a/mysql-test/include/have_utf8.inc
+++ b/mysql-test/include/have_utf8.inc
@@ -1,2 +1,2 @@
-let collation=utf8_general_ci;
+let collation=utf8mb3_general_ci;
--source include/have_collation.inc
diff --git a/mysql-test/include/innodb_checksum_algorithm.combinations b/mysql-test/include/innodb_checksum_algorithm.combinations
index 039bfaef676..4bdd89ae579 100644
--- a/mysql-test/include/innodb_checksum_algorithm.combinations
+++ b/mysql-test/include/innodb_checksum_algorithm.combinations
@@ -1,13 +1,6 @@
-[crc32]
---innodb-checksum-algorithm=crc32
-
[strict_crc32]
--innodb-checksum-algorithm=strict_crc32
--innodb-flush-sync=OFF
-[full_crc32]
---innodb-checksum-algorithm=full_crc32
-
[strict_full_crc32]
--innodb-checksum-algorithm=strict_full_crc32
---innodb-flush-sync=OFF
diff --git a/mysql-test/include/innodb_page_size.combinations b/mysql-test/include/innodb_page_size.combinations
index b9b1e1b106f..e009b9ef3ab 100644
--- a/mysql-test/include/innodb_page_size.combinations
+++ b/mysql-test/include/innodb_page_size.combinations
@@ -8,9 +8,12 @@ innodb-buffer-pool-size=24M
[16k]
innodb-page-size=16K
+--skip-innodb-read-only-compressed
[8k]
innodb-page-size=8K
+--skip-innodb-read-only-compressed
[4k]
innodb-page-size=4K
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/include/innodb_page_size_small.combinations b/mysql-test/include/innodb_page_size_small.combinations
index a9b7c7ce14d..f181863603a 100644
--- a/mysql-test/include/innodb_page_size_small.combinations
+++ b/mysql-test/include/innodb_page_size_small.combinations
@@ -1,8 +1,11 @@
[16k]
innodb-page-size=16K
+skip-innodb-read-only-compressed
[8k]
innodb-page-size=8K
+skip-innodb-read-only-compressed
[4k]
innodb-page-size=4K
+skip-innodb-read-only-compressed
diff --git a/mysql-test/include/innodb_trx_weight.inc b/mysql-test/include/innodb_trx_weight.inc
index 56d3d47da36..a1e64276511 100644
--- a/mysql-test/include/innodb_trx_weight.inc
+++ b/mysql-test/include/innodb_trx_weight.inc
@@ -2,6 +2,8 @@
-- connect (con2,localhost,root,,)
-- connection con1
+# Enable MDEV-515 table-level undo logging for insert into empty table
+SET foreign_key_checks=0, unique_checks=0;
SET autocommit=0;
SELECT * FROM t1 FOR UPDATE;
-- if ($con1_extra_sql_present) {
@@ -9,6 +11,8 @@ SELECT * FROM t1 FOR UPDATE;
-- }
-- connection con2
+# Enable MDEV-515 table-level undo logging for insert into empty table
+SET foreign_key_checks=0, unique_checks=0;
SET autocommit=0;
SELECT * FROM t2 FOR UPDATE;
-- if ($con2_extra_sql_present) {
diff --git a/mysql-test/include/maria_empty_logs.inc b/mysql-test/include/maria_empty_logs.inc
index f1835c0d2c3..a4f893d7fd4 100644
--- a/mysql-test/include/maria_empty_logs.inc
+++ b/mysql-test/include/maria_empty_logs.inc
@@ -94,13 +94,15 @@ eval use $default_db;
--enable_query_log
#
-# Ensure that we don't get warnings from mysql.priv (used by check_mysqld)
-# or test running after this one.
+# Ensure that we don't get warnings from mysql.priv (used by check_mysqld),
+# sys_config or from test running after this one.
#
--disable_query_log
--disable_warnings
--disable_result_log
+# Zerofill all Aria tables in mysql and sys
show table status from mysql;
+show table status from sys;
--enable_result_log
--enable_warnings
--enable_query_log
diff --git a/mysql-test/include/mix2.inc b/mysql-test/include/mix2.inc
index 8e72e7ad2f6..5d7598694a6 100644
--- a/mysql-test/include/mix2.inc
+++ b/mysql-test/include/mix2.inc
@@ -1423,33 +1423,6 @@ show variables like "innodb_sync_spin_loops";
set global innodb_sync_spin_loops=20;
show variables like "innodb_sync_spin_loops";
-# Test for innodb_thread_concurrency variable
-show variables like "innodb_thread_concurrency";
-set global innodb_thread_concurrency=1001;
-show variables like "innodb_thread_concurrency";
-set global innodb_thread_concurrency=0;
-show variables like "innodb_thread_concurrency";
-set global innodb_thread_concurrency=16;
-show variables like "innodb_thread_concurrency";
-
-# Test for innodb_concurrency_tickets variable
-show variables like "innodb_concurrency_tickets";
-set global innodb_concurrency_tickets=1000;
-show variables like "innodb_concurrency_tickets";
-set global innodb_concurrency_tickets=0;
-show variables like "innodb_concurrency_tickets";
-set global innodb_concurrency_tickets=500;
-show variables like "innodb_concurrency_tickets";
-
-# Test for innodb_thread_sleep_delay variable
-show variables like "innodb_thread_sleep_delay";
-set global innodb_thread_sleep_delay=100000;
-show variables like "innodb_thread_sleep_delay";
-set global innodb_thread_sleep_delay=0;
-show variables like "innodb_thread_sleep_delay";
-set global innodb_thread_sleep_delay=10000;
-show variables like "innodb_thread_sleep_delay";
-
}
diff --git a/mysql-test/include/mtr_check.sql b/mysql-test/include/mtr_check.sql
index 76cd06e5d38..b330ff448a4 100644
--- a/mysql-test/include/mtr_check.sql
+++ b/mysql-test/include/mtr_check.sql
@@ -71,9 +71,9 @@ BEGIN
SELECT * FROM INFORMATION_SCHEMA.EVENTS;
-- Dump all triggers except mtr internals, there should be none
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
- WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert');
+ WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert') AND TRIGGER_SCHEMA != 'sys';
-- Dump all created procedures, there should be none
- SELECT * FROM INFORMATION_SCHEMA.ROUTINES;
+ SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA != 'sys';
SHOW STATUS LIKE 'slave_open_temp_tables';
@@ -87,7 +87,7 @@ BEGIN
mysql.help_keyword,
mysql.help_relation,
mysql.plugin,
- mysql.proc,
+-- mysql.proc,
mysql.procs_priv,
mysql.roles_mapping,
mysql.tables_priv,
diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql
index 577d2a78b47..0584bb934e2 100644
--- a/mysql-test/include/mtr_warnings.sql
+++ b/mysql-test/include/mtr_warnings.sql
@@ -141,7 +141,7 @@ INSERT INTO global_suppressions VALUES
("You have an error in your SQL syntax"),
("deprecated"),
("description of time zone"),
- ("equal MySQL server ids"),
+ ("equal MariaDB server ids"),
("error .*connecting to master"),
("error reading log entry"),
("lower_case_table_names is set"),
@@ -176,7 +176,7 @@ INSERT INTO global_suppressions VALUES
("Restore: The grant .* was skipped because the user does not exist"),
("The path specified for the variable .* is not a directory or cannot be written:"),
("Master server does not support or not configured semi-sync replication, fallback to asynchronous"),
- (": The MySQL server is running with the --secure-backup-file-priv option so it cannot execute this statement"),
+ (": The MariaDB server is running with the --secure-backup-file-priv option so it cannot execute this statement"),
("Slave: Unknown table 't1' error.* 1051"),
/* Maria storage engine dependent tests */
diff --git a/mysql-test/include/mysql_upgrade_preparation.inc b/mysql-test/include/mysql_upgrade_preparation.inc
index 03019ae29ff..6cdaf6dd3d4 100644
--- a/mysql-test/include/mysql_upgrade_preparation.inc
+++ b/mysql-test/include/mysql_upgrade_preparation.inc
@@ -2,6 +2,9 @@
# Can't run test of external client with embedded server
-- source include/not_embedded.inc
+# diff in the output, if perfschema is not compiled in
+# (sys schema views are missing)
+-- source include/have_perfschema.inc
#
# Hack:
#
diff --git a/mysql-test/include/print_ddl_log.inc b/mysql-test/include/print_ddl_log.inc
new file mode 100644
index 00000000000..7b09c62231e
--- /dev/null
+++ b/mysql-test/include/print_ddl_log.inc
@@ -0,0 +1,78 @@
+--echo #
+--echo # Reading backup ddl log file
+--echo #
+
+let MYSQLD_DATADIR= `select @@datadir`;
+perl;
+ $datadir= $ENV{'MYSQLD_DATADIR'};
+ $id_count= 0;
+ $tmp_table_count;
+
+ open(FILE, "$datadir/ddl.log") or
+ die("Unable to read log file $datadir/ddl.log: $!\n");
+ while(<FILE>)
+ {
+ chop;
+ if (/([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)[\t]([^\t]*)/)
+ {
+ my $date = $1;
+ my $query = $2;
+ my $storage = $3;
+ my $partitioned = $4;
+ my $db = $5;
+ my $table = $6;
+ my $table_ver = $7;
+ my $new_storage = $8;
+ my $new_partitioned = $9;
+ my $new_db = $10;
+ my $new_table = $11;
+ my $new_table_ver = $12;
+ # Fix table ids
+ $table_id1= "";
+ $table_id2= "";
+ if (!($table_ver eq ""))
+ {
+ $table_id1= "id: $id{$table_ver}";
+ if (!exists($id{$table_ver}))
+ {
+ $id_count++;
+ $table_id1= "id: $id_count";
+ $id{$table_ver}= $id_count;
+ }
+ }
+ if (!($new_table_ver eq ""))
+ {
+ $table_id2= "id: $id{$new_table_ver}";
+ if (!exists($id{$new_table_ver}))
+ {
+ $id_count++;
+ $table_id2= "id: $id_count";
+ $id{$new_table_ver}= $id_count;
+ }
+ }
+ # Fix table names
+ $table_name1= $table;
+ if (substr($table_name1,0,5) eq '@0023')
+ {
+ if (!exists($name{$table_name1}))
+ {
+ $tmp_table_count++;
+ $name{$table_name1}= "#sql" . $tmp_table_count;
+ }
+ $table_name1= $name{$table_name1};
+ }
+ $table_name2= $new_table;
+ if (substr($table_name2,0,5) eq '@0023')
+ {
+ if (!exists($name{$table_name2}))
+ {
+ $tmp_table_count++;
+ $name{$table_name2}= "#sql" . $tmp_table_count;
+ }
+ $table_name2= $name{$table_name2};
+ }
+
+ print "$query,$storage,$partitioned,$db,$table_name1,$table_id1,$new_storage,$new_partitioned,$new_db,$table_name2,$table_id2\n";
+ }
+ }
+EOF
diff --git a/mysql-test/include/protocol.combinations b/mysql-test/include/protocol.combinations
new file mode 100644
index 00000000000..fa5b08c0e51
--- /dev/null
+++ b/mysql-test/include/protocol.combinations
@@ -0,0 +1,3 @@
+[nm]
+
+[ps]
diff --git a/mysql-test/include/protocol.inc b/mysql-test/include/protocol.inc
new file mode 100644
index 00000000000..02f8c3f3dec
--- /dev/null
+++ b/mysql-test/include/protocol.inc
@@ -0,0 +1,2 @@
+# The goal of including this file is to enable protocol
+# combinations (see include/protocol.combinations)
diff --git a/mysql-test/include/restart_mysqld.inc b/mysql-test/include/restart_mysqld.inc
index 689f3b8cc1f..9abd2b66131 100644
--- a/mysql-test/include/restart_mysqld.inc
+++ b/mysql-test/include/restart_mysqld.inc
@@ -8,3 +8,8 @@
--source include/shutdown_mysqld.inc
--source include/start_mysqld.inc
+
+# The following sleep is required to give sleep_until_file_created() time
+# to notice that the server was restarted. sleep_until_file_created() would
+# fail if the server was restarted or killed at once after restart.
+--sleep 0.1
diff --git a/mysql-test/include/show_events.inc b/mysql-test/include/show_events.inc
index 453cde39ed5..7f35fc6c433 100644
--- a/mysql-test/include/show_events.inc
+++ b/mysql-test/include/show_events.inc
@@ -89,6 +89,13 @@ if (!$binlog_database)
--let $output_file= GENERATE
--source include/write_result_to_file.inc
+# If requested, change the name of the binary log file in the output
+--let $modify_binlog_name=
+if ($binlog_output_name != "")
+{
+ --let $modify_binlog_name=s{$_binlog_file}{$binlog_output_name};
+}
+
# Filter the file through the following script.
--delimiter ||
let $script=
@@ -108,7 +115,9 @@ let $script=
s{SONAME ".*"}{SONAME "LIB"};
s{DOLLARmysqltest_vardir}{MYSQLTEST_VARDIR}g;
s{$binlog_database}{database};
+ $modify_binlog_name
||
+
--let $pre_script= my DOLLARmysqltest_vardir = DOLLARENV{'MYSQLTEST_VARDIR'};
--delimiter ;
diff --git a/mysql-test/include/show_rpl_debug_info.inc b/mysql-test/include/show_rpl_debug_info.inc
index 1b2b7360970..7ee674df115 100644
--- a/mysql-test/include/show_rpl_debug_info.inc
+++ b/mysql-test/include/show_rpl_debug_info.inc
@@ -28,7 +28,7 @@
# By default, debug info is printed from all connections, starting
# with the current connection. If this variable is set, debug
# info is printed only for the current connection.
-#
+#
#
# ==== Side effects ====
#
@@ -42,6 +42,7 @@
--enable_query_log
--enable_result_log
--enable_warnings
+--enable_connect_log
--disable_abort_on_error
--horizontal_results
@@ -49,6 +50,10 @@
--let $_rpl_old_con= $CURRENT_CONNECTION
--let $_rpl_is_first_server= 1
--let $_rpl_server= $rpl_server_count
+if ($_rpl_server == '')
+{
+ --let $_rpl_server= 0
+}
--inc $_rpl_server
diff --git a/mysql-test/include/wait_until_connected_again.inc b/mysql-test/include/wait_until_connected_again.inc
index 15a1e5bf847..44b7fdb8e6b 100644
--- a/mysql-test/include/wait_until_connected_again.inc
+++ b/mysql-test/include/wait_until_connected_again.inc
@@ -12,7 +12,7 @@ let $mysql_errno= 9999;
while ($mysql_errno)
{
--error 0,ER_ACCESS_DENIED_ERROR,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,ER_LOCK_WAIT_TIMEOUT,2002,2006,2013
- show status;
+ select 1;
dec $counter;
if (!$counter)
@@ -21,16 +21,22 @@ while ($mysql_errno)
}
if (!$mysql_errno)
{
- # WSREP: SHOW STATUS queries are allowed even if wsrep
- # is not ready. Make sure wsrep is ready before
- # returning from this script
- source include/wait_wsrep_ready.inc;
+ if (!$NO_WSREP)
+ {
+ # WSREP: SHOW STATUS queries are allowed even if wsrep
+ # is not ready. Make sure wsrep is ready before
+ # returning from this script
+ source include/wait_wsrep_ready.inc;
+ }
}
if ($mysql_errno == 1045)
{
let $mysql_errno=0;
}
- --sleep 0.1
+ if ($mysql_errno > 0)
+ {
+ --sleep 0.1
+ }
}
--enable_query_log
--enable_result_log
diff --git a/mysql-test/lib/My/ConfigFactory.pm b/mysql-test/lib/My/ConfigFactory.pm
index 3249a06256c..5a5b691998c 100644
--- a/mysql-test/lib/My/ConfigFactory.pm
+++ b/mysql-test/lib/My/ConfigFactory.pm
@@ -347,8 +347,15 @@ sub resolve_at_variable {
or croak "There is no group named '$group_name' that ",
"can be used to resolve '$option_name' for test '$self->{testname}'";
- my $value= $from_group->value($option_name) || '';
- $res .= $before.$value;
+ my $value= $from_group->value($option_name);
+ if (!defined($value))
+ {
+ ::mtr_verbose("group: $group_name option_name: $option_name is undefined");
+ }
+ else
+ {
+ $res .= $before.$value;
+ }
}
$res .= $after;
diff --git a/mysql-test/lib/My/Debugger.pm b/mysql-test/lib/My/Debugger.pm
index dea65cff182..4235abd7887 100644
--- a/mysql-test/lib/My/Debugger.pm
+++ b/mysql-test/lib/My/Debugger.pm
@@ -45,6 +45,7 @@ my %debuggers = (
script => 'set args {args} < {input}',
},
ddd => {
+ interactive => 1,
options => '--command {script} {exe}',
script => 'set args {args} < {input}',
},
@@ -53,9 +54,11 @@ my %debuggers = (
options => '-c "stop in main; run {exe} {args} < {input}"',
},
devenv => {
+ interactive => 1,
options => '/debugexe {exe} {args}',
},
windbg => {
+ interactive => 1,
options => '{exe} {args}',
},
lldb => {
@@ -74,7 +77,7 @@ my %debuggers = (
options => '-f -o {log} {exe} {args}',
},
rr => {
- options => '_RR_TRACE_DIR={log} rr record {exe} {args}',
+ options => '_RR_TRACE_DIR={log} rr record {exe} {args} --loose-skip-innodb-use-native-aio --loose-innodb-flush-method=fsync',
run => 'env',
pre => sub {
::mtr_error('rr requires kernel.perf_event_paranoid <= 1')
@@ -191,11 +194,15 @@ sub fix_options(@) {
sub pre_setup() {
my $used;
+ my $interactive;
for my $k (keys %debuggers) {
for my $opt ($k, "manual-$k", "boot-$k", "client-$k") {
if ($opt_vals{$opt})
{
$used = 1;
+ $interactive ||= ($debuggers{$k}->{interactive} ||
+ $debuggers{$k}->{term} ||
+ ($opt =~ /^manual-/));
if ($debuggers{$k}->{pre}) {
$debuggers{$k}->{pre}->();
delete $debuggers{$k}->{pre};
@@ -210,10 +217,10 @@ sub pre_setup() {
$::opt_retry= 1;
$::opt_retry_failure= 1;
- $::opt_testcase_timeout= 7 * 24 * 60; # in minutes
- $::opt_suite_timeout= 7 * 24 * 60; # in minutes
- $::opt_shutdown_timeout= 24 * 60 *60; # in seconds
- $::opt_start_timeout= 24 * 60 * 60; # in seconds
+ $::opt_testcase_timeout= ($interactive ? 24 : 4) * 60; # in minutes
+ $::opt_suite_timeout= 24 * 60; # in minutes
+ $::opt_shutdown_timeout= ($interactive ? 24 * 60 : 3) * 60; # in seconds
+ $::opt_start_timeout= $::opt_shutdown_timeout; # in seconds
}
}
diff --git a/mysql-test/lib/generate-ssl-certs.sh b/mysql-test/lib/generate-ssl-certs.sh
index 3331b81b931..57caf3b7a4e 100755
--- a/mysql-test/lib/generate-ssl-certs.sh
+++ b/mysql-test/lib/generate-ssl-certs.sh
@@ -9,21 +9,26 @@ cd std_data/
rm -rf demoCA
mkdir demoCA demoCA/newcerts
touch demoCA/index.txt
+touch demoCA/index.txt.attr
echo 01 > demoCA/serial
echo 01 > demoCA/crlnumber
+# Use rsa:3072 at minimum for all keys to be future compatible with next OpenSSL releases
+# See level 3 in https://www.openssl.org/docs/man1.1.0/man3/SSL_CTX_set_security_level.html
+# Following industry practice, jump directly to rsa:4096 instead of just rsa:3072.
+
# CA certificate, self-signed
-openssl req -x509 -newkey rsa:2048 -keyout cakey.pem -out cacert.pem -days 7300 -nodes -subj '/CN=cacert/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB' -text
+openssl req -x509 -newkey rsa:4096 -keyout cakey.pem -out cacert.pem -days 7300 -nodes -subj '/CN=cacert/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB' -text
# server certificate signing request and private key. Note the very long subject (for MDEV-7859)
-openssl req -newkey rsa:2048 -keyout server-key.pem -out demoCA/server-req.pem -days 7300 -nodes -subj '/CN=localhost/C=FI/ST=state or province within country, in other certificates in this file it is the same as L/L=location, usually an address but often ambiguously used/OU=organizational unit name, a division name within an organization/O=organization name, typically a company name'
+openssl req -newkey rsa:4096 -keyout server-key.pem -out demoCA/server-req.pem -days 7300 -nodes -subj '/CN=localhost/C=FI/ST=state or province within country, in other certificates in this file it is the same as L/L=location, usually an address but often ambiguously used/OU=organizational unit name, a division name within an organization/O=organization name, typically a company name'
# convert the key to yassl compatible format
openssl rsa -in server-key.pem -out server-key.pem
# sign the server certificate with CA certificate
openssl ca -keyfile cakey.pem -days 7300 -batch -cert cacert.pem -policy policy_anything -out server-cert.pem -in demoCA/server-req.pem
# server certificate with different validity period (MDEV-7598)
-openssl req -newkey rsa:2048 -keyout server-new-key.pem -out demoCA/server-new-req.pem -days 7301 -nodes -subj '/CN=server-new/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
+openssl req -newkey rsa:4096 -keyout server-new-key.pem -out demoCA/server-new-req.pem -days 7301 -nodes -subj '/CN=server-new/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
openssl rsa -in server-new-key.pem -out server-new-key.pem
openssl ca -keyfile cakey.pem -days 7301 -batch -cert cacert.pem -policy policy_anything -out server-new-cert.pem -in demoCA/server-new-req.pem
@@ -36,11 +41,11 @@ openssl ca -keyfile cakey.pem -days 7300 -batch -cert cacert.pem -policy policy_
cat > demoCA/sanext.conf <<EOF
subjectAltName=IP:127.0.0.1, DNS:localhost
EOF
-openssl req -newkey rsa:2048 -keyout serversan-key.pem -out demoCA/serversan-req.pem -days 7300 -nodes -subj '/CN=server/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
+openssl req -newkey rsa:4096 -keyout serversan-key.pem -out demoCA/serversan-req.pem -days 7300 -nodes -subj '/CN=server/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
openssl ca -keyfile cakey.pem -extfile demoCA/sanext.conf -days 7300 -batch -cert cacert.pem -policy policy_anything -out serversan-cert.pem -in demoCA/serversan-req.pem
# client cert
-openssl req -newkey rsa:2048 -keyout client-key.pem -out demoCA/client-req.pem -days 7300 -nodes -subj '/CN=client/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
+openssl req -newkey rsa:4096 -keyout client-key.pem -out demoCA/client-req.pem -days 7300 -nodes -subj '/CN=client/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
openssl rsa -in client-key.pem -out client-key.pem
openssl ca -keyfile cakey.pem -days 7300 -batch -cert cacert.pem -policy policy_anything -out client-cert.pem -in demoCA/client-req.pem
diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl
index 2ff78c0e10a..42254bd29b7 100644
--- a/mysql-test/lib/mtr_process.pl
+++ b/mysql-test/lib/mtr_process.pl
@@ -108,10 +108,11 @@ sub sleep_until_file_created ($$$$$) {
my $timeout= shift;
my $proc= shift;
my $warn_seconds = shift;
- my $sleeptime= 100; # Milliseconds
+ my $sleeptime= 10; # Milliseconds
my $loops= ($timeout * 1000) / $sleeptime;
+ my $message_time= 60;
- for ( my $loop= 1; $loop <= $loops; $loop++ )
+ for ( my $loop= 0; $loop <= $loops; $loop++ )
{
if ( -r $pidfile )
{
@@ -132,9 +133,10 @@ sub sleep_until_file_created ($$$$$) {
mtr_debug("Sleep $sleeptime milliseconds waiting for $pidfile");
# Print extra message every $warn_seconds seconds
- if ( $seconds > 1 && ($seconds*10) % ($warn_seconds*10) == 0 && $seconds < $timeout )
+ if ( $seconds >= $message_time)
{
- my $left= $timeout - $seconds;
+ $message_time= $message_time+60;
+ my $left= $timeout - int($seconds);
mtr_warning("Waited $seconds seconds for $pidfile to be created, " .
"still waiting for $left seconds...");
}
diff --git a/mysql-test/lib/mtr_stress.pl b/mysql-test/lib/mtr_stress.pl
index 3a9ca8fafcc..cf7064cb68f 100644
--- a/mysql-test/lib/mtr_stress.pl
+++ b/mysql-test/lib/mtr_stress.pl
@@ -44,7 +44,7 @@ sub run_stress_test ()
{
if ( ! mysqld_start($::master->[0],[],[]) )
{
- mtr_error("Can't start the mysqld server");
+ mtr_error("Can't start the mariadbd server");
}
}
@@ -136,7 +136,7 @@ sub run_stress_test ()
}
mtr_init_args(\$args);
- mtr_add_args($args, "$::glob_mysql_test_dir/mysql-stress-test.pl");
+ mtr_add_args($args, "$::glob_mysql_test_dir/mariadb-stress-test.pl");
mtr_add_arg($args, "--server-socket=%s", $::master->[0]->{'path_sock'});
mtr_add_arg($args, "--server-user=%s", $::opt_user);
mtr_add_arg($args, "--server-database=%s", "test");
diff --git a/mysql-test/lib/v1/mtr_stress.pl b/mysql-test/lib/v1/mtr_stress.pl
index c248b8089c6..c96469a5d94 100644
--- a/mysql-test/lib/v1/mtr_stress.pl
+++ b/mysql-test/lib/v1/mtr_stress.pl
@@ -44,7 +44,7 @@ sub run_stress_test ()
{
if ( ! mysqld_start($::master->[0],[],[]) )
{
- mtr_error("Can't start the mysqld server");
+ mtr_error("Can't start the mariadbd server");
}
}
@@ -182,7 +182,7 @@ sub run_stress_test ()
}
#Run stress test
- mtr_run("$::glob_mysql_test_dir/mysql-stress-test.pl", $args, "", "", "", "");
+ mtr_run("$::glob_mysql_test_dir/mariadb-stress-test.pl", $args, "", "", "", "");
if ( ! $::glob_use_embedded_server )
{
stop_all_servers();
diff --git a/mysql-test/main/1st.result b/mysql-test/main/1st.result
index c630be1d61c..f52a0218ced 100644
--- a/mysql-test/main/1st.result
+++ b/mysql-test/main/1st.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
show tables in mysql;
Tables_in_mysql
diff --git a/mysql-test/main/almost_full.result b/mysql-test/main/almost_full.result
index b2d7092aa51..4b5c8417412 100644
--- a/mysql-test/main/almost_full.result
+++ b/mysql-test/main/almost_full.result
@@ -7,24 +7,24 @@ INSERT INTO t1 SET b=repeat('a',600);
ERROR HY000: The table 't1' is full
CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
test.t1 check status OK
UPDATE t1 SET b=repeat('a', 800) where a=10;
ERROR HY000: The table 't1' is full
CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
test.t1 check status OK
INSERT INTO t1 SET b=repeat('a',400);
CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
test.t1 check status OK
DELETE FROM t1 WHERE a=2 or a=6;
UPDATE t1 SET b=repeat('a', 600) where a=11;
CHECK TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 65448 of 65534 used
+test.t1 check warning Datafile is almost full, 65448 of 65534 used
test.t1 check status OK
drop table t1;
set global myisam_data_pointer_size=default;
diff --git a/mysql-test/main/alter_table.result b/mysql-test/main/alter_table.result
index 755de4336b9..1cad2f14a41 100644
--- a/mysql-test/main/alter_table.result
+++ b/mysql-test/main/alter_table.result
@@ -126,44 +126,44 @@ key (n3, n4, n1, n2),
key (n4, n1, n2, n3) );
alter table t1 disable keys;
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 0 n1 1 n1 A 0 NULL NULL BTREE
-t1 1 n1_2 1 n1 A NULL NULL NULL BTREE disabled
-t1 1 n1_2 2 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n1_2 3 n3 A NULL NULL NULL YES BTREE disabled
-t1 1 n1_2 4 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 1 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 2 n3 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 3 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n2 4 n1 A NULL NULL NULL BTREE disabled
-t1 1 n3 1 n3 A NULL NULL NULL YES BTREE disabled
-t1 1 n3 2 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n3 3 n1 A NULL NULL NULL BTREE disabled
-t1 1 n3 4 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled
-t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled
-t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled
-t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 n1 1 n1 A 0 NULL NULL BTREE NO
+t1 1 n1_2 1 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n1_2 2 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n1_2 3 n3 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n1_2 4 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 1 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 2 n3 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 3 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n2 4 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n3 1 n3 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n3 2 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n3 3 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n3 4 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled NO
+t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled NO
+t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
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 0 n1 1 n1 A 10 NULL NULL BTREE
-t1 1 n1_2 1 n1 A 10 NULL NULL BTREE
-t1 1 n1_2 2 n2 A 10 NULL NULL YES BTREE
-t1 1 n1_2 3 n3 A 10 NULL NULL YES BTREE
-t1 1 n1_2 4 n4 A 10 NULL NULL YES BTREE
-t1 1 n2 1 n2 A 10 NULL NULL YES BTREE
-t1 1 n2 2 n3 A 10 NULL NULL YES BTREE
-t1 1 n2 3 n4 A 10 NULL NULL YES BTREE
-t1 1 n2 4 n1 A 10 NULL NULL BTREE
-t1 1 n3 1 n3 A 10 NULL NULL YES BTREE
-t1 1 n3 2 n4 A 10 NULL NULL YES BTREE
-t1 1 n3 3 n1 A 10 NULL NULL BTREE
-t1 1 n3 4 n2 A 10 NULL NULL YES BTREE
-t1 1 n4 1 n4 A 10 NULL NULL YES BTREE
-t1 1 n4 2 n1 A 10 NULL NULL BTREE
-t1 1 n4 3 n2 A 10 NULL NULL YES BTREE
-t1 1 n4 4 n3 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 n1 1 n1 A 10 NULL NULL BTREE NO
+t1 1 n1_2 1 n1 A 10 NULL NULL BTREE NO
+t1 1 n1_2 2 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n1_2 3 n3 A 10 NULL NULL YES BTREE NO
+t1 1 n1_2 4 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n2 1 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n2 2 n3 A 10 NULL NULL YES BTREE NO
+t1 1 n2 3 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n2 4 n1 A 10 NULL NULL BTREE NO
+t1 1 n3 1 n3 A 10 NULL NULL YES BTREE NO
+t1 1 n3 2 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n3 3 n1 A 10 NULL NULL BTREE NO
+t1 1 n3 4 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n4 1 n4 A 10 NULL NULL YES BTREE NO
+t1 1 n4 2 n1 A 10 NULL NULL BTREE NO
+t1 1 n4 3 n2 A 10 NULL NULL YES BTREE NO
+t1 1 n4 4 n3 A 10 NULL NULL YES BTREE NO
drop table t1;
create table t1 (i int unsigned not null auto_increment primary key);
alter table t1 rename t2;
@@ -176,19 +176,19 @@ drop table t1;
create table t1 (a int, b int);
alter table t1 add unique (a,b), add key (b);
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 0 a 1 a A 3 NULL NULL YES BTREE
-t1 0 a 2 b A 300 NULL NULL YES BTREE
-t1 1 b 1 b A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A 3 NULL NULL YES BTREE NO
+t1 0 a 2 b A 300 NULL NULL YES BTREE NO
+t1 1 b 1 b A 100 NULL NULL YES BTREE NO
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
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 0 a 1 a A 3 NULL NULL YES BTREE
-t1 0 a 2 b A 300 NULL NULL YES BTREE
-t1 1 b 1 b A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A 3 NULL NULL YES BTREE NO
+t1 0 a 2 b A 300 NULL NULL YES BTREE NO
+t1 1 b 1 b A 100 NULL NULL YES BTREE NO
drop table t1;
CREATE TABLE t1 (i int(10), index(i) ) ENGINE=MyISAM;
ALTER TABLE t1 DISABLE KEYS;
@@ -204,9 +204,9 @@ ALTER TABLE t1 DISABLE KEYS;
LOCK TABLES t1 WRITE;
INSERT INTO t1 VALUES ('localhost','root'),('localhost',''),('games','monty');
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 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
ALTER TABLE t1 ENABLE KEYS;
UNLOCK TABLES;
CHECK TABLES t1;
@@ -221,23 +221,23 @@ KEY (Host)
) ENGINE=MyISAM;
ALTER TABLE t1 DISABLE KEYS;
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 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
-t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
+t1 1 Host 1 Host A NULL NULL NULL BTREE disabled NO
LOCK TABLES t1 WRITE;
INSERT INTO t1 VALUES ('localhost','root'),('localhost','');
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 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
-t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
+t1 1 Host 1 Host A NULL NULL NULL BTREE disabled NO
ALTER TABLE t1 ENABLE KEYS;
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 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 2 NULL NULL BTREE
-t1 1 Host 1 Host A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 2 NULL NULL BTREE NO
+t1 1 Host 1 Host A 1 NULL NULL BTREE NO
UNLOCK TABLES;
CHECK TABLES t1;
Table Op Msg_type Msg_text
@@ -259,10 +259,10 @@ KEY (Host)
LOCK TABLES t1 WRITE;
ALTER TABLE t1 DISABLE KEYS;
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 Host A NULL NULL NULL BTREE
-t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
-t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE NO
+t1 0 PRIMARY 2 User A 0 NULL NULL BTREE NO
+t1 1 Host 1 Host A NULL NULL NULL BTREE disabled NO
DROP TABLE t1;
create table t1 (a int);
alter table t1 rename to ``;
@@ -444,38 +444,38 @@ drop table t1;
drop table if exists t1;
create table t1 (a int, key(a));
show indexes 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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
"this used not to disable the index"
alter table t1 modify a int, disable keys;
show indexes 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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show indexes 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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 modify a bigint, disable keys;
show indexes 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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show indexes 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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 add b char(10), disable keys;
show indexes 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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 add c decimal(10,2), enable keys;
show indexes 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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
"this however did"
alter table t1 disable keys;
show indexes 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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
desc t1;
Field Type Null Key Default Extra
a bigint(20) YES MUL NULL
@@ -484,83 +484,83 @@ c decimal(10,2) YES NULL
alter table t1 add d decimal(15,5);
"The key should still be disabled"
show indexes 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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
drop table t1;
"Now will test with one unique index"
create table t1(a int, b char(10), unique(a));
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 enable keys;
"If no copy on noop change, this won't touch the data file"
"Unique index, no change"
alter table t1 modify a int, disable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
"Change the type implying data copy"
"Unique index, no change"
alter table t1 modify a bigint, disable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 modify a bigint;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 modify a int;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
drop table t1;
"Now will test with one unique and one non-unique index"
create table t1(a int, b char(10), unique(a), key(b));
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
"If no copy on noop change, this won't touch the data file"
"The non-unique index will be disabled"
alter table t1 modify a int, disable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
"Change the type implying data copy"
"The non-unique index will be disabled"
alter table t1 modify a bigint, disable keys;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
"Change again the type, but leave the indexes as_is"
alter table t1 modify a int;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
"Try the same. When data is no copied on similar tables, this is noop"
alter table t1 modify a int;
show indexes 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 a 1 a A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE disabled NO
drop table t1;
create database mysqltest;
create table t1 (c1 int);
@@ -596,12 +596,12 @@ DROP TABLE IF EXISTS bug24219;
DROP TABLE IF EXISTS bug24219_2;
CREATE TABLE bug24219 (a INT, INDEX(a));
SHOW INDEX FROM bug24219;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-bug24219 1 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+bug24219 1 a 1 a A NULL NULL NULL YES BTREE NO
ALTER TABLE bug24219 RENAME TO bug24219_2, DISABLE KEYS;
SHOW INDEX FROM bug24219_2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-bug24219_2 1 a 1 a A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+bug24219_2 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
DROP TABLE bug24219_2;
drop table if exists table_24562;
create table table_24562(
@@ -902,7 +902,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` text DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
drop table t1;
create table t1 (a mediumtext character set latin1);
alter table t1 convert to character set utf8;
@@ -910,7 +910,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` longtext DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
drop table t1;
End of 5.0 tests
drop table if exists t1, t2, t3;
@@ -1044,8 +1044,8 @@ Field Type Null Key Default Extra
int_field int(10) unsigned NO MUL NULL
char_field char(10) YES NULL
SHOW INDEXES 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 int_field 1 int_field A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 int_field 1 int_field A NULL NULL NULL BTREE NO
INSERT INTO t1 VALUES (1, "edno"), (1, "edno"), (2, "dve"), (3, "tri"), (5, "pet");
"Non-copy data change - new frm, but old data and index files"
ALTER TABLE t1
@@ -1373,7 +1373,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`consultant_id` int(11) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
CREATE TABLE t1 (
`a` int(11) DEFAULT NULL
@@ -1385,7 +1385,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`consultant_id` int(11) NOT NULL DEFAULT 2
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
CREATE TABLE t1 (
`a` int(11) DEFAULT NULL
@@ -1397,7 +1397,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`consultant_id` int(11) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
CREATE TABLE t1 (
`a` int(11) DEFAULT NULL
@@ -1410,7 +1410,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`consultant_id` bigint(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
#
# BUG#27788685: NO WARNING WHEN TRUNCATING A STRING WITH DATA LOSS
@@ -2230,7 +2230,7 @@ t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
#
# MDEV-15308
diff --git a/mysql-test/main/analyze.result b/mysql-test/main/analyze.result
index dd785abcd42..a1332abd177 100644
--- a/mysql-test/main/analyze.result
+++ b/mysql-test/main/analyze.result
@@ -60,8 +60,8 @@ analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
drop table t1;
End of 4.1 tests
create table t1(a int);
diff --git a/mysql-test/main/backup_lock.result b/mysql-test/main/backup_lock.result
index 96503814d00..16806148c67 100644
--- a/mysql-test/main/backup_lock.result
+++ b/mysql-test/main/backup_lock.result
@@ -2,23 +2,28 @@
# Testing which locks we get from all stages
#
BACKUP STAGE START;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_START Backup lock
BACKUP STAGE FLUSH;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_FLUSH Backup lock
BACKUP STAGE BLOCK_DDL;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_WAIT_DDL Backup lock
BACKUP STAGE BLOCK_COMMIT;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_WAIT_COMMIT Backup lock
BACKUP STAGE END;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
#
# testing BACKUP STAGE LOCK's
@@ -30,14 +35,17 @@ connection default;
# testing if BACKUP STAGE FLUSH causes deadlocks with ALTER TABLE
#
create table t1 (a int) engine=innodb;
+connection con2;
+backup stage start;
+connection default;
start transaction;
insert into t1 values (1);
connection con1;
alter table t1 add column (j int), algorithm copy;
connection con2;
-backup stage start;
backup stage flush;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_DDL Backup lock
MDL_BACKUP_FLUSH Backup lock
@@ -73,7 +81,8 @@ alter table t1 add column (j int);
connection con2;
backup stage start;
backup stage flush;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_ALTER_COPY Backup lock
MDL_BACKUP_FLUSH Backup lock
@@ -108,7 +117,8 @@ backup stage flush;
SET STATEMENT lock_wait_timeout=0 FOR SELECT * FROM t1;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
backup stage block_ddl;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_WAIT_DDL Backup lock
MDL_SHARED_WRITE Table metadata lock test t1
@@ -128,7 +138,8 @@ connection con1;
DROP TABLE t1;
connection con2;
connection con2;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_WAIT_DDL Backup lock
SELECT * FROM t1;
@@ -175,6 +186,23 @@ select * from t1;
a
1
drop table t1;
+#
+# Check if BACKUP STAGE BLOCK_DDL blocks create view
+#
+create table t1 (a int) engine=innodb;
+connection con1;
+backup stage start;
+backup stage block_ddl;
+connection default;
+create view v1 as select * from t1;;
+connection con1;
+select count(*) = 1 from information_schema.processlist;
+count(*) = 1
+0
+backup stage end;
+connection default;
+drop table t1;
+drop view v1;
disconnect con1;
disconnect con2;
#
diff --git a/mysql-test/main/backup_lock.test b/mysql-test/main/backup_lock.test
index 0d4da8cb892..9fdc42b54ea 100644
--- a/mysql-test/main/backup_lock.test
+++ b/mysql-test/main/backup_lock.test
@@ -10,16 +10,19 @@
--echo # Testing which locks we get from all stages
--echo #
+let $mdl= LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
+
BACKUP STAGE START;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
BACKUP STAGE FLUSH;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
BACKUP STAGE BLOCK_DDL;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
BACKUP STAGE BLOCK_COMMIT;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
BACKUP STAGE END;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
--echo #
--echo # testing BACKUP STAGE LOCK's
@@ -36,6 +39,10 @@ connection default;
create table t1 (a int) engine=innodb;
+connection con2;
+backup stage start;
+connection default;
+
start transaction;
# Acquires MDL lock
insert into t1 values (1);
@@ -49,9 +56,8 @@ let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table metadata lock";
--source include/wait_condition.inc
-backup stage start;
backup stage flush;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
#
# Do first test with max_statement_time, other tests later are done with
# lock_wait_timeout. This is mostly to ensure that both methods works
@@ -100,7 +106,7 @@ let $wait_condition=
--source include/wait_condition.inc
backup stage start;
backup stage flush;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
backup stage block_ddl;
backup stage block_commit;
connection default;
@@ -143,7 +149,7 @@ let $wait_condition=
SET STATEMENT lock_wait_timeout=0 FOR SELECT * FROM t1;
backup stage block_ddl;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
backup stage end;
connection default;
@@ -167,7 +173,7 @@ let $wait_condition=
where state = "Waiting for backup lock";
--source include/wait_condition.inc
connection con2;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+eval SELECT $mdl;
# Check that select's are not blocked
SELECT * FROM t1;
connection default;
@@ -227,6 +233,28 @@ connection default;
select * from t1;
drop table t1;
+--echo #
+--echo # Check if BACKUP STAGE BLOCK_DDL blocks create view
+--echo #
+
+create table t1 (a int) engine=innodb;
+connection con1;
+backup stage start;
+backup stage block_ddl;
+connection default;
+--send create view v1 as select * from t1;
+connection con1;
+--sleep 2
+select count(*) = 1 from information_schema.processlist;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for backup lock";
+backup stage end;
+connection default;
+--reap # create
+drop table t1;
+drop view v1;
+
#
# End of tests using con1 and con2
#
diff --git a/mysql-test/main/backup_lock_debug.result b/mysql-test/main/backup_lock_debug.result
index 7c7b05901a9..229c32a85f4 100644
--- a/mysql-test/main/backup_lock_debug.result
+++ b/mysql-test/main/backup_lock_debug.result
@@ -33,11 +33,13 @@ SET DEBUG_SYNC= 'RESET';
#
CREATE DATABASE test2;
CREATE TABLE t1(a INT) ENGINE=InnoDB;
+connect con1,localhost,root,,;
+BACKUP STAGE START;
+connection default;
SET DEBUG_SYNC='alter_opened_table SIGNAL ready WAIT_FOR go';
ALTER TABLE t1 RENAME TO test2.t1;
-connect con1,localhost,root,,;
+connection con1;
SET DEBUG_SYNC='now WAIT_FOR ready';
-BACKUP STAGE START;
SET DEBUG_SYNC='mdl_acquire_lock_wait SIGNAL ready1';
BACKUP STAGE BLOCK_DDL;
connect con2,localhost,root,,;
diff --git a/mysql-test/main/backup_lock_debug.test b/mysql-test/main/backup_lock_debug.test
index 80e7cf9e181..37d70b04e0d 100644
--- a/mysql-test/main/backup_lock_debug.test
+++ b/mysql-test/main/backup_lock_debug.test
@@ -49,12 +49,15 @@ SET DEBUG_SYNC= 'RESET';
CREATE DATABASE test2;
CREATE TABLE t1(a INT) ENGINE=InnoDB;
+connect (con1,localhost,root,,);
+BACKUP STAGE START;
+
+--connection default
SET DEBUG_SYNC='alter_opened_table SIGNAL ready WAIT_FOR go';
send ALTER TABLE t1 RENAME TO test2.t1;
-connect (con1,localhost,root,,);
+--connection con1
SET DEBUG_SYNC='now WAIT_FOR ready';
-BACKUP STAGE START;
SET DEBUG_SYNC='mdl_acquire_lock_wait SIGNAL ready1';
send BACKUP STAGE BLOCK_DDL;
diff --git a/mysql-test/main/backup_log.inc b/mysql-test/main/backup_log.inc
new file mode 100644
index 00000000000..f553a3b9527
--- /dev/null
+++ b/mysql-test/main/backup_log.inc
@@ -0,0 +1,155 @@
+# This file is used for common DDL log test for both partiotioned
+# and non-partitioned tables.
+# Parameters:
+# $part_int - partition definition for int field, must be empty for
+# non-partitioned testing
+# $part_date - partition definition for date field, must be empty for
+# non-partitioned testing
+
+--echo #
+--echo # Testing with normal tables
+--echo #
+
+eval create table t1 (a int) engine=myisam $part_int;
+insert into t1 values (1),(2);
+alter table t1 add column b int;
+alter table t1 rename as t2;
+rename table t2 to t1;
+truncate table t1;
+repair table t1;
+optimize table t1;
+drop table t1;
+
+eval create table t1_innodb (a int) engine=innodb $part_int;
+insert into t1_innodb values (1),(2);
+alter table t1_innodb add column b int;
+alter table t1_innodb rename as t2_innodb;
+rename table t2_innodb to t1_innodb;
+truncate table t1_innodb;
+repair table t1_innodb;
+optimize table t1_innodb;
+drop table t1_innodb;
+
+--echo #
+--echo # Testing with temporary tables (should not be logged)
+--echo #
+
+create temporary table tmp_t10 (a int) engine=myisam;
+alter table tmp_t10 add column b int;
+alter table tmp_t10 rename as tmp_t11;
+rename table tmp_t11 to tmp_t10;
+truncate table tmp_t10;
+drop table tmp_t10;
+
+--echo #
+--echo # Testing with mix of normal and temporary tables
+--echo #
+
+create temporary table tmp_t20 (a int);
+eval create table t20 (a int) $part_int;
+drop table tmp_t20,t20;
+
+create temporary table tmp_t21 (a int);
+eval create table t21 (a int) $part_int;
+drop temporary table if exists tmp_t21,t21;
+drop table if exists tmp_t21,t21;
+
+--echo #
+--echo # Testing create select
+--echo #
+
+eval create table t30 (a int) $part_int;
+insert into t30 values (1),(1);
+eval create table t31 (a int primary key) $part_int select * from t30 limit 1;
+create or replace table t31 select * from t30 limit 1;
+create or replace temporary table t30_dup select * from t30 limit 1;
+--error ER_DUP_ENTRY
+eval create or replace table t31 (a int primary key) $part_int select * from t30;
+eval create table t32 (a int) $part_int;
+drop table if exists t30,t31,t32,tmp_t30;
+
+--echo #
+--echo # Testing create LIKE
+--echo #
+eval create table t40 (a int) engine=myisam $part_int;
+eval create table t41 (a int, b int) engine=innodb $part_int;
+create table t42 like t40;
+if (!$part_int) {
+create temporary table t43_tmp like t40;
+}
+create or replace table t42 like t41;
+show create table t42;
+drop table t40, t41, t42;
+
+--echo #
+--echo # Testing rename
+--echo #
+
+eval create table t50 (a int) $part_int;
+eval create table t51 (a int, b int) $part_int;
+rename table t50 to t52, t51 to t53;
+rename table t52 to tmp, t53 to t52, tmp to t53;
+drop table t52,t53;
+
+--echo #
+--echo # Testing enable/disable keys
+--echo #
+
+eval CREATE TABLE t60 (a int(10), index(a) ) ENGINE=Aria $part_int;
+INSERT INTO t60 VALUES(1),(2),(3);
+ALTER TABLE t60 DISABLE KEYS;
+INSERT INTO t60 VALUES(4),(5),(6);
+ALTER TABLE t60 ENABLE KEYS;
+DROP TABLE t60;
+
+CREATE TEMPORARY TABLE t61 (i int(10), index(i) ) ENGINE=Aria;
+INSERT INTO t61 VALUES(1),(2),(3);
+ALTER TABLE t61 DISABLE KEYS;
+DROP TABLE t61;
+
+--echo #
+--echo # Testing load data
+--echo #
+
+eval create table t70 (a date, b date, c date not null, d date) engine=aria $part_date;
+--disable_warnings
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+truncate table t70;
+lock table t70 write;
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+unlock tables;
+--enable_warnings
+
+eval create table t71 (a date, b date, c date not null, d date) engine=aria $part_date;
+lock tables t71 write, t70 read;
+insert into t71 select * from t70;
+unlock tables;
+drop table t70,t71;
+
+--echo #
+--echo # Testing strange table names
+--echo #
+
+eval create table `t 1` (a int) $part_int;
+drop table `t 1`;
+
+--echo #
+--echo # Testing views and triggers
+--echo #
+
+eval create table t80 (a int, b int) engine=myisam $part_int;
+create view v1 as select * from t80;
+create trigger trg before insert on t80 for each row set @b:=1;
+drop trigger trg;
+drop view v1;
+drop table t80;
+
+--echo #
+--echo # Testing alter to a new storage engine
+--echo #
+
+eval create table t85 (a int primary key, b int) engine=myisam $part_int;
+alter table t85 engine=innodb;
+drop table t85;
diff --git a/mysql-test/main/backup_log.result b/mysql-test/main/backup_log.result
new file mode 100644
index 00000000000..94590a220d4
--- /dev/null
+++ b/mysql-test/main/backup_log.result
@@ -0,0 +1,241 @@
+CREATE TABLE t_exists (a INT);
+CREATE TABLE t_exists_template (a INT);
+connect con1,localhost,root,,;
+BACKUP STAGE START;
+connection default;
+#
+# Testing with normal tables
+#
+create table t1 (a int) engine=myisam ;
+insert into t1 values (1),(2);
+alter table t1 add column b int;
+alter table t1 rename as t2;
+rename table t2 to t1;
+truncate table t1;
+repair table t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+drop table t1;
+create table t1_innodb (a int) engine=innodb ;
+insert into t1_innodb values (1),(2);
+alter table t1_innodb add column b int;
+alter table t1_innodb rename as t2_innodb;
+rename table t2_innodb to t1_innodb;
+truncate table t1_innodb;
+repair table t1_innodb;
+Table Op Msg_type Msg_text
+test.t1_innodb repair note The storage engine for the table doesn't support repair
+optimize table t1_innodb;
+Table Op Msg_type Msg_text
+test.t1_innodb optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1_innodb optimize status OK
+drop table t1_innodb;
+#
+# Testing with temporary tables (should not be logged)
+#
+create temporary table tmp_t10 (a int) engine=myisam;
+alter table tmp_t10 add column b int;
+alter table tmp_t10 rename as tmp_t11;
+rename table tmp_t11 to tmp_t10;
+truncate table tmp_t10;
+drop table tmp_t10;
+#
+# Testing with mix of normal and temporary tables
+#
+create temporary table tmp_t20 (a int);
+create table t20 (a int) ;
+drop table tmp_t20,t20;
+create temporary table tmp_t21 (a int);
+create table t21 (a int) ;
+drop temporary table if exists tmp_t21,t21;
+Warnings:
+Note 1051 Unknown table 'test.t21'
+drop table if exists tmp_t21,t21;
+Warnings:
+Note 1051 Unknown table 'test.tmp_t21'
+#
+# Testing create select
+#
+create table t30 (a int) ;
+insert into t30 values (1),(1);
+create table t31 (a int primary key) select * from t30 limit 1;
+create or replace table t31 select * from t30 limit 1;
+create or replace temporary table t30_dup select * from t30 limit 1;
+create or replace table t31 (a int primary key) select * from t30;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+create table t32 (a int) ;
+drop table if exists t30,t31,t32,tmp_t30;
+Warnings:
+Note 1051 Unknown table 'test.t31,test.tmp_t30'
+#
+# Testing create LIKE
+#
+create table t40 (a int) engine=myisam ;
+create table t41 (a int, b int) engine=innodb ;
+create table t42 like t40;
+create temporary table t43_tmp like t40;
+create or replace table t42 like t41;
+show create table t42;
+Table Create Table
+t42 CREATE TABLE `t42` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+drop table t40, t41, t42;
+#
+# Testing rename
+#
+create table t50 (a int) ;
+create table t51 (a int, b int) ;
+rename table t50 to t52, t51 to t53;
+rename table t52 to tmp, t53 to t52, tmp to t53;
+drop table t52,t53;
+#
+# Testing enable/disable keys
+#
+CREATE TABLE t60 (a int(10), index(a) ) ENGINE=Aria ;
+INSERT INTO t60 VALUES(1),(2),(3);
+ALTER TABLE t60 DISABLE KEYS;
+INSERT INTO t60 VALUES(4),(5),(6);
+ALTER TABLE t60 ENABLE KEYS;
+DROP TABLE t60;
+CREATE TEMPORARY TABLE t61 (i int(10), index(i) ) ENGINE=Aria;
+INSERT INTO t61 VALUES(1),(2),(3);
+ALTER TABLE t61 DISABLE KEYS;
+DROP TABLE t61;
+#
+# Testing load data
+#
+create table t70 (a date, b date, c date not null, d date) engine=aria ;
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+truncate table t70;
+lock table t70 write;
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+unlock tables;
+create table t71 (a date, b date, c date not null, d date) engine=aria ;
+lock tables t71 write, t70 read;
+insert into t71 select * from t70;
+unlock tables;
+drop table t70,t71;
+#
+# Testing strange table names
+#
+create table `t 1` (a int) ;
+drop table `t 1`;
+#
+# Testing views and triggers
+#
+create table t80 (a int, b int) engine=myisam ;
+create view v1 as select * from t80;
+create trigger trg before insert on t80 for each row set @b:=1;
+drop trigger trg;
+drop view v1;
+drop table t80;
+#
+# Testing alter to a new storage engine
+#
+create table t85 (a int primary key, b int) engine=myisam ;
+alter table t85 engine=innodb;
+drop table t85;
+#
+# Testing create/drop/alter database
+#
+create database mysqltest;
+create table mysqltest.t90 (a int primary key, b int) engine=myisam;
+create table mysqltest.t91 (a int primary key, b int) engine=innodb;
+alter database mysqltest character set utf8;
+drop database mysqltest;
+#
+# MENT-222 bug testing
+#
+CREATE TABLE IF NOT EXISTS t_exists LIKE t_exists_template;
+Warnings:
+Note 1050 Table 't_exists' already exists
+#
+# Reading backup ddl log file
+#
+CREATE,MyISAM,0,test,t1,id: 1,,0,,,
+ALTER,MyISAM,0,test,t1,id: 1,MyISAM,0,test,t1,id: 2
+RENAME,MyISAM,0,test,t1,id: 2,MyISAM,0,test,t2,id: 2
+RENAME,MyISAM,0,test,t2,id: 2,MyISAM,0,test,t1,id: 2
+repair,MyISAM,0,test,t1,id: 2,,0,,,
+optimize,MyISAM,0,test,t1,id: 2,,0,,,
+DROP,MyISAM,0,test,t1,id: 2,,0,,,
+CREATE,InnoDB,0,test,t1_innodb,id: 3,,0,,,
+ALTER,InnoDB,0,test,t1_innodb,id: 3,InnoDB,0,test,t1_innodb,id: 4
+RENAME,InnoDB,0,test,t1_innodb,id: 4,InnoDB,0,test,t2_innodb,id: 4
+RENAME,InnoDB,0,test,t2_innodb,id: 4,InnoDB,0,test,t1_innodb,id: 4
+TRUNCATE,InnoDB,0,test,t1_innodb,id: 4,,0,,,
+repair,InnoDB,0,test,t1_innodb,id: 4,,0,,,
+ALTER,InnoDB,0,test,t1_innodb,id: 4,InnoDB,0,test,t1_innodb,id: 5
+DROP,InnoDB,0,test,t1_innodb,id: 5,,0,,,
+CREATE,MyISAM,0,test,t20,id: 6,,0,,,
+DROP,MyISAM,0,test,t20,id: 6,,0,,,
+CREATE,MyISAM,0,test,t21,id: 7,,0,,,
+DROP,MyISAM,0,test,t21,id: 7,,0,,,
+CREATE,MyISAM,0,test,t30,id: 8,,0,,,
+CREATE,MyISAM,0,test,t31,id: 9,,0,,,
+DROP,MyISAM,0,test,t31,id: 9,,0,,,
+CREATE,MyISAM,0,test,t31,id: 10,,0,,,
+DROP,MyISAM,0,test,t31,id: 10,,0,,,
+DROP_AFTER_CREATE,MyISAM,0,test,t31,id: 11,,0,,,
+CREATE,MyISAM,0,test,t32,id: 12,,0,,,
+DROP,MyISAM,0,test,t30,id: 8,,0,,,
+DROP,MyISAM,0,test,t32,id: 12,,0,,,
+CREATE,MyISAM,0,test,t40,id: 13,,0,,,
+CREATE,InnoDB,0,test,t41,id: 14,,0,,,
+CREATE,MyISAM,0,test,t42,id: 15,,0,,,
+DROP,MyISAM,0,test,t42,id: 15,,0,,,
+CREATE,InnoDB,0,test,t42,id: 16,,0,,,
+DROP,MyISAM,0,test,t40,id: 13,,0,,,
+DROP,InnoDB,0,test,t41,id: 14,,0,,,
+DROP,InnoDB,0,test,t42,id: 16,,0,,,
+CREATE,MyISAM,0,test,t50,id: 17,,0,,,
+CREATE,MyISAM,0,test,t51,id: 18,,0,,,
+RENAME,MyISAM,0,test,t50,id: 17,MyISAM,0,test,t52,id: 17
+RENAME,MyISAM,0,test,t51,id: 18,MyISAM,0,test,t53,id: 18
+RENAME,MyISAM,0,test,t52,id: 17,MyISAM,0,test,tmp,id: 17
+RENAME,MyISAM,0,test,t53,id: 18,MyISAM,0,test,t52,id: 18
+RENAME,MyISAM,0,test,tmp,id: 17,MyISAM,0,test,t53,id: 17
+DROP,MyISAM,0,test,t52,id: 18,,0,,,
+DROP,MyISAM,0,test,t53,id: 17,,0,,,
+CREATE,Aria,0,test,t60,id: 19,,0,,,
+CHANGE_INDEX,Aria,0,test,t60,id: 19,,0,,,
+CHANGE_INDEX,Aria,0,test,t60,id: 19,,0,,,
+DROP,Aria,0,test,t60,id: 19,,0,,,
+CREATE,Aria,0,test,t70,id: 20,,0,,,
+BULK_INSERT,Aria,0,test,t70,id: 20,,0,,,
+BULK_INSERT,Aria,0,test,t70,id: 20,,0,,,
+CREATE,Aria,0,test,t71,id: 21,,0,,,
+BULK_INSERT,Aria,0,test,t71,id: 21,,0,,,
+DROP,Aria,0,test,t70,id: 20,,0,,,
+DROP,Aria,0,test,t71,id: 21,,0,,,
+CREATE,MyISAM,0,test,t@00201,id: 22,,0,,,
+DROP,MyISAM,0,test,t@00201,id: 22,,0,,,
+CREATE,MyISAM,0,test,t80,id: 23,,0,,,
+CREATE,VIEW,0,test,v1,,,0,,,
+CREATE,TRIGGER,0,test,trg,,,0,,,
+DROP,TRIGGER,0,test,trg,,,0,,,
+DROP,VIEW,0,test,v1,,,0,,,
+DROP,MyISAM,0,test,t80,id: 23,,0,,,
+CREATE,MyISAM,0,test,t85,id: 24,,0,,,
+ALTER,MyISAM,0,test,t85,id: 24,InnoDB,0,test,t85,id: 25
+DROP,InnoDB,0,test,t85,id: 25,,0,,,
+CREATE,DATABASE,0,mysqltest,,,,0,,,
+CREATE,MyISAM,0,mysqltest,t90,id: 26,,0,,,
+CREATE,InnoDB,0,mysqltest,t91,id: 27,,0,,,
+ALTER,DATABASE,0,mysqltest,,,,0,,,
+DROP,MyISAM,0,mysqltest,t90,id: 26,,0,,,
+DROP,InnoDB,0,mysqltest,t91,id: 27,,0,,,
+DROP,DATABASE,0,mysqltest,,,,0,,,
+#
+# Cleanup
+#
+DROP TABLE t_exists;
+DROP TABLE t_exists_template;
+disconnect con1;
diff --git a/mysql-test/main/backup_log.test b/mysql-test/main/backup_log.test
new file mode 100644
index 00000000000..ee34484e92b
--- /dev/null
+++ b/mysql-test/main/backup_log.test
@@ -0,0 +1,39 @@
+# Testing of logging of ddl's under backup stages
+
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+CREATE TABLE t_exists (a INT);
+CREATE TABLE t_exists_template (a INT);
+
+connect (con1,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+
+--let $part_int=
+--let $part_date=
+--source backup_log.inc
+
+--echo #
+--echo # Testing create/drop/alter database
+--echo #
+
+create database mysqltest;
+create table mysqltest.t90 (a int primary key, b int) engine=myisam;
+create table mysqltest.t91 (a int primary key, b int) engine=innodb;
+alter database mysqltest character set utf8;
+drop database mysqltest;
+
+--echo #
+--echo # MENT-222 bug testing
+--echo #
+CREATE TABLE IF NOT EXISTS t_exists LIKE t_exists_template;
+
+--source include/print_ddl_log.inc
+
+--echo #
+--echo # Cleanup
+--echo #
+DROP TABLE t_exists;
+DROP TABLE t_exists_template;
+disconnect con1;
diff --git a/mysql-test/main/backup_stages.result b/mysql-test/main/backup_stages.result
index 4704a4b6bd1..823e5d7e462 100644
--- a/mysql-test/main/backup_stages.result
+++ b/mysql-test/main/backup_stages.result
@@ -17,12 +17,12 @@ FROM information_schema.processlist WHERE id = @con1_id;
ID USER COMMAND STATE INFO STAGE MAX_STAGE INFO_BINARY
<con1_id> root Query Waiting for backup lock BACKUP STAGE START 0 0 BACKUP STAGE START
BACKUP STAGE END;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
-LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
-MDL_BACKUP_START Backup lock
connection con1;
# The connection default has removed the backup lock.
# And so the current connection con1 can reap for its BACKUP STAGE START
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
+MDL_BACKUP_START Backup lock
connect con2,localhost,root,,;
# The connection con2 cannot continue the work of con1 by setting the
# next BACKUP STAGE FLUSH.
diff --git a/mysql-test/main/backup_stages.test b/mysql-test/main/backup_stages.test
index e8cc5f7a7b9..77d410b6caf 100644
--- a/mysql-test/main/backup_stages.test
+++ b/mysql-test/main/backup_stages.test
@@ -50,13 +50,14 @@ FROM information_schema.processlist WHERE id = @con1_id;
# con1 uses @@global.lock_wait_timeout
BACKUP STAGE END;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
--connection con1
--echo # The connection default has removed the backup lock.
--echo # And so the current connection con1 can reap for its BACKUP STAGE START
--reap
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+
# con2, root high privileged user
--connect(con2,localhost,root,,)
let $con2_id= `SELECT CONNECTION_ID()`;
diff --git a/mysql-test/main/bind_address_resolution.opt b/mysql-test/main/bind_address_resolution.opt
new file mode 100644
index 00000000000..b0b906a7091
--- /dev/null
+++ b/mysql-test/main/bind_address_resolution.opt
@@ -0,0 +1 @@
+--bind-address=localhost
diff --git a/mysql-test/main/bind_address_resolution.result b/mysql-test/main/bind_address_resolution.result
new file mode 100644
index 00000000000..d054c333902
--- /dev/null
+++ b/mysql-test/main/bind_address_resolution.result
@@ -0,0 +1,11 @@
+CREATE TABLE t (a TEXT);
+connect con1,localhost,root,,test;
+SELECT * FROM t;
+a
+connect con2,127.0.0.1,root,,test;
+SELECT * FROM t;
+a
+connection default;
+DROP TABLE t;
+disconnect con1;
+disconnect con2;
diff --git a/mysql-test/main/bind_address_resolution.test b/mysql-test/main/bind_address_resolution.test
new file mode 100644
index 00000000000..ab4d8e8e463
--- /dev/null
+++ b/mysql-test/main/bind_address_resolution.test
@@ -0,0 +1,22 @@
+--source include/check_ipv6.inc
+--source include/not_embedded.inc
+
+# The server is started with --bind-address=localhost, and should
+# listen on all addresses 'localhost' resolves to. With at least
+# 127.0.0.1 and ::1 amongst them.
+
+CREATE TABLE t (a TEXT);
+--connect(con1,localhost,root,,test)
+SELECT * FROM t;
+--connect(con2,127.0.0.1,root,,test)
+SELECT * FROM t;
+# Temporary disable.
+# Some cloud-init services don't resolve localhost->::1
+# bb - kvm-asan, kvm-deb-focal-amd64, kvm-deb-groovy-amd64
+#--connect(con3,::1,root,,test)
+#SELECT * FROM t;
+--connection default
+DROP TABLE t;
+--disconnect con1
+--disconnect con2
+#--disconnect con3
diff --git a/mysql-test/main/bug12427262.test b/mysql-test/main/bug12427262.test
index aca37a651c4..3a5642516a8 100644
--- a/mysql-test/main/bug12427262.test
+++ b/mysql-test/main/bug12427262.test
@@ -21,6 +21,7 @@ create table t10 (c1 int);
--enable_warnings
# Query PS to know initial read count for frm file.
+--enable_prepare_warnings
select Sum(ALL(COUNT_READ)) from performance_schema.file_summary_by_instance where FILE_NAME
like "%show_table_lw_db%" AND FILE_NAME like "%.frm%" AND EVENT_NAME='wait/io/file/sql/FRM'
into @count_read_before;
@@ -45,6 +46,7 @@ into @count_read_after;
select @count_read_after-@count_read_before;
+--disable_prepare_warnings
--disable_warnings
drop table t1;
drop database show_table_lw_db;
diff --git a/mysql-test/main/bug39022.result b/mysql-test/main/bug39022.result
index 599808ca7d7..5667c36ae94 100644
--- a/mysql-test/main/bug39022.result
+++ b/mysql-test/main/bug39022.result
@@ -28,7 +28,7 @@ SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SH
connection thread1;
# should not crash
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SHARE MODE;
-ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+Got one of the listed errors
connection thread2;
d
disconnect thread2;
diff --git a/mysql-test/main/bug39022.test b/mysql-test/main/bug39022.test
index d293788e58e..e07d087a320 100644
--- a/mysql-test/main/bug39022.test
+++ b/mysql-test/main/bug39022.test
@@ -40,7 +40,7 @@ SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SH
connection thread1;
--echo # should not crash
---error ER_LOCK_DEADLOCK
+--error ER_LOCK_DEADLOCK,ER_LOCK_WAIT_TIMEOUT
SELECT d FROM t2,t1 WHERE d=(SELECT MAX(a) FROM t1 WHERE t1.a > t2.d) LOCK IN SHARE MODE; #crashes
connection thread2;
diff --git a/mysql-test/main/bug47671.result b/mysql-test/main/bug47671.result
index 55e422c12d9..96e24c1e85d 100644
--- a/mysql-test/main/bug47671.result
+++ b/mysql-test/main/bug47671.result
@@ -5,10 +5,10 @@
--------------
Server: MariaDB
-Server characterset: utf8
-Db characterset: utf8
-Client characterset: utf8
-Conn. characterset: utf8
+Server characterset: utf8mb3
+Db characterset: utf8mb3
+Client characterset: utf8mb3
+Conn. characterset: utf8mb3
--------------
diff --git a/mysql-test/main/cast.result b/mysql-test/main/cast.result
index b17d89788cf..4e518826017 100644
--- a/mysql-test/main/cast.result
+++ b/mysql-test/main/cast.result
@@ -477,11 +477,11 @@ c1 c2 c3 c4 c5
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 NOT NULL,
- `c2` varchar(2) CHARACTER SET utf8 NOT NULL,
- `c3` varchar(2) CHARACTER SET utf8 NOT NULL,
- `c4` varchar(2) CHARACTER SET utf8 NOT NULL,
- `c5` varchar(2) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 NOT NULL,
+ `c2` varchar(2) CHARACTER SET utf8mb3 NOT NULL,
+ `c3` varchar(2) CHARACTER SET utf8mb3 NOT NULL,
+ `c4` varchar(2) CHARACTER SET utf8mb3 NOT NULL,
+ `c5` varchar(2) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a binary(4), b char(4) character set koi8r);
@@ -822,13 +822,13 @@ collation(cast("a" as char(10) binary))
latin1_bin
select collation(cast("a" as char(10) charset utf8 binary));
collation(cast("a" as char(10) charset utf8 binary))
-utf8_bin
+utf8mb3_bin
select collation(cast("a" as char(10) ascii binary));
collation(cast("a" as char(10) ascii binary))
latin1_bin
select collation(cast("a" as char(10) binary charset utf8));
collation(cast("a" as char(10) binary charset utf8))
-utf8_bin
+utf8mb3_bin
select collation(cast("a" as char(10) binary ascii));
collation(cast("a" as char(10) binary ascii))
latin1_bin
@@ -1239,14 +1239,14 @@ DECLARE a VARCHAR(30) CHARACTER SET utf8;
SET a=CAST(_utf8 0xD18F AS CHAR(1) CHARACTER SET latin1);
END;
$$
-ERROR HY000: Cannot convert 'utf8' character 0xD18F to 'latin1'
+ERROR HY000: Cannot convert 'utf8mb3' character 0xD18F to 'latin1'
# Conversion problems still escalate warnings to errors (with right truncation)
BEGIN NOT ATOMIC
DECLARE a VARCHAR(30) CHARACTER SET utf8;
SET a=CAST(_utf8 0xD18FD18F AS CHAR(1) CHARACTER SET latin1);
END;
$$
-ERROR HY000: Cannot convert 'utf8' character 0xD18F to 'latin1'
+ERROR HY000: Cannot convert 'utf8mb3' character 0xD18F to 'latin1'
# CAST(number AS CHAR) escalates warnings to errors on truncation
CREATE OR REPLACE TABLE t1 (a VARCHAR(10));
INSERT INTO t1 VALUES (CAST(123 AS CHAR(1)));
diff --git a/mysql-test/main/cli_options_force_protocol_not_win.result b/mysql-test/main/cli_options_force_protocol_not_win.result
new file mode 100644
index 00000000000..20b12eb2cc0
--- /dev/null
+++ b/mysql-test/main/cli_options_force_protocol_not_win.result
@@ -0,0 +1,24 @@
+#
+# MDEV-14974: --port ignored for --host=localhost
+#
+#
+# The following group of tests should produce no warnings
+#
+# exec MYSQL --host=localhost -e "status" 2>&1 | grep "Connection:\|WARNING:"
+Connection: Localhost via UNIX socket
+# exec MYSQL --port=MASTER_MYPORT --protocol=tcp -e "status" 2>&1 | grep "Connection:\|WARNING:"
+Connection: localhost via TCP/IP
+# exec MYSQL --host=localhost --port=MASTER_MYPORT --protocol=socket -e "status" 2>&1 | grep "Connection:\|WARNING:"
+Connection: Localhost via UNIX socket
+# exec MYSQL --host=127.0.0.1 --port=MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+Connection: 127.0.0.1 via TCP/IP
+# exec MYSQL --host=localhost --socket=MASTER_MYSOCK --port=MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+Connection: Localhost via UNIX socket
+# exec MYSQL --host=localhost --socket=MASTER_MYSOCK -e "status" 2>&1 | grep "Connection:\|WARNING:"
+Connection: Localhost via UNIX socket
+#
+# The remaining tests should produce warnings
+#
+# exec MYSQL --host=localhost --port=MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+WARNING: Forcing protocol to TCP due to option specification. Please explicitly state intended protocol.
+Connection: localhost via TCP/IP
diff --git a/mysql-test/main/cli_options_force_protocol_not_win.test b/mysql-test/main/cli_options_force_protocol_not_win.test
new file mode 100644
index 00000000000..a3c495f26ee
--- /dev/null
+++ b/mysql-test/main/cli_options_force_protocol_not_win.test
@@ -0,0 +1,37 @@
+--echo #
+--echo # MDEV-14974: --port ignored for --host=localhost
+--echo #
+
+--source include/not_embedded.inc
+--source include/not_windows.inc
+
+
+--echo #
+--echo # The following group of tests should produce no warnings
+--echo #
+
+--echo # exec MYSQL --host=localhost -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --host=localhost -e "status" 2>&1 | grep "Connection:\|WARNING:"
+
+--echo # exec MYSQL --port=MASTER_MYPORT --protocol=tcp -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --port=$MASTER_MYPORT --protocol=tcp -e "status" 2>&1 | grep "Connection:\|WARNING:"
+
+--echo # exec MYSQL --host=localhost --port=MASTER_MYPORT --protocol=socket -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --host=localhost --port=$MASTER_MYPORT --protocol=socket -e "status" 2>&1 | grep "Connection:\|WARNING:"
+
+--echo # exec MYSQL --host=127.0.0.1 --port=MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --host=127.0.0.1 --port=$MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+
+--echo # exec MYSQL --host=localhost --socket=MASTER_MYSOCK --port=MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --host=localhost --socket=$MASTER_MYSOCK --port=$MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+
+--echo # exec MYSQL --host=localhost --socket=MASTER_MYSOCK -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --host=localhost --socket=$MASTER_MYSOCK -e "status" 2>&1 | grep "Connection:\|WARNING:"
+
+
+--echo #
+--echo # The remaining tests should produce warnings
+--echo #
+
+--echo # exec MYSQL --host=localhost --port=MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
+--exec $MYSQL --host=localhost --port=$MASTER_MYPORT -e "status" 2>&1 | grep "Connection:\|WARNING:"
diff --git a/mysql-test/main/cli_options_force_protocol_win.opt b/mysql-test/main/cli_options_force_protocol_win.opt
new file mode 100644
index 00000000000..318bd99ee26
--- /dev/null
+++ b/mysql-test/main/cli_options_force_protocol_win.opt
@@ -0,0 +1 @@
+--loose-enable-named-pipe \ No newline at end of file
diff --git a/mysql-test/main/cli_options_force_protocol_win.result b/mysql-test/main/cli_options_force_protocol_win.result
new file mode 100644
index 00000000000..4fffc2a4837
--- /dev/null
+++ b/mysql-test/main/cli_options_force_protocol_win.result
@@ -0,0 +1,24 @@
+#
+# MDEV-14974: --port ignored for --host=localhost
+#
+#
+# The following group of tests should produce no warnings
+#
+# exec MYSQL --host=localhost -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+Connection: localhost via TCP/IP
+# exec MYSQL --host=localhost --port=MASTER_MYPORT -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+Connection: localhost via TCP/IP
+# exec MYSQL --host=localhost --port=MASTER_MYPORT --socket=MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+Connection: localhost via TCP/IP
+# exec MYSQL --host=localhost --protocol=pipe -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+Connection: localhost via named pipe
+# exec MYSQL --host=localhost -W -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+Connection: localhost via named pipe
+# exec MYSQL --host=localhost -W --socket=MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+Connection: localhost via named pipe
+#
+# The remaining tests should produce warnings
+#
+# exec MYSQL --host=localhost --socket=MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+WARNING: Forcing protocol to PIPE due to option specification. Please explicitly state intended protocol.
+Connection: localhost via named pipe
diff --git a/mysql-test/main/cli_options_force_protocol_win.test b/mysql-test/main/cli_options_force_protocol_win.test
new file mode 100644
index 00000000000..54fbb78e5dc
--- /dev/null
+++ b/mysql-test/main/cli_options_force_protocol_win.test
@@ -0,0 +1,37 @@
+--echo #
+--echo # MDEV-14974: --port ignored for --host=localhost
+--echo #
+
+--source include/not_embedded.inc
+--source include/windows.inc
+
+
+--echo #
+--echo # The following group of tests should produce no warnings
+--echo #
+
+--echo # exec MYSQL --host=localhost -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+
+--echo # exec MYSQL --host=localhost --port=MASTER_MYPORT -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost --port=$MASTER_MYPORT -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+
+--echo # exec MYSQL --host=localhost --port=MASTER_MYPORT --socket=MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+
+--echo # exec MYSQL --host=localhost --protocol=pipe -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost --protocol=pipe -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+
+--echo # exec MYSQL --host=localhost -W -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost -W -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+
+--echo # exec MYSQL --host=localhost -W --socket=MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost -W --socket=$MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+
+
+--echo #
+--echo # The remaining tests should produce warnings
+--echo #
+
+--echo # exec MYSQL --host=localhost --socket=MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
+--exec $MYSQL --host=localhost --socket=$MASTER_MYSOCK -e "status" 2>&1 | findstr /c:"Connection:" /c:"WARNING:"
diff --git a/mysql-test/main/column_compression.result b/mysql-test/main/column_compression.result
index 01f906b5f31..88e558c4d33 100644
--- a/mysql-test/main/column_compression.result
+++ b/mysql-test/main/column_compression.result
@@ -1483,7 +1483,7 @@ CREATE OR REPLACE TABLE t1 (a VARCHAR(1000) COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
@@ -1509,7 +1509,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`a`)),
`b` varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
- `c` varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `c` varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`d` tinytext /*!100301 COMPRESSED*/ CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
@@ -1566,7 +1566,7 @@ CREATE TABLE t1 (a VARCHAR(10) COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -1598,14 +1598,14 @@ CREATE TABLE t1 (a VARCHAR(10) COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(10) COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -1717,7 +1717,7 @@ CREATE TABLE t1 (a TINYTEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -1749,14 +1749,14 @@ CREATE TABLE t1 (a TINYTEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ `a` tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a TINYTEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ `a` tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -1868,7 +1868,7 @@ CREATE TABLE t1 (a TEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` text /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -1900,14 +1900,14 @@ CREATE TABLE t1 (a TEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` text /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ `a` text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a TEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` text /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ `a` text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -2019,7 +2019,7 @@ CREATE TABLE t1 (a MEDIUMTEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -2051,14 +2051,14 @@ CREATE TABLE t1 (a MEDIUMTEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ `a` mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a MEDIUMTEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ `a` mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -2170,7 +2170,7 @@ CREATE TABLE t1 (a LONGTEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -2202,14 +2202,14 @@ CREATE TABLE t1 (a LONGTEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ `a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a LONGTEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ `a` longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
@@ -2656,7 +2656,7 @@ CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED BINARY COMPRESSED);
diff --git a/mysql-test/main/column_compression.test b/mysql-test/main/column_compression.test
index 2ae50be95d2..52235b07811 100644
--- a/mysql-test/main/column_compression.test
+++ b/mysql-test/main/column_compression.test
@@ -29,6 +29,7 @@ let $typec= BLOB COMPRESSED;
let $typeu= BLOB;
--source column_compression.inc
+--enable_prepare_warnings
--error ER_PARSE_ERROR
CREATE TABLE t1(a CHAR(100) COMPRESSED);
--error ER_WRONG_FIELD_SPEC
@@ -291,6 +292,7 @@ CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED, FULLTEXT INDEX(a));
--error ER_COMPRESSED_COLUMN_USED_AS_KEY
CREATE TABLE t1 (a TEXT COMPRESSED, FULLTEXT INDEX(a));
+--disable_prepare_warnings
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/column_compression_rpl.opt b/mysql-test/main/column_compression_rpl.opt
new file mode 100644
index 00000000000..1a01b4018c6
--- /dev/null
+++ b/mysql-test/main/column_compression_rpl.opt
@@ -0,0 +1 @@
+--skip-innodb-stats-persistent
diff --git a/mysql-test/main/comment_database.result b/mysql-test/main/comment_database.result
index 628a3259b6b..fe9c9ff2931 100644
--- a/mysql-test/main/comment_database.result
+++ b/mysql-test/main/comment_database.result
@@ -51,11 +51,11 @@ USE db1;
ALTER DATABASE COMMENT 'db1 comment' CHARACTER SET 'utf8';
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ COMMENT 'db1 comment'
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */ COMMENT 'db1 comment'
ALTER DATABASE db1 COMMENT 'this is db1 comment';
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ COMMENT 'this is db1 comment'
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */ COMMENT 'this is db1 comment'
ALTER DATABASE CHARACTER SET 'latin1';
SHOW CREATE DATABASE db1;
Database Create Database
diff --git a/mysql-test/main/comment_table.result b/mysql-test/main/comment_table.result
index d0af71b4540..1a18df8f66b 100644
--- a/mysql-test/main/comment_table.result
+++ b/mysql-test/main/comment_table.result
@@ -126,5 +126,5 @@ SELECT column_comment,char_length(column_comment) FROM information_schema.column
column_comment char_length(column_comment)
set names utf8;
create table t1 (x int comment 'a’');
-ERROR HY000: Invalid utf8 character string: 'a'
+ERROR HY000: Invalid utf8mb3 character string: 'a'
set names latin1;
diff --git a/mysql-test/main/commit.result b/mysql-test/main/commit.result
index f2e012d4782..44d46900d38 100644
--- a/mysql-test/main/commit.result
+++ b/mysql-test/main/commit.result
@@ -247,11 +247,13 @@ COMMIT;
SET @@completion_type=1;
COMMIT AND NO CHAIN;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
-START TRANSACTION;
TRUNCATE TABLE t1;
+INSERT INTO t1 VALUES(100);
+START TRANSACTION;
INSERT INTO t1 VALUES (1000);
SELECT * FROM t1;
s1
+100
1000
Should read '1000'
connection con1;
@@ -260,6 +262,7 @@ COMMIT;
connection default;
SELECT * FROM t1;
s1
+100
1000
Should only read the '1000' as this transaction is now in REP READ
COMMIT AND NO CHAIN;
diff --git a/mysql-test/main/commit.test b/mysql-test/main/commit.test
index 762397dfa23..9f5e077fd2d 100644
--- a/mysql-test/main/commit.test
+++ b/mysql-test/main/commit.test
@@ -284,8 +284,11 @@ COMMIT;
SET @@completion_type=1;
COMMIT AND NO CHAIN;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
-START TRANSACTION;
TRUNCATE TABLE t1;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(100);
+START TRANSACTION;
INSERT INTO t1 VALUES (1000);
SELECT * FROM t1;
--echo Should read '1000'
diff --git a/mysql-test/main/compound.result b/mysql-test/main/compound.result
index 18df4fd34e2..6efa23e833f 100644
--- a/mysql-test/main/compound.result
+++ b/mysql-test/main/compound.result
@@ -101,7 +101,7 @@ t1
t2
t3
t4
-set @a=0;
+set @a=0|
repeat
set @a = @a + 1;
until @a > 5
@@ -154,7 +154,7 @@ master-bin.000001 # Query # # use `test`; insert t1 values( NAME_CONST('a',4)+3)
master-bin.000001 # Query # # COMMIT
drop function fn|
drop table t1|
-set @@sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
+set @@sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"|
begin not atomic select @@sql_mode; end|
@@sql_mode
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
diff --git a/mysql-test/main/compound.test b/mysql-test/main/compound.test
index cb8bc0122c4..00f90e7a251 100644
--- a/mysql-test/main/compound.test
+++ b/mysql-test/main/compound.test
@@ -94,7 +94,7 @@ end loop|
show tables|
# REPEAT
-set @a=0;
+set @a=0|
repeat
set @a = @a + 1;
until @a > 5
@@ -146,7 +146,7 @@ drop table t1|
# MDEV-6609 SQL inside an anonymous block is executed with wrong SQL_MODE
#
-set @@sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
+set @@sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"|
begin not atomic select @@sql_mode; end|
create table t1 (a int)|
select a from t1 having a > 1|
diff --git a/mysql-test/main/compress.result b/mysql-test/main/compress.result
index 788eb7ab13b..24979346149 100644
--- a/mysql-test/main/compress.result
+++ b/mysql-test/main/compress.result
@@ -2097,10 +2097,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/connect.result b/mysql-test/main/connect.result
index 229c2d9dafe..74387168d98 100644
--- a/mysql-test/main/connect.result
+++ b/mysql-test/main/connect.result
@@ -324,12 +324,12 @@ Connection on extra port 2 ok
# -- Bug#49752: 2469.126.2 unintentionally breaks authentication
# against MySQL 5.1 server
#
-GRANT ALL ON test.* TO 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789'@'localhost' IDENTIFIED BY 'test123';
+GRANT ALL ON test.* TO 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567'@'localhost' IDENTIFIED BY 'test123';
FLUSH PRIVILEGES;
-connect con1,localhost,O1234567890123456789012345678901234567890123456789012345678901234567890123456789x,test123,test;
+connect con1,localhost, O1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567x,test123,test;
disconnect con1;
connection default;
-DROP USER 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789'@'localhost';
+DROP USER 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567'@'localhost';
FLUSH PRIVILEGES;
#
# -- End of Bug#49752
diff --git a/mysql-test/main/connect.test b/mysql-test/main/connect.test
index b115e0620ec..c9969633a2a 100644
--- a/mysql-test/main/connect.test
+++ b/mysql-test/main/connect.test
@@ -339,16 +339,16 @@ if ($error)
--echo # against MySQL 5.1 server
--echo #
-GRANT ALL ON test.* TO 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789'@'localhost' IDENTIFIED BY 'test123';
+GRANT ALL ON test.* TO 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567'@'localhost' IDENTIFIED BY 'test123';
FLUSH PRIVILEGES;
-connect (con1,localhost,O1234567890123456789012345678901234567890123456789012345678901234567890123456789x,test123,test);
+connect (con1,localhost, O1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567x,test123,test);
disconnect con1;
connection default;
-DROP USER 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789'@'localhost';
+DROP USER 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567'@'localhost';
FLUSH PRIVILEGES;
diff --git a/mysql-test/main/connect_debug.result b/mysql-test/main/connect_debug.result
index cc3da50ec6b..2adafc2c4a9 100644
--- a/mysql-test/main/connect_debug.result
+++ b/mysql-test/main/connect_debug.result
@@ -11,10 +11,10 @@ drop user bad;
set global debug_dbug='+d,increase_srv_handshake_scramble_len';
connect(localhost,root,,test,MASTER_MYPORT,MYSQL_TMP_DIR/mysqld.1.sock);
connect con1,localhost,root;
-ERROR HY000: received malformed packet
+ERROR HY000: Received malformed packet
set global debug_dbug=@old_dbug;
set global debug_dbug='+d,poison_srv_handshake_scramble_len';
connect(localhost,root,,test,MASTER_MYPORT,MYSQL_TMP_DIR/mysqld.1.sock);
connect con2,localhost,root;
-ERROR HY000: received malformed packet
+ERROR HY000: Received malformed packet
set global debug_dbug=@old_dbug;
diff --git a/mysql-test/main/constraints.result b/mysql-test/main/constraints.result
index 24f8417d313..3702bff83ec 100644
--- a/mysql-test/main/constraints.result
+++ b/mysql-test/main/constraints.result
@@ -99,7 +99,7 @@ long_enough_name CREATE TABLE `long_enough_name` (
`f2` int(11) NOT NULL,
`f3` int(11) DEFAULT NULL,
`f4` timestamp NOT NULL DEFAULT current_timestamp(),
- `f5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'foo',
+ `f5` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT 'foo',
`f6` smallint(6) NOT NULL DEFAULT 1,
`f7` int(11) DEFAULT NULL,
PRIMARY KEY (`pk`),
diff --git a/mysql-test/main/crash_commit_before.result b/mysql-test/main/crash_commit_before.result
index 22d39e1ddbd..55fea1909f0 100644
--- a/mysql-test/main/crash_commit_before.result
+++ b/mysql-test/main/crash_commit_before.result
@@ -3,7 +3,7 @@ START TRANSACTION;
insert into t1 values(9);
SET GLOBAL debug_dbug="d,crash_commit_before";
COMMIT;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
diff --git a/mysql-test/main/create-uca.result b/mysql-test/main/create-uca.result
index f405cb72b40..29a2c0a9d1a 100644
--- a/mysql-test/main/create-uca.result
+++ b/mysql-test/main/create-uca.result
@@ -13,8 +13,8 @@ t1 CREATE TABLE `t1` (
`c1` int(11) DEFAULT 12 COMMENT 'column1',
`c2` int(11) DEFAULT NULL COMMENT 'column2',
`c3` int(11) NOT NULL COMMENT 'column3',
- `c4` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT 'a',
- `c5` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT 'b',
+ `c4` varchar(255) CHARACTER SET utf8mb3 NOT NULL DEFAULT 'a',
+ `c5` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT 'b',
`c6` varchar(255) COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin
CREATE TABLE t2 AS SELECT * FROM t1;
@@ -24,8 +24,8 @@ t2 CREATE TABLE `t2` (
`c1` int(11) DEFAULT 12 COMMENT 'column1',
`c2` int(11) DEFAULT NULL COMMENT 'column2',
`c3` int(11) NOT NULL COMMENT 'column3',
- `c4` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT 'a',
- `c5` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT 'b',
+ `c4` varchar(255) CHARACTER SET utf8mb3 NOT NULL DEFAULT 'a',
+ `c5` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT 'b',
`c6` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
diff --git a/mysql-test/main/create-uca.test b/mysql-test/main/create-uca.test
index 0acb51f7286..f73f6114962 100644
--- a/mysql-test/main/create-uca.test
+++ b/mysql-test/main/create-uca.test
@@ -1,5 +1,5 @@
# Prerequisites
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
# Initial cleanup
diff --git a/mysql-test/main/create.result b/mysql-test/main/create.result
index ea49ddea1d1..acef8b73074 100644
--- a/mysql-test/main/create.result
+++ b/mysql-test/main/create.result
@@ -721,7 +721,7 @@ primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(112) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `a` varchar(112) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -736,7 +736,7 @@ b int not null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
`b` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -752,7 +752,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`b` int(11) NOT NULL,
- `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
`c` int(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -765,7 +765,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`b` int(11) DEFAULT NULL,
- `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
`c` int(1) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -777,7 +777,7 @@ b int not null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
`b` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -789,7 +789,7 @@ b int not null, primary key (a)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(12) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `a` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
`b` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -980,13 +980,13 @@ CREATE TABLE t1(c1 VARCHAR(33), KEY (c1) USING BTREE);
DROP TABLE t1;
CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY;
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 c1 1 c1 NULL 0 NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 c1 1 c1 NULL 0 NULL NULL YES HASH NO
DROP TABLE t1;
CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY;
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 c1 1 c1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 c1 1 c1 A NULL NULL NULL YES BTREE NO
DROP TABLE t1;
create user mysqltest_1@'test@test';
ERROR HY000: Malformed hostname (illegal symbol: '@')
@@ -1089,7 +1089,7 @@ t1 CREATE TABLE `t1` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
drop table t1;
create temporary table t1 like information_schema.processlist;
show create table t1;
@@ -1113,7 +1113,7 @@ t1 CREATE TEMPORARY TABLE `t1` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
drop table t1;
create table t1 like information_schema.character_sets;
show create table t1;
@@ -1123,7 +1123,7 @@ t1 CREATE TABLE `t1` (
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL,
`DESCRIPTION` varchar(60) NOT NULL,
`MAXLEN` bigint(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
drop table t1;
# --
diff --git a/mysql-test/main/create_drop_role.result b/mysql-test/main/create_drop_role.result
index 886dcfd0e72..b7ec45daeae 100644
--- a/mysql-test/main/create_drop_role.result
+++ b/mysql-test/main/create_drop_role.result
@@ -65,6 +65,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
SET ROLE NONE;
connect user_b, localhost, root,,;
diff --git a/mysql-test/main/create_or_replace.result b/mysql-test/main/create_or_replace.result
index 6f0ac602335..178b7182666 100644
--- a/mysql-test/main/create_or_replace.result
+++ b/mysql-test/main/create_or_replace.result
@@ -1,4 +1,5 @@
-drop table if exists t1,t2,t3;
+SET @save_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=OFF;
CREATE TABLE t2 (a int);
INSERT INTO t2 VALUES(1),(2),(3);
#
@@ -567,3 +568,4 @@ ERROR HY000: Table 't3' was not locked with LOCK TABLES
UNLOCK TABLES;
DROP TABLE t3;
# End of 10.4 tests
+SET GLOBAL innodb_stats_persistent=@save_persistent;
diff --git a/mysql-test/main/create_or_replace.test b/mysql-test/main/create_or_replace.test
index 2b6f2ae4005..573e0e177c2 100644
--- a/mysql-test/main/create_or_replace.test
+++ b/mysql-test/main/create_or_replace.test
@@ -4,9 +4,9 @@
--source include/have_innodb.inc
--source include/have_metadata_lock_info.inc
---disable_warnings
-drop table if exists t1,t2,t3;
---enable_warnings
+
+SET @save_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=OFF;
#
# Create help table
@@ -365,6 +365,7 @@ lock table t1 write, t2 read;
--replace_column 1 #
--sorted_result
select * from information_schema.metadata_lock_info;
+
create or replace table t1 (i int);
--replace_column 1 #
--sorted_result
@@ -508,3 +509,5 @@ UNLOCK TABLES;
DROP TABLE t3;
--echo # End of 10.4 tests
+
+SET GLOBAL innodb_stats_persistent=@save_persistent;
diff --git a/mysql-test/main/create_utf8.result b/mysql-test/main/create_utf8.result
index bb48a0c8ef5..3d6651260ce 100644
--- a/mysql-test/main/create_utf8.result
+++ b/mysql-test/main/create_utf8.result
@@ -46,7 +46,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1
show create view имÑ_вью_кодировке_утф8_длиной_больше_чем_42;
View Create View character_set_client collation_connection
-имÑ_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имÑ_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имÑ_полÑ_в_кодировке_утф8_длиной_больше_чем_45` AS `имÑ_полÑ_в_кодировке_утф8_длиной_больше_чем_45` from `имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8 utf8_general_ci
+имÑ_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имÑ_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имÑ_полÑ_в_кодировке_утф8_длиной_больше_чем_45` AS `имÑ_полÑ_в_кодировке_утф8_длиной_больше_чем_45` from `имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8mb3 utf8mb3_general_ci
create trigger имÑ_триггера_в_кодировке_утф8_длиной_больше_чем_49
before insert on имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
select TRIGGER_NAME from information_schema.triggers where
diff --git a/mysql-test/main/ctype_big5.result b/mysql-test/main/ctype_big5.result
index 6a218dcbf7b..81fb31df041 100644
--- a/mysql-test/main/ctype_big5.result
+++ b/mysql-test/main/ctype_big5.result
@@ -807,70 +807,70 @@ A2C0 â…§
A2C1 â…¨
A2C2 â…©
Warnings:
-Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8'
+Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
@@ -886,70 +886,70 @@ C7D9 р
C7DA Ñ
C7DB Ñ‚
Warnings:
-Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8'
-Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8'
+Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3CF to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DA to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DB to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DC to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DD to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DE to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8mb3'
+Warning 1977 Cannot convert 'big5' character 0xA3DF to 'utf8mb3'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/ctype_cp1250_ch.result b/mysql-test/main/ctype_cp1250_ch.result
index 5799331f73e..b662b5c7740 100644
--- a/mysql-test/main/ctype_cp1250_ch.result
+++ b/mysql-test/main/ctype_cp1250_ch.result
@@ -112,7 +112,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE CONCAT(c1)='a';
@@ -135,7 +135,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE 'a'=CONCAT(c1);
@@ -158,7 +158,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '% '=CONCAT(c1);
@@ -181,7 +181,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '%'=CONCAT(c1);
@@ -207,7 +207,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ';
diff --git a/mysql-test/main/ctype_cp1251.result b/mysql-test/main/ctype_cp1251.result
index 7d9b47f1f54..5d0bf3be615 100644
--- a/mysql-test/main/ctype_cp1251.result
+++ b/mysql-test/main/ctype_cp1251.result
@@ -386,7 +386,7 @@ FD FD FD D18D FD
FE FE FE D18E FE
FF FF FF D18F FF
Warnings:
-Warning 1977 Cannot convert 'cp1251' character 0x98 to 'utf8'
+Warning 1977 Cannot convert 'cp1251' character 0x98 to 'utf8mb3'
DROP TABLE t1;
SELECT strcmp('a','a '), strcmp('a ','a');
strcmp('a','a ') strcmp('a ','a')
diff --git a/mysql-test/main/ctype_cp932_binlog_stm.result b/mysql-test/main/ctype_cp932_binlog_stm.result
index c583564f7c2..a42ec476b6d 100644
--- a/mysql-test/main/ctype_cp932_binlog_stm.result
+++ b/mysql-test/main/ctype_cp932_binlog_stm.result
@@ -387,139 +387,139 @@ HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
81F0 â„«
Warnings:
-Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8'
+Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
Warnings:
-Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8'
+Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8mb3'
#
# WL#3090 Japanese Character Set adjustments
# Test cp932->Unicode conversion
@@ -10195,70 +10195,70 @@ FC49 EFA8AD
FC4A E9B899
FC4B E9BB91
Warnings:
-Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EB to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EC to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81ED to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EE to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81EF to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81F8 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81F9 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81FA to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x81FB to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8240 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8241 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8242 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8243 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8244 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8245 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8246 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8247 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8248 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8249 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x824A to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x824B to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x824C to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x824D to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x824E to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x8259 to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x825A to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x825B to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x825C to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x825D to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x825E to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x825F to 'utf8'
-Warning 1977 Cannot convert 'cp932' character 0x827A to 'utf8'
+Warning 1977 Cannot convert 'cp932' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EA to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EB to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EC to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81ED to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EE to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81EF to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81FA to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x81FB to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8240 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8241 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8242 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8243 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8244 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8245 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8246 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8247 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8248 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8249 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x824A to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x824B to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x824C to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x824D to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x824E to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x8259 to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x825A to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x825B to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x825C to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x825D to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x825E to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x825F to 'utf8mb3'
+Warning 1977 Cannot convert 'cp932' character 0x827A to 'utf8mb3'
DROP TABLE t1;
#
# WL#3090 Japanese Character Set adjustments
diff --git a/mysql-test/main/ctype_create.result b/mysql-test/main/ctype_create.result
index 9a76802579e..4e8289a8ad6 100644
--- a/mysql-test/main/ctype_create.result
+++ b/mysql-test/main/ctype_create.result
@@ -86,24 +86,24 @@ USE test;
CREATE DATABASE tmp DEFAULT CHARACTER SET latin5;
USE tmp;
CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET DEFAULT, CHARACTER SET utf8;
-ERROR HY000: Conflicting declarations: 'CHARACTER SET DEFAULT' and 'CHARACTER SET utf8'
+ERROR HY000: Conflicting declarations: 'CHARACTER SET DEFAULT' and 'CHARACTER SET utf8mb3'
CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8, CHARACTER SET DEFAULT;
-ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8' and 'CHARACTER SET DEFAULT'
+ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8mb3' and 'CHARACTER SET DEFAULT'
CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8, CHARACTER SET utf8;
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET DEFAULT, CHARACTER SET DEFAULT;
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET latin1, b VARCHAR(10) CHARACTER SET utf8);
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8, CHARACTER SET latin1;
-ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8' and 'CHARACTER SET latin1'
+ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8mb3' and 'CHARACTER SET latin1'
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8, CHARACTER SET DEFAULT;
-ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8' and 'CHARACTER SET DEFAULT'
+ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8mb3' and 'CHARACTER SET DEFAULT'
ALTER TABLE t1 CONVERT TO CHARACTER SET latin1, CHARACTER SET utf8;
-ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET utf8'
+ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET utf8mb3'
ALTER TABLE t1 CONVERT TO CHARACTER SET latin1, CHARACTER SET DEFAULT;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET DEFAULT'
ALTER TABLE t1 CONVERT TO CHARACTER SET DEFAULT, CHARACTER SET utf8;
-ERROR HY000: Conflicting declarations: 'CHARACTER SET latin5' and 'CHARACTER SET utf8'
+ERROR HY000: Conflicting declarations: 'CHARACTER SET latin5' and 'CHARACTER SET utf8mb3'
ALTER TABLE t1 CONVERT TO CHARACTER SET DEFAULT, CHARACTER SET latin1;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin5' and 'CHARACTER SET latin1'
DROP TABLE t1;
diff --git a/mysql-test/main/ctype_eucjpms.result b/mysql-test/main/ctype_eucjpms.result
index ba91abca96f..db445838102 100644
--- a/mysql-test/main/ctype_eucjpms.result
+++ b/mysql-test/main/ctype_eucjpms.result
@@ -10565,70 +10565,70 @@ HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
8FAABC Ģ
Warnings:
-Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
@@ -10636,70 +10636,70 @@ code a
8FA9C3 ð
8FABB9 ǵ
Warnings:
-Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8mb3'
#
# WL#3090 Japanese Character Set adjustments
# Test sjis->Unicode conversion
@@ -25786,70 +25786,70 @@ FEFC EE8EA9
FEFD EE8EAA
FEFE EE8EAB
Warnings:
-Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2ED to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EE to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2F1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2FA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2FB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2FC to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A1 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A2 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A3 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A4 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A5 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A6 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A7 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A8 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3A9 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3AA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3AB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3AC to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3AD to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3AE to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3AF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3BA to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3BB to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3BC to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3BD to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3BE to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3BF to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3C0 to 'utf8'
-Warning 1977 Cannot convert 'eucjpms' character 0xA3DB to 'utf8'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2ED to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EE to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2F1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2FA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2FB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2FC to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A1 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A2 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A3 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A4 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A5 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A6 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A7 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A8 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3A9 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3AA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3AB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3AC to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3AD to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3AE to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3AF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3BA to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3BB to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3BC to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3BD to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3BE to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3BF to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'eucjpms' character 0xA3DB to 'utf8mb3'
DROP TABLE t1;
#
# WL#3090 Japanese Character Set adjustments
diff --git a/mysql-test/main/ctype_euckr.result b/mysql-test/main/ctype_euckr.result
index 5bfcc7071f3..37b7e86543f 100644
--- a/mysql-test/main/ctype_euckr.result
+++ b/mysql-test/main/ctype_euckr.result
@@ -24725,70 +24725,70 @@ HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A1CA â„«
Warnings:
-Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8'
+Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
@@ -24821,70 +24821,70 @@ A8E5 ⓨ
A8E6 â“©
A9A2 Ä‘
Warnings:
-Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8'
-Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8'
+Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2E8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2ED to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F1 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F2 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F3 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AE to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5AF to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BA to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BB to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BC to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8mb3'
+Warning 1977 Cannot convert 'euckr' character 0xA5BD to 'utf8mb3'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/ctype_filename.result b/mysql-test/main/ctype_filename.result
index aaccea91793..739fa979f28 100644
--- a/mysql-test/main/ctype_filename.result
+++ b/mysql-test/main/ctype_filename.result
@@ -30,7 +30,7 @@ aÑ a@r1 Ña 61407231 40723161
#
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
@@character_set_client @@character_set_connection @@character_set_results
-utf8 utf8 utf8
+utf8mb3 utf8mb3 utf8mb3
SET @old_character_set_client= @@character_set_client;
SET @old_character_set_connection= @@character_set_connection;
SET @old_character_set_results= @@character_set_results;
@@ -38,7 +38,7 @@ SET NAMES 'filename';
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'filename'
SELECT @@character_set_client, @@character_set_connection, @@character_set_results;
@@character_set_client @@character_set_connection @@character_set_results
-utf8 utf8 utf8
+utf8mb3 utf8mb3 utf8mb3
CREATE VIEW v2 AS SELECT 1;
SHOW TABLE STATUS;
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 Max_index_length Temporary
diff --git a/mysql-test/main/ctype_filesystem.result b/mysql-test/main/ctype_filesystem.result
index b461cf2a1a4..512a0612fd3 100644
--- a/mysql-test/main/ctype_filesystem.result
+++ b/mysql-test/main/ctype_filesystem.result
@@ -7,5 +7,5 @@ Variable_name Value
character_set_filesystem latin1
SHOW VARIABLES like 'character_set_client';
Variable_name Value
-character_set_client utf8
+character_set_client utf8mb3
SET CHARACTER SET default;
diff --git a/mysql-test/main/ctype_gb2312.result b/mysql-test/main/ctype_gb2312.result
index d6066f82db9..42a837b37e1 100644
--- a/mysql-test/main/ctype_gb2312.result
+++ b/mysql-test/main/ctype_gb2312.result
@@ -753,70 +753,70 @@ A2FA â…©
A2FB â…ª
A2FC â…«
Warnings:
-Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
@@ -848,70 +848,70 @@ A8B8 ǜ
A8B9 ü
A8BA ê
Warnings:
-Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8'
-Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A1 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A2 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2A9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E3 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2E4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA2FE to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F4 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F5 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F6 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F7 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FA to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FB to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FC to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8mb3'
+Warning 1977 Cannot convert 'gb2312' character 0xA4FD to 'utf8mb3'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/ctype_gbk.result b/mysql-test/main/ctype_gbk.result
index 80bf4dbfeaa..169c37f8261 100644
--- a/mysql-test/main/ctype_gbk.result
+++ b/mysql-test/main/ctype_gbk.result
@@ -789,70 +789,70 @@ code a
A2FB â…ª
A2FC â…«
Warnings:
-Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8'
+Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
@@ -886,70 +886,70 @@ A8BA ê
A8BD Å„
A8BE ň
Warnings:
-Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8'
-Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8'
+Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA140 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA141 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA142 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA143 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA144 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA145 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA146 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA147 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA148 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA149 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA14F to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA150 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA151 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA152 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA153 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA154 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA155 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA156 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA157 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA158 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA159 to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15A to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15B to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15C to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15D to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15E to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8mb3'
+Warning 1977 Cannot convert 'gbk' character 0xA15F to 'utf8mb3'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/ctype_gbk.test b/mysql-test/main/ctype_gbk.test
index c63c331c643..d68b78f847c 100644
--- a/mysql-test/main/ctype_gbk.test
+++ b/mysql-test/main/ctype_gbk.test
@@ -63,8 +63,10 @@ CREATE TABLE t1(a MEDIUMTEXT CHARACTER SET gbk,
INSERT INTO t1 VALUES
(REPEAT(0x1125,200000), REPEAT(0x1125,200000)), ('', ''), ('', '');
+--enable_prepare_warnings
SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
+--disable_prepare_warnings
DROP TABLES t1;
diff --git a/mysql-test/main/ctype_gbk_export_import.result b/mysql-test/main/ctype_gbk_export_import.result
index d7d5aa98f02..0ade48ec58a 100644
--- a/mysql-test/main/ctype_gbk_export_import.result
+++ b/mysql-test/main/ctype_gbk_export_import.result
@@ -49,7 +49,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`a1` text NOT NULL,
- `a2` text CHARACTER SET utf8 NOT NULL,
+ `a2` text CHARACTER SET utf8mb3 NOT NULL,
`b1` blob NOT NULL,
`eol` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk
diff --git a/mysql-test/main/ctype_latin1.result b/mysql-test/main/ctype_latin1.result
index 7853f8557f0..0b16d1cf6f2 100644
--- a/mysql-test/main/ctype_latin1.result
+++ b/mysql-test/main/ctype_latin1.result
@@ -3650,13 +3650,13 @@ EXPLAIN EXTENDED SELECT 'abcdó', _latin1'abcdó', _utf8'abcdó';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select 'abcdó' AS `abcdó`,_latin1'abcd\xC3\xB3' AS `abcdó`,_utf8'abcd\xC3\xB3' AS `abcdó`
+Note 1003 select 'abcdó' AS `abcdó`,_latin1'abcd\xC3\xB3' AS `abcdó`,_utf8mb3'abcd\xC3\xB3' AS `abcdó`
SET NAMES latin1;
EXPLAIN EXTENDED SELECT 'abcdó', _latin1'abcdó', _utf8'abcdó';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select 'abcdó' AS `abcdó`,_latin1'abcd\xC3\xB3' AS `abcdó`,_utf8'abcd\xC3\xB3' AS `abcdó`
+Note 1003 select 'abcdó' AS `abcdó`,_latin1'abcd\xC3\xB3' AS `abcdó`,_utf8mb3'abcd\xC3\xB3' AS `abcdó`
#
# End of 5.5 tests
#
diff --git a/mysql-test/main/ctype_ldml.result b/mysql-test/main/ctype_ldml.result
index 22b7a316111..05b31a4ea70 100644
--- a/mysql-test/main/ctype_ldml.result
+++ b/mysql-test/main/ctype_ldml.result
@@ -6,9 +6,9 @@ set names utf8;
show variables like 'character_sets_dir%';
Variable_name Value
character_sets_dir MYSQL_TEST_DIR/std_data/ldml/
-show collation like 'utf8_phone_ci';
+show collation like 'utf8mb3_phone_ci';
Collation Charset Id Default Compiled Sortlen
-utf8_phone_ci utf8 352 8
+utf8mb3_phone_ci utf8mb3 352 8
CREATE TABLE t1 (
name VARCHAR(64),
phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
@@ -35,9 +35,9 @@ 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';
+show collation like 'utf8mb3_test_ci';
Collation Charset Id Default Compiled Sortlen
-utf8_test_ci utf8 353 8
+utf8mb3_test_ci utf8mb3 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';
@@ -470,34 +470,34 @@ latin1_test latin1 331 1
latin1_test2 latin1 332 1
latin1_test2_cs latin1 333 1
latin1_swedish_nopad2_ci latin1 334 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
+utf8mb3_bengali_standard_ci utf8mb3 336 8
+utf8mb3_bengali_traditional_ci utf8mb3 337 8
+utf8mb3_implicit_weights_ci utf8mb3 338 8
+utf8mb3_phone_ci utf8mb3 352 8
+utf8mb3_test_ci utf8mb3 353 8
+utf8mb3_5624_1 utf8mb3 354 8
+utf8mb3_5624_2 utf8mb3 355 8
+utf8mb3_5624_3 utf8mb3 356 8
+utf8mb3_5624_4 utf8mb3 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
-utf8_czech_test_w2 utf8 370 4
-utf8_czech_test_nopad_w2 utf8 371 4
-utf8_czech_test_bad_w2 utf8 372 4
+utf8mb3_5624_5 utf8mb3 368 8
+utf8mb3_5624_5_bad utf8mb3 369 8
+utf8mb3_czech_test_w2 utf8mb3 370 4
+utf8mb3_czech_test_nopad_w2 utf8mb3 371 4
+utf8mb3_czech_test_bad_w2 utf8mb3 372 4
utf32_test_ci utf32 391 8
-utf8_maxuserid_ci utf8 2047 8
+utf8mb3_maxuserid_ci utf8mb3 2047 8
show collation like '%test%';
Collation Charset Id Default Compiled Sortlen
latin1_test latin1 331 1
latin1_test2 latin1 332 1
latin1_test2_cs latin1 333 1
-utf8_test_ci utf8 353 8
-utf8_czech_test_w2 utf8 370 4
-utf8_czech_test_nopad_w2 utf8 371 4
-utf8_czech_test_bad_w2 utf8 372 4
+utf8mb3_test_ci utf8mb3 353 8
+utf8mb3_czech_test_w2 utf8mb3 370 4
+utf8mb3_czech_test_nopad_w2 utf8mb3 371 4
+utf8mb3_czech_test_bad_w2 utf8mb3 372 4
ucs2_test_ci ucs2 358 8
utf8mb4_test_ci utf8mb4 326 8
utf8mb4_test_400_ci utf8mb4 328 8
@@ -524,9 +524,9 @@ a
b
DROP TABLE t1;
SET NAMES utf8 COLLATE utf8_phone_ci;
-SHOW COLLATION LIKE 'utf8_phone_ci';
+show collation like 'utf8mb3_phone_ci';
Collation Charset Id Default Compiled Sortlen
-utf8_phone_ci utf8 352 8
+utf8mb3_phone_ci utf8mb3 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))
diff --git a/mysql-test/main/ctype_ldml.test b/mysql-test/main/ctype_ldml.test
index 8baabdf2bcb..155e584935b 100644
--- a/mysql-test/main/ctype_ldml.test
+++ b/mysql-test/main/ctype_ldml.test
@@ -19,7 +19,7 @@ set names utf8;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
show variables like 'character_sets_dir%';
-show collation like 'utf8_phone_ci';
+show collation like 'utf8mb3_phone_ci';
CREATE TABLE t1 (
name VARCHAR(64),
phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
@@ -35,7 +35,7 @@ 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';
+show collation like 'utf8mb3_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';
@@ -204,7 +204,7 @@ 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';
+show collation like 'utf8mb3_phone_ci';
SET NAMES utf8;
# make sure utf8mb4_test_400_ci is Unicode-4.0.0 based
diff --git a/mysql-test/main/ctype_many.result b/mysql-test/main/ctype_many.result
index 9def4fea80b..74a870da239 100644
--- a/mysql-test/main/ctype_many.result
+++ b/mysql-test/main/ctype_many.result
@@ -1721,11 +1721,11 @@ SELECT CHARSET(CONCAT(utf8, utf8mb4)) FROM t1;
CHARSET(CONCAT(utf8, utf8mb4))
utf8mb4
SELECT CHARSET(CONCAT(utf8, ucs2)) FROM t1;
-ERROR HY000: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (ucs2_general_ci,IMPLICIT) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb3_general_ci,IMPLICIT) and (ucs2_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf8, utf16)) FROM t1;
-ERROR HY000: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf16_general_ci,IMPLICIT) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb3_general_ci,IMPLICIT) and (utf16_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf8, utf32)) FROM t1;
-ERROR HY000: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf32_general_ci,IMPLICIT) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb3_general_ci,IMPLICIT) and (utf32_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf8mb4, utf8)) FROM t1;
CHARSET(CONCAT(utf8mb4, utf8))
utf8mb4
@@ -1736,7 +1736,7 @@ ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf16_
SELECT CHARSET(CONCAT(utf8mb4, utf32)) FROM t1;
ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf32_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(ucs2, utf8)) FROM t1;
-ERROR HY000: Illegal mix of collations (ucs2_general_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'concat'
+ERROR HY000: Illegal mix of collations (ucs2_general_ci,IMPLICIT) and (utf8mb3_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(ucs2, utf8mb4)) FROM t1;
ERROR HY000: Illegal mix of collations (ucs2_general_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(ucs2, utf16)) FROM t1;
@@ -1744,7 +1744,7 @@ ERROR HY000: Illegal mix of collations (ucs2_general_ci,IMPLICIT) and (utf16_gen
SELECT CHARSET(CONCAT(ucs2, utf32)) FROM t1;
ERROR HY000: Illegal mix of collations (ucs2_general_ci,IMPLICIT) and (utf32_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf16, utf8)) FROM t1;
-ERROR HY000: Illegal mix of collations (utf16_general_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf16_general_ci,IMPLICIT) and (utf8mb3_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf16, ucs2)) FROM t1;
ERROR HY000: Illegal mix of collations (utf16_general_ci,IMPLICIT) and (ucs2_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf16, utf8mb4)) FROM t1;
@@ -1752,7 +1752,7 @@ ERROR HY000: Illegal mix of collations (utf16_general_ci,IMPLICIT) and (utf8mb4_
SELECT CHARSET(CONCAT(utf16, utf32)) FROM t1;
ERROR HY000: Illegal mix of collations (utf16_general_ci,IMPLICIT) and (utf32_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf32, utf8)) FROM t1;
-ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (utf8mb3_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf32, ucs2)) FROM t1;
ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (ucs2_general_ci,IMPLICIT) for operation 'concat'
SELECT CHARSET(CONCAT(utf32, utf8mb4)) FROM t1;
diff --git a/mysql-test/main/ctype_mb.result b/mysql-test/main/ctype_mb.result
index 015457cc1b3..50f7d17fef4 100644
--- a/mysql-test/main/ctype_mb.result
+++ b/mysql-test/main/ctype_mb.result
@@ -3,17 +3,17 @@ CREATE TABLE t1 SELECT _utf8'test' as c1, _utf8'теÑÑ‚' as c2;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 NOT NULL,
- `c2` varchar(4) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 NOT NULL,
+ `c2` varchar(4) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DELETE FROM t1;
ALTER TABLE t1 ADD c3 CHAR(4) CHARACTER SET utf8;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 NOT NULL,
- `c2` varchar(4) CHARACTER SET utf8 NOT NULL,
- `c3` char(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 NOT NULL,
+ `c2` varchar(4) CHARACTER SET utf8mb3 NOT NULL,
+ `c3` char(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT IGNORE INTO t1 VALUES ('aaaabbbbccccdddd','aaaabbbbccccdddd','aaaabbbbccccdddd');
Warnings:
@@ -28,12 +28,12 @@ CREATE TABLE t1 (a CHAR(4) CHARACTER SET utf8, KEY key_a(a(3)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(4) CHARACTER SET utf8 DEFAULT NULL,
+ `a` char(4) CHARACTER SET utf8mb3 DEFAULT NULL,
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 key_a 1 a A NULL 3 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key_a 1 a A NULL 3 NULL YES BTREE NO
ALTER TABLE t1 CHANGE a a CHAR(4);
SHOW CREATE TABLE t1;
Table Create Table
@@ -42,16 +42,16 @@ t1 CREATE TABLE `t1` (
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 key_a 1 a A NULL 3 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key_a 1 a A NULL 3 NULL YES BTREE NO
ALTER TABLE t1 CHANGE a a CHAR(4) CHARACTER SET utf8;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(4) CHARACTER SET utf8 DEFAULT NULL,
+ `a` char(4) CHARACTER SET utf8mb3 DEFAULT NULL,
KEY `key_a` (`a`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 key_a 1 a A NULL 3 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key_a 1 a A NULL 3 NULL YES BTREE NO
DROP TABLE t1;
diff --git a/mysql-test/main/ctype_recoding.result b/mysql-test/main/ctype_recoding.result
index 4668ddf9684..82e42f62782 100644
--- a/mysql-test/main/ctype_recoding.result
+++ b/mysql-test/main/ctype_recoding.result
@@ -162,10 +162,10 @@ Field Type Null Key Default Extra
DROP TABLE t1;
SET NAMES binary;
CREATE TABLE `goodÐÌÏÈÏ` (a int);
-ERROR HY000: Invalid utf8 character string: 'good\xD0\xCC\xCF\xC8\xCF'
+ERROR HY000: Invalid utf8mb3 character string: 'good\xD0\xCC\xCF\xC8\xCF'
SET NAMES utf8;
CREATE TABLE `goodÐÌÏÈÏ` (a int);
-ERROR HY000: Invalid utf8 character string: 'good\xD0\xCC\xCF\xC8\xCF'
+ERROR HY000: Invalid utf8mb3 character string: 'good\xD0\xCC\xCF\xC8\xCF'
set names latin1;
create table t1 (a char(10) character set koi8r, b text character set koi8r);
insert into t1 values ('test','test');
diff --git a/mysql-test/main/ctype_sjis.result b/mysql-test/main/ctype_sjis.result
index 260d3e20d98..9650bd84cad 100644
--- a/mysql-test/main/ctype_sjis.result
+++ b/mysql-test/main/ctype_sjis.result
@@ -674,139 +674,139 @@ HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
81F0 â„«
Warnings:
-Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8'
+Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
Warnings:
-Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8'
+Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8mb3'
#
# WL#3090 Japanese Character Set adjustments
# Test sjis->Unicode conversion
@@ -7757,70 +7757,70 @@ EAA2 E791A4
EAA3 E5879C
EAA4 E78699
Warnings:
-Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EB to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EC to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81ED to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EE to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81EF to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81F8 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81F9 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81FA to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x81FB to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8240 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8241 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8242 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8243 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8244 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8245 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8246 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8247 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8248 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8249 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x824A to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x824B to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x824C to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x824D to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x824E to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x8259 to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x825A to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x825B to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x825C to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x825D to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x825E to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x825F to 'utf8'
-Warning 1977 Cannot convert 'sjis' character 0x827A to 'utf8'
+Warning 1977 Cannot convert 'sjis' character 0x81AD to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AE to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81AF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81CF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D0 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81E9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EA to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EB to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EC to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81ED to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EE to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81EF to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81F8 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81F9 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81FA to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x81FB to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8240 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8241 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8242 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8243 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8244 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8245 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8246 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8247 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8248 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8249 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x824A to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x824B to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x824C to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x824D to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x824E to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x8259 to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x825A to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x825B to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x825C to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x825D to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x825E to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x825F to 'utf8mb3'
+Warning 1977 Cannot convert 'sjis' character 0x827A to 'utf8mb3'
DROP TABLE t1;
#
# WL#3090 Japanese Character Set adjustments
diff --git a/mysql-test/main/ctype_uca.result b/mysql-test/main/ctype_uca.result
index d4b242d035f..279a3cdcd5d 100644
--- a/mysql-test/main/ctype_uca.result
+++ b/mysql-test/main/ctype_uca.result
@@ -6037,7 +6037,7 @@ USE d1;
CREATE TABLE t1 (c CHAR(10), KEY(c));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
-c char(10) utf8_swedish_ci YES MUL NULL
+c char(10) utf8mb3_swedish_ci YES MUL NULL
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
want3results
@@ -6048,7 +6048,7 @@ DROP TABLE t1;
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
-c1 varchar(15) utf8_swedish_ci YES MUL NULL
+c1 varchar(15) utf8mb3_swedish_ci YES MUL NULL
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
SELECT c1 as want3results from t1 where c1 like 'l%';
want3results
@@ -6104,7 +6104,7 @@ SET character_set_connection= @test_character_set;
SET collation_connection= @test_collation;
SELECT COLLATION('.'), SUBSTRING_INDEX('.wwwmysqlcom', '.', -2) AS c1;
COLLATION('.') c1
-utf8_swedish_ci .wwwmysqlcom
+utf8mb3_swedish_ci .wwwmysqlcom
set names utf8;
create table t1 (
name varchar(10),
@@ -6112,9 +6112,9 @@ level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `name` varchar(10) COLLATE utf8_swedish_ci DEFAULT NULL,
+ `name` varchar(10) COLLATE utf8mb3_swedish_ci DEFAULT NULL,
`level` smallint(5) unsigned DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_swedish_ci
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
@@ -6143,16 +6143,16 @@ delete from t1;
insert into t1 values ('a'), ('a '), ('a\t');
select collation(a),hex(a) from t1 order by a;
collation(a) hex(a)
-utf8_unicode_ci 6109
-utf8_unicode_ci 61
-utf8_unicode_ci 6120
+utf8mb3_unicode_ci 6109
+utf8mb3_unicode_ci 61
+utf8mb3_unicode_ci 6120
drop table t1;
#
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
#
SELECT @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1),(2);
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
@@ -6169,7 +6169,7 @@ DROP TABLE t1;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_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");
@@ -6217,7 +6217,7 @@ a
DROP TABLE t1;
select @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
insert into t1 values('abcdef');
insert into t1 values('_bcdef');
@@ -6235,7 +6235,7 @@ ab_def
drop table t1;
SELECT @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
SELECT '\%b' LIKE '%\%';
'\%b' LIKE '%\%'
0
@@ -6244,7 +6244,7 @@ drop table if exists t1;
create table t1 as select repeat(' ', 64) as s1;
select collation(s1) from t1;
collation(s1)
-utf8_unicode_ci
+utf8mb3_unicode_ci
delete from t1;
INSERT INTO t1 VALUES ('ud'),('uf');
INSERT INTO t1 VALUES ('od'),('of');
@@ -6332,7 +6332,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a, 1 AS b LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
+ `a` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
`b` int(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('s',0),(_latin1 0xDF,1);
@@ -6548,7 +6548,7 @@ End of 5.1 tests
SET collation_connection=utf8_czech_ci;
SELECT @@collation_connection;
@@collation_connection
-utf8_czech_ci
+utf8mb3_czech_ci
#
# Bug#57737 Character sets: search fails with like, contraction, index
#
@@ -6574,7 +6574,7 @@ ch
DROP TABLE t1;
SELECT @@collation_connection;
@@collation_connection
-utf8_czech_ci
+utf8mb3_czech_ci
#
# Bug#57737 Character sets: search fails with like, contraction, index
# Part#2 - ignorable characters
@@ -6740,7 +6740,7 @@ ADD KEY(ch);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ch` varchar(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
+ `ch` varchar(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `ch` (`ch`)
@@ -6959,7 +6959,7 @@ ADD KEY(ch);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ch` varchar(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
+ `ch` varchar(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `ch` (`ch`)
@@ -7424,12 +7424,12 @@ F6FDF6FD9FF1B5F1CCF1
set @@collation_connection=utf8_unicode_ci;
select @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
CREATE TABLE t1 AS SELECT 'a' AS a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
+ `a` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
SHOW CREATE TABLE t2;
@@ -7449,7 +7449,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `a` varchar(5) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
SHOW CREATE TABLE t2;
@@ -7565,7 +7565,7 @@ hex(weight_string('abc',25, 4, 0xC0))
0E330E4A0E6002090209020902090209020902090209020902
select @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
select hex(weight_string(cast(_latin1 0x80 as char)));
hex(weight_string(cast(_latin1 0x80 as char)))
0E23
@@ -7637,7 +7637,7 @@ hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
0E230E230E2302090209020902090209020902090209020902
select @@collation_connection;
@@collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
select hex(weight_string('a' LEVEL 1));
hex(weight_string('a' LEVEL 1))
0E33
@@ -7668,10 +7668,10 @@ F6FDF6FD9FF1B5F1CCF1
set @@collation_connection=utf8_czech_ci;
select @@collation_connection;
@@collation_connection
-utf8_czech_ci
+utf8mb3_czech_ci
select collation(cast(_latin1 0xDF as char));
collation(cast(_latin1 0xDF as char))
-utf8_czech_ci
+utf8mb3_czech_ci
select hex(weight_string('s'));
hex(weight_string('s'))
0FEA
@@ -7987,7 +7987,7 @@ drop table if exists t1;
create table t1 as select repeat(' ', 64) as s1;
select collation(s1) from t1;
collation(s1)
-utf8_german2_ci
+utf8mb3_german2_ci
delete from t1;
INSERT INTO t1 VALUES ('ud'),('uf');
INSERT INTO t1 VALUES ('od'),('of');
@@ -8077,7 +8077,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a, 1 AS b LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL,
+ `a` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL,
`b` int(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('s',0),(_latin1 0xDF,1);
@@ -8411,7 +8411,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE CONCAT(c1)='a';
@@ -8434,7 +8434,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE 'a'=CONCAT(c1);
@@ -8457,7 +8457,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '% '=CONCAT(c1);
@@ -8480,7 +8480,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '%'=CONCAT(c1);
@@ -8506,7 +8506,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ';
@@ -8531,7 +8531,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('ae'),('ä');
SELECT * FROM t1 WHERE c1='ä';
@@ -8569,7 +8569,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE CONCAT(c1)='a';
@@ -8592,7 +8592,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE 'a'=CONCAT(c1);
@@ -8615,7 +8615,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '% '=CONCAT(c1);
@@ -8638,7 +8638,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '%'=CONCAT(c1);
@@ -8664,7 +8664,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ';
@@ -8689,7 +8689,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_german2_ci DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_german2_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('ae'),('ä');
SELECT * FROM t1 WHERE c1='ä';
@@ -8732,7 +8732,7 @@ SET NAMES utf8 COLLATE utf8_myanmar_ci;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_myanmar_ci
+utf8mb3_myanmar_ci
CREATE TABLE t1 AS SELECT 100000 AS id, REPEAT(' ', 64) AS s1 LIMIT 0;
SELECT COLLATION(s1) FROM t1;
COLLATION(s1)
@@ -8742,7 +8742,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `s1` varchar(64) CHARACTER SET utf8 COLLATE utf8_myanmar_ci DEFAULT NULL,
+ `s1` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_myanmar_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 (s1) VALUES
@@ -13966,12 +13966,12 @@ SET NAMES utf8 COLLATE utf8_thai_520_w2;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_thai_520_w2
+utf8mb3_thai_520_w2
SELECT ID, SORTLEN, COLLATION_NAME, CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.COLLATIONS
WHERE COLLATION_NAME LIKE @@collation_connection;
ID SORTLEN COLLATION_NAME CHARACTER_SET_NAME
-578 4 utf8_thai_520_w2 utf8
+578 4 utf8mb3_thai_520_w2 utf8mb3
#
# Testing strnxfrm
#
@@ -13979,7 +13979,7 @@ CREATE TABLE t1 AS SELECT SPACE(3) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(3) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
+ `a` varchar(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (SPACE(0)),(SPACE(1)),(SPACE(2));
SELECT HEX(a), HEX(WEIGHT_STRING(a AS CHAR(8))) FROM t1;
@@ -14012,7 +14012,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (_ucs2 0x3400);
INSERT INTO t1 VALUES (_ucs2 0xF001);
@@ -14025,7 +14025,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('A'),('À'),('Ã'),('Â'),('Ã'),('Ä'),('Ã…');
SELECT a, HEX(WEIGHT_STRING(a LEVEL 2)) FROM t1 ORDER BY a;
@@ -14059,7 +14059,7 @@ SET collation_connection=@backup_collation_connection;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(10) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
+ `a` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT a, HEX(WEIGHT_STRING(a LEVEL 2)) FROM t1 ORDER BY a;
a HEX(WEIGHT_STRING(a LEVEL 2))
@@ -14084,7 +14084,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('cota'),('cote'),('cotz');
INSERT INTO t1 VALUES ('coté'),('côte'),('côté'),('cotë'),('côtë');
@@ -14228,7 +14228,7 @@ SET collation_connection=@backup_collation_connection;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(30) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL,
+ `a` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `a_id` (`a`,`id`)
diff --git a/mysql-test/main/ctype_uca_innodb.result b/mysql-test/main/ctype_uca_innodb.result
index 7c64f17190e..2f46a140c83 100644
--- a/mysql-test/main/ctype_uca_innodb.result
+++ b/mysql-test/main/ctype_uca_innodb.result
@@ -15,7 +15,7 @@ ADD KEY(ch);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ch` varchar(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
+ `ch` varchar(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `ch` (`ch`)
diff --git a/mysql-test/main/ctype_uca_innodb.test b/mysql-test/main/ctype_uca_innodb.test
index cb6caff4a03..3582740d60e 100644
--- a/mysql-test/main/ctype_uca_innodb.test
+++ b/mysql-test/main/ctype_uca_innodb.test
@@ -2,7 +2,7 @@
# Tests for UCA collations with InnoDB
#
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
--source include/have_innodb.inc
diff --git a/mysql-test/main/ctype_uca_partitions.result b/mysql-test/main/ctype_uca_partitions.result
index 154de148ee0..36d102e3afd 100644
--- a/mysql-test/main/ctype_uca_partitions.result
+++ b/mysql-test/main/ctype_uca_partitions.result
@@ -4,7 +4,7 @@ PARTITION BY KEY(c1) PARTITIONS 3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_thai_520_w2 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_thai_520_w2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY KEY (`c1`)
PARTITIONS 3
diff --git a/mysql-test/main/ctype_ucs.test b/mysql-test/main/ctype_ucs.test
index 8f566fe831e..da970c124c2 100644
--- a/mysql-test/main/ctype_ucs.test
+++ b/mysql-test/main/ctype_ucs.test
@@ -75,7 +75,9 @@ DROP TABLE t1;
--echo # Problem # 1 (original report): wrong parsing of ucs2 data
SET character_set_connection=ucs2;
+--enable_prepare_warnings
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt';
+--disable_prepare_warnings
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
@@ -88,7 +90,9 @@ remove_file $MYSQLD_DATADIR/test/tmpp.txt;
--echo # Problem # 2 : if you write and read ucs2 data to a file they're lost
+--enable_prepare_warnings
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2;
+--disable_prepare_warnings
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
diff --git a/mysql-test/main/ctype_ujis.result b/mysql-test/main/ctype_ujis.result
index c20455813d3..8895770191d 100644
--- a/mysql-test/main/ctype_ujis.result
+++ b/mysql-test/main/ctype_ujis.result
@@ -3073,70 +3073,70 @@ HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
8FAABC Ģ
Warnings:
-Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8'
+Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8mb3'
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
@@ -3144,70 +3144,70 @@ code a
8FA9C3 ð
8FABB9 ǵ
Warnings:
-Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8'
+Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8mb3'
#
# WL#3090 Japanese Character Set adjustments
# Test sjis->Unicode conversion
@@ -18105,70 +18105,70 @@ FEFC EE8EA9
FEFD EE8EAA
FEFE EE8EAB
Warnings:
-Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2ED to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EE to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2EF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2F0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2F1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2FA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2FB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2FC to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA2FD to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A1 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A2 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A3 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A4 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A5 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A6 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A7 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A8 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3A9 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3AA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3AB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3AC to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3AD to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3AE to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3AF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3BA to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3BB to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3BC to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3BD to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3BE to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3BF to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3C0 to 'utf8'
-Warning 1977 Cannot convert 'ujis' character 0xA3DB to 'utf8'
+Warning 1977 Cannot convert 'ujis' character 0xA2AF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2B9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2C9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2D9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2DB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EC to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2ED to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EE to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2EF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2F0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2F1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2FA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2FB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2FC to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA2FD to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A1 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A2 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A3 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A4 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A5 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A6 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A7 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A8 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3A9 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3AA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3AB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3AC to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3AD to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3AE to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3AF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3BA to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3BB to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3BC to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3BD to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3BE to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3BF to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3C0 to 'utf8mb3'
+Warning 1977 Cannot convert 'ujis' character 0xA3DB to 'utf8mb3'
DROP TABLE t1;
#
# WL#3090 Japanese Character Set adjustments
diff --git a/mysql-test/main/ctype_upgrade.result b/mysql-test/main/ctype_upgrade.result
index 9d19c3b5203..6ed7f0d3ca5 100644
--- a/mysql-test/main/ctype_upgrade.result
+++ b/mysql-test/main/ctype_upgrade.result
@@ -18,7 +18,7 @@ test.maria050313_utf8_croatian_ci check status OK
SHOW CREATE TABLE maria050313_utf8_croatian_ci;
Table Create Table
maria050313_utf8_croatian_ci CREATE TABLE `maria050313_utf8_croatian_ci` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_croatian_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT count(*) FROM maria050313_utf8_croatian_ci;
count(*)
@@ -29,7 +29,7 @@ ALTER TABLE maria050313_utf8_croatian_ci FORCE;
SHOW CREATE TABLE maria050313_utf8_croatian_ci;
Table Create Table
maria050313_utf8_croatian_ci CREATE TABLE `maria050313_utf8_croatian_ci` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_croatian_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT GROUP_CONCAT(a ORDER BY BINARY a) FROM maria050313_utf8_croatian_ci GROUP BY a;
GROUP_CONCAT(a ORDER BY BINARY a)
@@ -53,7 +53,7 @@ SHOW CREATE TABLE maria050313_ucs2_croatian_ci_def;
Table Create Table
maria050313_ucs2_croatian_ci_def CREATE TABLE `maria050313_ucs2_croatian_ci_def` (
`a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_ci
DROP TABLE maria050313_ucs2_croatian_ci_def;
# Copying maria050313_ucs2_croatian_ci.* to MYSQLD_DATADIR
CHECK TABLE maria050313_ucs2_croatian_ci_def;
@@ -69,7 +69,7 @@ SHOW CREATE TABLE maria050313_ucs2_croatian_ci_def;
Table Create Table
maria050313_ucs2_croatian_ci_def CREATE TABLE `maria050313_ucs2_croatian_ci_def` (
`a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_ci
SELECT * FROM maria050313_ucs2_croatian_ci_def ORDER BY a;
a
1
@@ -91,7 +91,7 @@ test.maria050533_xxx_croatian_ci repair status OK
SHOW CREATE TABLE maria050533_xxx_croatian_ci;
Table Create Table
maria050533_xxx_croatian_ci CREATE TABLE `maria050533_xxx_croatian_ci` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci DEFAULT NULL,
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_croatian_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_ci DEFAULT NULL,
@@ -106,7 +106,7 @@ ALTER TABLE maria050533_xxx_croatian_ci FORCE;
SHOW CREATE TABLE maria050533_xxx_croatian_ci;
Table Create Table
maria050533_xxx_croatian_ci CREATE TABLE `maria050533_xxx_croatian_ci` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci DEFAULT NULL,
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_croatian_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_ci DEFAULT NULL,
@@ -150,24 +150,24 @@ test.maria100004_xxx_croatian_ci repair status OK
SHOW CREATE TABLE maria100004_xxx_croatian_ci;
Table Create Table
maria100004_xxx_croatian_ci CREATE TABLE `maria100004_xxx_croatian_ci` (
- `a` varchar(10) COLLATE utf8_croatian_ci DEFAULT NULL,
+ `a` varchar(10) COLLATE utf8mb3_croatian_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_ci DEFAULT NULL,
`e` varchar(10) CHARACTER SET utf32 COLLATE utf32_croatian_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_ci
DROP TABLE maria100004_xxx_croatian_ci;
# Copying maria100004_xxx_croatian_ci.* to MYSQLD_DATADIR
ALTER TABLE maria100004_xxx_croatian_ci FORCE;
SHOW CREATE TABLE maria100004_xxx_croatian_ci;
Table Create Table
maria100004_xxx_croatian_ci CREATE TABLE `maria100004_xxx_croatian_ci` (
- `a` varchar(10) COLLATE utf8_croatian_ci DEFAULT NULL,
+ `a` varchar(10) COLLATE utf8mb3_croatian_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_ci DEFAULT NULL,
`e` varchar(10) CHARACTER SET utf32 COLLATE utf32_croatian_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_ci
SELECT GROUP_CONCAT(a ORDER BY BINARY a) FROM maria100004_xxx_croatian_ci GROUP BY a;
GROUP_CONCAT(a ORDER BY BINARY a)
nJ
@@ -201,12 +201,12 @@ test.mysql050614_xxx_croatian_ci check status OK
SHOW CREATE TABLE mysql050614_xxx_croatian_ci;
Table Create Table
mysql050614_xxx_croatian_ci CREATE TABLE `mysql050614_xxx_croatian_ci` (
- `a` varchar(10) COLLATE utf8_croatian_mysql561_ci DEFAULT NULL,
+ `a` varchar(10) COLLATE utf8mb3_croatian_mysql561_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_mysql561_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_mysql561_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_mysql561_ci DEFAULT NULL,
`e` varchar(10) CHARACTER SET utf32 COLLATE utf32_croatian_mysql561_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_mysql561_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_mysql561_ci
SELECT GROUP_CONCAT(a ORDER BY BINARY a) FROM mysql050614_xxx_croatian_ci GROUP BY a;
GROUP_CONCAT(a ORDER BY BINARY a)
NJ,Nj,nJ,nj
@@ -261,6 +261,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -270,6 +370,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.maria050313_ucs2_croatian_ci_def Needs upgrade
test.maria050313_utf8_croatian_ci Needs upgrade
@@ -320,6 +422,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -329,6 +531,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.maria050313_ucs2_croatian_ci_def OK
test.maria050313_utf8_croatian_ci OK
@@ -341,7 +545,7 @@ SHOW CREATE TABLE maria050313_ucs2_croatian_ci_def;
Table Create Table
maria050313_ucs2_croatian_ci_def CREATE TABLE `maria050313_ucs2_croatian_ci_def` (
`a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_ci
SELECT * FROM maria050313_ucs2_croatian_ci_def ORDER BY a;
a
1
@@ -350,7 +554,7 @@ a
SHOW CREATE TABLE maria050313_utf8_croatian_ci;
Table Create Table
maria050313_utf8_croatian_ci CREATE TABLE `maria050313_utf8_croatian_ci` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_croatian_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT GROUP_CONCAT(a ORDER BY BINARY a) FROM maria050313_utf8_croatian_ci GROUP BY a;
GROUP_CONCAT(a ORDER BY BINARY a)
@@ -359,7 +563,7 @@ NJ,Nj,nj
SHOW CREATE TABLE maria050533_xxx_croatian_ci;
Table Create Table
maria050533_xxx_croatian_ci CREATE TABLE `maria050533_xxx_croatian_ci` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_croatian_ci DEFAULT NULL,
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_croatian_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_ci DEFAULT NULL,
@@ -372,12 +576,12 @@ NJ,Nj,nj
SHOW CREATE TABLE maria100004_xxx_croatian_ci;
Table Create Table
maria100004_xxx_croatian_ci CREATE TABLE `maria100004_xxx_croatian_ci` (
- `a` varchar(10) COLLATE utf8_croatian_ci DEFAULT NULL,
+ `a` varchar(10) COLLATE utf8mb3_croatian_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_ci DEFAULT NULL,
`e` varchar(10) CHARACTER SET utf32 COLLATE utf32_croatian_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_ci
SELECT GROUP_CONCAT(a ORDER BY BINARY a) FROM maria100004_xxx_croatian_ci GROUP BY a;
GROUP_CONCAT(a ORDER BY BINARY a)
nJ
@@ -385,12 +589,12 @@ NJ,Nj,nj
SHOW CREATE TABLE mysql050614_xxx_croatian_ci;
Table Create Table
mysql050614_xxx_croatian_ci CREATE TABLE `mysql050614_xxx_croatian_ci` (
- `a` varchar(10) COLLATE utf8_croatian_mysql561_ci DEFAULT NULL,
+ `a` varchar(10) COLLATE utf8mb3_croatian_mysql561_ci DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_croatian_mysql561_ci DEFAULT NULL,
`c` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_croatian_mysql561_ci DEFAULT NULL,
`d` varchar(10) CHARACTER SET utf16 COLLATE utf16_croatian_mysql561_ci DEFAULT NULL,
`e` varchar(10) CHARACTER SET utf32 COLLATE utf32_croatian_mysql561_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_croatian_mysql561_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_croatian_mysql561_ci
SELECT GROUP_CONCAT(a ORDER BY BINARY a) FROM mysql050614_xxx_croatian_ci GROUP BY a;
GROUP_CONCAT(a ORDER BY BINARY a)
NJ,Nj,nJ,nj
diff --git a/mysql-test/main/ctype_utf8.result b/mysql-test/main/ctype_utf8.result
index c385513245e..b7810dc6f2d 100644
--- a/mysql-test/main/ctype_utf8.result
+++ b/mysql-test/main/ctype_utf8.result
@@ -127,7 +127,7 @@ create table t1 select date_format("2004-01-19 10:10:10", "%Y-%m-%d");
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `date_format("2004-01-19 10:10:10", "%Y-%m-%d")` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `date_format("2004-01-19 10:10:10", "%Y-%m-%d")` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
date_format("2004-01-19 10:10:10", "%Y-%m-%d")
@@ -279,8 +279,8 @@ select null, null;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf8 DEFAULT NULL
+ `s1` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `s2` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
delete from t1;
insert into t1 values('aaa','aaa');
@@ -316,7 +316,7 @@ NULL
drop table t1;
SELECT @@character_set_client, @@collation_connection;
@@character_set_client @@collation_connection
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
select 'ваÑÑ' rlike '\\bваÑÑ\\b';
'ваÑÑ' rlike '\\bваÑÑ\\b'
1
@@ -367,7 +367,7 @@ create table t1 (a enum('aaaa','проба') character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('aaaa','проба') CHARACTER SET utf8 DEFAULT NULL
+ `a` enum('aaaa','проба') CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('проба');
select * from t1;
@@ -377,7 +377,7 @@ create table t2 select ifnull(a,a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `ifnull(a,a)` varchar(5) CHARACTER SET utf8 DEFAULT NULL
+ `ifnull(a,a)` varchar(5) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
ifnull(a,a)
@@ -503,7 +503,7 @@ unique key a using hash (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 DEFAULT NULL,
+ `c` char(10) CHARACTER SET utf8mb3 DEFAULT NULL,
UNIQUE KEY `a` (`c`(1)) USING HASH
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
@@ -539,7 +539,7 @@ unique key a using btree (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 DEFAULT NULL,
+ `c` char(10) CHARACTER SET utf8mb3 DEFAULT NULL,
UNIQUE KEY `a` (`c`(1)) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
@@ -661,7 +661,7 @@ unique key a using hash (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `c` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
UNIQUE KEY `a` (`c`(1)) USING HASH
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
@@ -697,7 +697,7 @@ unique key a using btree (c(1))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `c` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
UNIQUE KEY `a` (`c`(1)) USING BTREE
) ENGINE=MEMORY DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
@@ -901,8 +901,8 @@ create table t2 select concat(a,_utf8'') as a, concat(b,_utf8'')as b from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` varchar(5) CHARACTER SET utf8 DEFAULT NULL,
- `b` varchar(15) CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(5) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `b` varchar(15) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2;
drop table t1;
@@ -942,16 +942,16 @@ delete from t1;
insert into t1 values ('a'), ('a '), ('a\t');
select collation(a),hex(a) from t1 order by a;
collation(a) hex(a)
-utf8_general_ci 6109
-utf8_general_ci 61
-utf8_general_ci 6120
+utf8mb3_general_ci 6109
+utf8mb3_general_ci 61
+utf8mb3_general_ci 6120
drop table t1;
#
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
#
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1),(2);
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
@@ -968,7 +968,7 @@ DROP TABLE t1;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_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");
@@ -1016,7 +1016,7 @@ a
DROP TABLE t1;
select @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
insert into t1 values('abcdef');
insert into t1 values('_bcdef');
@@ -1034,7 +1034,7 @@ ab_def
drop table t1;
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
SELECT '\%b' LIKE '%\%';
'\%b' LIKE '%\%'
0
@@ -1043,7 +1043,7 @@ drop table if exists t1;
create table t1 as select repeat(' ', 64) as s1;
select collation(s1) from t1;
collation(s1)
-utf8_general_ci
+utf8mb3_general_ci
delete from t1;
INSERT INTO t1 VALUES ('ud'),('uf');
INSERT INTO t1 VALUES ('od'),('of');
@@ -1132,7 +1132,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a, 1 AS b LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
+ `a` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
`b` int(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('s',0),(_latin1 0xDF,1);
@@ -1159,7 +1159,7 @@ DROP TABLE t1;
#
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
-utf8 C3B7
+utf8mb3 C3B7
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
2001-01-01
@@ -1179,16 +1179,16 @@ delete from t1;
insert into t1 values ('a'), ('a '), ('a\t');
select collation(a),hex(a) from t1 order by a;
collation(a) hex(a)
-utf8_bin 6109
-utf8_bin 61
-utf8_bin 6120
+utf8mb3_bin 6109
+utf8mb3_bin 61
+utf8mb3_bin 6120
drop table t1;
#
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
#
SELECT @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_bin
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1),(2);
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
@@ -1205,7 +1205,7 @@ DROP TABLE t1;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_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");
@@ -1253,7 +1253,7 @@ a
DROP TABLE t1;
select @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_bin
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
insert into t1 values('abcdef');
insert into t1 values('_bcdef');
@@ -1271,7 +1271,7 @@ ab_def
drop table t1;
SELECT @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_bin
SELECT '\%b' LIKE '%\%';
'\%b' LIKE '%\%'
0
@@ -1281,7 +1281,7 @@ user varchar(255) NOT NULL default ''
INSERT INTO t1 VALUES ('one'),('two');
SELECT CHARSET('a');
CHARSET('a')
-utf8
+utf8mb3
SELECT user, CONCAT('<', user, '>') AS c FROM t1;
user c
one <one>
@@ -1818,13 +1818,13 @@ drop table t1;
SET CHARACTER SET utf8;
SHOW VARIABLES LIKE 'character\_set\_%';
Variable_name Value
-character_set_client utf8
+character_set_client utf8mb3
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
-character_set_results utf8
+character_set_results utf8mb3
character_set_server latin1
-character_set_system utf8
+character_set_system utf8mb3
CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
USE crashtest;
CREATE TABLE crashtest (crash char(10)) DEFAULT CHARSET=utf8;
@@ -1845,7 +1845,7 @@ crash
36
37
Warnings:
-Warning 1300 Invalid utf8 character string: 'FFFFFC'
+Warning 1300 Invalid utf8mb3 character string: 'FFFFFC'
DROP TABLE crashtest;
DROP DATABASE crashtest;
USE test;
@@ -1934,38 +1934,38 @@ select char(0xff,0x8f using utf8);
char(0xff,0x8f using utf8)
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'FF8F'
+Warning 1300 Invalid utf8mb3 character string: 'FF8F'
select convert(char(0xff,0x8f) using utf8);
convert(char(0xff,0x8f) using utf8)
??
Warnings:
-Warning 1300 Invalid utf8 character string: '\xFF\x8F'
+Warning 1300 Invalid utf8mb3 character string: '\xFF\x8F'
set sql_mode=traditional;
select char(0xff,0x8f using utf8);
char(0xff,0x8f using utf8)
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'FF8F'
+Warning 1300 Invalid utf8mb3 character string: 'FF8F'
select char(195 using utf8);
char(195 using utf8)
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'C3'
+Warning 1300 Invalid utf8mb3 character string: 'C3'
select char(196 using utf8);
char(196 using utf8)
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'C4'
+Warning 1300 Invalid utf8mb3 character string: 'C4'
select char(2557 using utf8);
char(2557 using utf8)
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'FD'
+Warning 1300 Invalid utf8mb3 character string: 'FD'
select convert(char(0xff,0x8f) using utf8);
convert(char(0xff,0x8f) using utf8)
??
Warnings:
-Warning 1300 Invalid utf8 character string: '\xFF\x8F'
+Warning 1300 Invalid utf8mb3 character string: '\xFF\x8F'
select hex(convert(char(2557 using latin1) using utf8));
hex(convert(char(2557 using latin1) using utf8))
09C3BD
@@ -2015,22 +2015,22 @@ insert into t1 values('t1_val');
create view v1 as select 'v1_val' as col1;
select coercibility(col1), collation(col1) from v1;
coercibility(col1) collation(col1)
-4 utf8_general_ci
+4 utf8mb3_general_ci
create view v2 as select col1 from v1 union select col1 from t1;
select coercibility(col1), collation(col1)from v2;
coercibility(col1) collation(col1)
-2 utf8_unicode_ci
-2 utf8_unicode_ci
+2 utf8mb3_unicode_ci
+2 utf8mb3_unicode_ci
drop view v1, v2;
create view v1 as select 'v1_val' collate utf8_swedish_ci as col1;
select coercibility(col1), collation(col1) from v1;
coercibility(col1) collation(col1)
-0 utf8_swedish_ci
+0 utf8mb3_swedish_ci
create view v2 as select col1 from v1 union select col1 from t1;
select coercibility(col1), collation(col1) from v2;
coercibility(col1) collation(col1)
-0 utf8_swedish_ci
-0 utf8_swedish_ci
+0 utf8mb3_swedish_ci
+0 utf8mb3_swedish_ci
drop view v1, v2;
drop table t1;
set names utf8;
@@ -2040,7 +2040,7 @@ select concat(a, if(b>10, N'x', N'y')) from t1;
concat(a, if(b>10, N'x', N'y'))
ay
select concat(a, if(b>10, N'æ', N'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8;
create table t1 (a varchar(10) character set latin1, b int);
@@ -2049,7 +2049,7 @@ select concat(a, if(b>10, _utf8'x', _utf8'y')) from t1;
concat(a, if(b>10, _utf8'x', _utf8'y'))
ay
select concat(a, if(b>10, _utf8'æ', _utf8'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8;
create table t1 (a varchar(10) character set latin1, b int);
@@ -2058,7 +2058,7 @@ select concat(a, if(b>10, _utf8 0x78, _utf8 0x79)) from t1;
concat(a, if(b>10, _utf8 0x78, _utf8 0x79))
ay
select concat(a, if(b>10, _utf8 0xC3A6, _utf8 0xC3AF)) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8;
create table t1 (a varchar(10) character set latin1, b int);
@@ -2067,7 +2067,7 @@ select concat(a, if(b>10, 'x' 'x', 'y' 'y')) from t1;
concat(a, if(b>10, 'x' 'x', 'y' 'y'))
ayy
select concat(a, if(b>10, 'x' 'æ', 'y' 'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
CREATE TABLE t1 (
colA int(11) NOT NULL,
@@ -2129,39 +2129,39 @@ select hex(char(0xFF using utf8));
hex(char(0xFF using utf8))
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'FF'
+Warning 1300 Invalid utf8mb3 character string: 'FF'
select hex(convert(0xFF using utf8));
hex(convert(0xFF using utf8))
3F
Warnings:
-Warning 1300 Invalid utf8 character string: '\xFF'
+Warning 1300 Invalid utf8mb3 character string: '\xFF'
select hex(_utf8 0x616263FF);
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
select hex(_utf8 X'616263FF');
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
select hex(_utf8 B'001111111111');
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
select (_utf8 X'616263FF');
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
set sql_mode=default;
select hex(char(0xFF using utf8));
hex(char(0xFF using utf8))
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'FF'
+Warning 1300 Invalid utf8mb3 character string: 'FF'
select hex(convert(0xFF using utf8));
hex(convert(0xFF using utf8))
3F
Warnings:
-Warning 1300 Invalid utf8 character string: '\xFF'
+Warning 1300 Invalid utf8mb3 character string: '\xFF'
select hex(_utf8 0x616263FF);
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
select hex(_utf8 X'616263FF');
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
select hex(_utf8 B'001111111111');
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
select (_utf8 X'616263FF');
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
#
# Bug#44131 Binary-mode "order by" returns records in incorrect order for UTF-8 strings
#
@@ -2271,12 +2271,12 @@ Start of 5.4 tests
SET NAMES utf8mb3;
SHOW VARIABLES LIKE 'character_set_results%';
Variable_name Value
-character_set_results utf8
+character_set_results utf8mb3
CREATE TABLE t1 (a CHAR CHARACTER SET utf8mb3 COLLATE utf8mb3_bin);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(1) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `a` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
SELECT _utf8mb3'test';
@@ -2297,7 +2297,7 @@ t1 CREATE TABLE `t1` (
`Tape` tinytext DEFAULT NULL,
PRIMARY KEY (`clipid`),
KEY `tape` (`Tape`(255))
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
@@ -2467,7 +2467,7 @@ CREATE TABLE t2 AS SELECT CONCAT(s1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `CONCAT(s1)` varchar(255) CHARACTER SET utf8 DEFAULT NULL
+ `CONCAT(s1)` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
SET NAMES utf8;
@@ -2482,7 +2482,7 @@ create table t1 as select concat(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select hex(c1) from t1;
hex(c1)
@@ -2495,7 +2495,7 @@ create table t1 as select concat(18446744073709551615) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(20) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(20) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select hex(c1) from t1;
hex(c1)
@@ -2508,7 +2508,7 @@ create table t1 as select concat(1.1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select hex(c1) from t1;
hex(c1)
@@ -2516,12 +2516,12 @@ hex(c1)
drop table t1;
select hex(concat('a', 1+2)), charset(concat(1+2));
hex(concat('a', 1+2)) charset(concat(1+2))
-6133 utf8
+6133 utf8mb3
create table t1 as select concat(1+2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1-2));
@@ -2531,7 +2531,7 @@ create table t1 as select concat(1-2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1*2));
@@ -2541,7 +2541,7 @@ create table t1 as select concat(1*2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1/2));
@@ -2551,7 +2551,7 @@ create table t1 as select concat(1/2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(7) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(7) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1 div 2));
@@ -2561,7 +2561,7 @@ create table t1 as select concat(1 div 2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1 % 2));
@@ -2571,7 +2571,7 @@ create table t1 as select concat(1 % 2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(-1));
@@ -2581,7 +2581,7 @@ create table t1 as select concat(-1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(-(1+2)));
@@ -2591,7 +2591,7 @@ create table t1 as select concat(-(1+2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1|2));
@@ -2601,7 +2601,7 @@ create table t1 as select concat(1|2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(1&2));
@@ -2611,7 +2611,7 @@ create table t1 as select concat(1&2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(bit_count(12)));
@@ -2621,7 +2621,7 @@ create table t1 as select concat(bit_count(12)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(2<<1));
@@ -2631,7 +2631,7 @@ create table t1 as select concat(2<<1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(2>>1));
@@ -2641,7 +2641,7 @@ create table t1 as select concat(2>>1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(~0));
@@ -2651,7 +2651,7 @@ create table t1 as select concat(~0) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(3^2));
@@ -2661,7 +2661,7 @@ create table t1 as select concat(3^2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(abs(-2)));
@@ -2671,7 +2671,7 @@ create table t1 as select concat(abs(-2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(exp(2)),1));
@@ -2681,7 +2681,7 @@ create table t1 as select concat(exp(2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(log(2)),1));
@@ -2691,7 +2691,7 @@ create table t1 as select concat(log(2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(log2(2)),1));
@@ -2701,7 +2701,7 @@ create table t1 as select concat(log2(2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(log10(2)),1));
@@ -2711,7 +2711,7 @@ create table t1 as select concat(log10(2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(sqrt(2)),1));
@@ -2721,7 +2721,7 @@ create table t1 as select concat(sqrt(2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(pow(2,2)),1));
@@ -2731,7 +2731,7 @@ create table t1 as select concat(pow(2,2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(acos(0.5)),1));
@@ -2741,7 +2741,7 @@ create table t1 as select concat(acos(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(asin(0.5)),1));
@@ -2751,7 +2751,7 @@ create table t1 as select concat(asin(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(atan(0.5)),1));
@@ -2761,7 +2761,7 @@ create table t1 as select concat(atan(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(cos(0.5)),1));
@@ -2771,7 +2771,7 @@ create table t1 as select concat(cos(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(sin(0.5)),1));
@@ -2781,7 +2781,7 @@ create table t1 as select concat(sin(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(tan(0.5)),1));
@@ -2791,7 +2791,7 @@ create table t1 as select concat(tan(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(degrees(0)));
@@ -2801,7 +2801,7 @@ create table t1 as select concat(degrees(0)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(radians(0)));
@@ -2811,7 +2811,7 @@ create table t1 as select concat(radians(0)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(ceiling(0.5)));
@@ -2822,7 +2822,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c0` int(3) NOT NULL,
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(floor(0.5)));
@@ -2833,7 +2833,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c0` int(3) NOT NULL,
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(round(0.5)));
@@ -2843,7 +2843,7 @@ create table t1 as select concat(round(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(sign(0.5)));
@@ -2853,14 +2853,14 @@ create table t1 as select concat(sign(0.5)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(rand()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(length('a')));
@@ -2870,7 +2870,7 @@ create table t1 as select concat(length('a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(char_length('a')));
@@ -2880,7 +2880,7 @@ create table t1 as select concat(char_length('a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(bit_length('a')));
@@ -2890,7 +2890,7 @@ create table t1 as select concat(bit_length('a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(11) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(11) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(coercibility('a')));
@@ -2900,7 +2900,7 @@ create table t1 as select concat(coercibility('a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(locate('a','a')));
@@ -2910,7 +2910,7 @@ create table t1 as select concat(locate('a','a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(11) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(11) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(field('c','a','b','c')));
@@ -2920,7 +2920,7 @@ create table t1 as select concat(field('c','a','b','c')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(ascii(61)));
@@ -2930,7 +2930,7 @@ create table t1 as select concat(ascii(61)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(ord(61)));
@@ -2940,7 +2940,7 @@ create table t1 as select concat(ord(61)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(7) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(7) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(find_in_set('b','a,b,c,d')));
@@ -2950,7 +2950,7 @@ create table t1 as select concat(find_in_set('b','a,b,c,d')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select md5('a'), hex(md5('a'));
@@ -2960,7 +2960,7 @@ create table t1 as select md5('a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(32) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(32) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select old_password('a'), hex(old_password('a'));
@@ -2970,7 +2970,7 @@ create table t1 as select old_password('a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(16) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(16) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select password('a'), hex(password('a'));
@@ -2980,7 +2980,7 @@ create table t1 as select password('a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(41) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(41) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select sha('a'), hex(sha('a'));
@@ -2990,7 +2990,7 @@ create table t1 as select sha('a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(40) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(40) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select sha1('a'), hex(sha1('a'));
@@ -3000,7 +3000,7 @@ create table t1 as select sha1('a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(40) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(40) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(cast('-1' as signed)));
@@ -3010,7 +3010,7 @@ create table t1 as select concat(cast('-1' as signed)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(cast('1' as unsigned)));
@@ -3020,7 +3020,7 @@ create table t1 as select concat(cast('1' as unsigned)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(cast(1/2 as decimal(5,5))));
@@ -3030,7 +3030,7 @@ create table t1 as select concat(cast(1/2 as decimal(5,5))) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(7) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(7) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(cast('2001-01-02 03:04:05' as date)));
@@ -3040,7 +3040,7 @@ create table t1 as select concat(cast('2001-01-02 03:04:05' as date)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
c1
@@ -3053,7 +3053,7 @@ create table t1 as select concat(cast('2001-01-02 03:04:05' as time)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
c1
@@ -3066,7 +3066,7 @@ create table t1 as select concat(cast('2001-01-02' as datetime)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
c1
@@ -3079,7 +3079,7 @@ create table t1 as select concat(least(1,2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(greatest(1,2)));
@@ -3089,7 +3089,7 @@ create table t1 as select concat(greatest(1,2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(case when 11 then 22 else 33 end));
@@ -3099,7 +3099,7 @@ create table t1 as select concat(case when 11 then 22 else 33 end) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(coalesce(1,2)));
@@ -3109,7 +3109,7 @@ create table t1 as select concat(coalesce(1,2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat_ws(1,2,3));
@@ -3119,7 +3119,7 @@ create table t1 as select concat_ws(1,2,3) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(group_concat(1,2,3));
@@ -3129,14 +3129,14 @@ create table t1 as select group_concat(1,2,3) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select 1 as c1 union select 'a';
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 NOT NULL DEFAULT ''
+ `c1` varchar(1) CHARACTER SET utf8mb3 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select hex(c1) from t1 order by c1;
hex(c1)
@@ -3147,7 +3147,7 @@ create table t1 as select concat(last_insert_id()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(benchmark(0,0)));
@@ -3157,7 +3157,7 @@ create table t1 as select concat(benchmark(0,0)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(sleep(0)));
@@ -3167,7 +3167,7 @@ create table t1 as select concat(sleep(0)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(is_free_lock('xxxx')));
@@ -3177,21 +3177,21 @@ create table t1 as select concat(is_free_lock('xxxx')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(is_used_lock('a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(release_lock('a')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(crc32('')));
@@ -3201,7 +3201,7 @@ create table t1 as select concat(crc32('')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(uncompressed_length('')));
@@ -3211,14 +3211,14 @@ create table t1 as select concat(uncompressed_length('')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(connection_id()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(inet_aton('127.1.1.1')));
@@ -3228,7 +3228,7 @@ create table t1 as select concat(inet_aton('127.1.1.1')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(inet_ntoa(2130772225)));
@@ -3241,7 +3241,7 @@ c1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(31) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(31) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select 1;
@@ -3254,7 +3254,7 @@ create table t1 as select concat(row_count()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(found_rows()));
@@ -3264,21 +3264,21 @@ create table t1 as select concat(found_rows()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(uuid_short()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(uuid()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(36) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(36) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select coercibility(uuid()), coercibility(cast('a' as char character set latin1));
@@ -3298,7 +3298,7 @@ create table t1 as select concat(master_pos_wait('non-existent',0,2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(@a1:=1));
@@ -3311,7 +3311,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
`c2` int(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3326,7 +3326,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
+ `c1` varchar(20) CHARACTER SET utf8mb3 DEFAULT NULL,
`c2` bigint(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3340,7 +3340,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL,
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL,
`c2` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3355,7 +3355,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL,
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL,
`c2` double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3369,7 +3369,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL,
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL,
`c2` decimal(2,1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3384,7 +3384,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(83) CHARACTER SET utf8 DEFAULT NULL,
+ `c1` varchar(83) CHARACTER SET utf8mb3 DEFAULT NULL,
`c2` decimal(65,38) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3398,7 +3398,7 @@ hex(c1)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a'='a' IS TRUE));
@@ -3408,7 +3408,7 @@ create table t1 as select concat('a'='a' IS TRUE) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a'='a' IS NOT TRUE));
@@ -3418,7 +3418,7 @@ create table t1 as select concat('a'='a' IS NOT TRUE) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(NOT 'a'='a'));
@@ -3428,7 +3428,7 @@ create table t1 as select concat(NOT 'a'='a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a' IS NULL));
@@ -3438,7 +3438,7 @@ create table t1 as select concat('a' IS NULL) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a' IS NOT NULL));
@@ -3448,7 +3448,7 @@ create table t1 as select concat('a' IS NOT NULL) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a' rlike 'a'));
@@ -3458,7 +3458,7 @@ create table t1 as select concat('a' IS NOT NULL) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(strcmp('a','b')));
@@ -3468,7 +3468,7 @@ create table t1 as select concat(strcmp('a','b')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a' like 'a'));
@@ -3478,7 +3478,7 @@ create table t1 as select concat('a' like 'b') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a' between 'b' and 'c'));
@@ -3488,7 +3488,7 @@ create table t1 as select concat('a' between 'b' and 'c') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat('a' in ('a','b')));
@@ -3498,7 +3498,7 @@ create table t1 as select concat('a' in ('a','b')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(interval(23, 1, 15, 17, 30, 44, 200)));
@@ -3508,7 +3508,7 @@ create table t1 as select concat(interval(23, 1, 15, 17, 30, 44, 200)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a varchar(10), fulltext key(a));
@@ -3520,7 +3520,7 @@ create table t2 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) CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
select hex(ifnull(1,'a'));
@@ -3530,7 +3530,7 @@ create table t1 as select ifnull(1,'a') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(ifnull(1,1)));
@@ -3540,7 +3540,7 @@ create table t1 as select concat(ifnull(1,1)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(ifnull(1.1,1.1)));
@@ -3550,7 +3550,7 @@ create table t1 as select concat(ifnull(1.1,1.1)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(if(1,'b',1));
@@ -3560,7 +3560,7 @@ create table t1 as select if(1,'b',1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(if(1,1,'b'));
@@ -3570,7 +3570,7 @@ create table t1 as select if(1,1,'b') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(if(1,1,1)));
@@ -3580,7 +3580,7 @@ create table t1 as select concat(if(1,1,1)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(nullif(1,2)));
@@ -3590,7 +3590,7 @@ create table t1 as select concat(nullif(1,2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(Dimension(GeomFromText('LINESTRING(0 0,10 10)'))));
@@ -3600,7 +3600,7 @@ create table t1 as select concat(Dimension(GeomFromText('LINSTRING(0 0,10 10)'))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
@@ -3610,7 +3610,7 @@ create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
@@ -3620,7 +3620,7 @@ create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
@@ -3630,7 +3630,7 @@ create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
@@ -3640,7 +3640,7 @@ create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
@@ -3650,7 +3650,7 @@ create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(21) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(21) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
@@ -3660,7 +3660,7 @@ create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
@@ -3670,7 +3670,7 @@ create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
@@ -3685,7 +3685,7 @@ create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(y(GeomFromText('Point(1 2)'))));
@@ -3695,7 +3695,7 @@ create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
@@ -3705,7 +3705,7 @@ create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)')))
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
@@ -3715,7 +3715,7 @@ create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(23) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(23) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
@@ -3725,7 +3725,7 @@ create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(20) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(20) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
@@ -3735,7 +3735,7 @@ create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(period_add(200902, 2)));
@@ -3745,7 +3745,7 @@ create table t1 as select concat(period_add(200902, 2)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(period_diff(200902, 200802)));
@@ -3758,7 +3758,7 @@ Warning 1265 Data truncated for column 'c1' at row 1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(6) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(6) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(to_days(20090224)));
@@ -3768,7 +3768,7 @@ create table t1 as select concat(to_days(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(dayofmonth(20090224)));
@@ -3778,7 +3778,7 @@ create table t1 as select concat(dayofmonth(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(dayofyear(20090224)));
@@ -3788,7 +3788,7 @@ create table t1 as select concat(dayofyear(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(hour('10:11:12')));
@@ -3798,7 +3798,7 @@ create table t1 as select concat(hour('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(minute('10:11:12')));
@@ -3808,7 +3808,7 @@ create table t1 as select concat(minute('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(second('10:11:12')));
@@ -3818,7 +3818,7 @@ create table t1 as select concat(second('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(quarter(20090224)));
@@ -3828,7 +3828,7 @@ create table t1 as select concat(quarter(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(week(20090224)));
@@ -3838,7 +3838,7 @@ create table t1 as select concat(week(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(yearweek(20090224)));
@@ -3848,7 +3848,7 @@ create table t1 as select concat(yearweek(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(year(20090224)));
@@ -3858,7 +3858,7 @@ create table t1 as select concat(year(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(weekday(20090224)));
@@ -3868,7 +3868,7 @@ create table t1 as select concat(weekday(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(dayofweek(20090224)));
@@ -3878,7 +3878,7 @@ create table t1 as select concat(dayofweek(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(unix_timestamp(20090224)));
@@ -3888,7 +3888,7 @@ create table t1 as select concat(unix_timestamp(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(17) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(17) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(time_to_sec('10:11:12')));
@@ -3898,7 +3898,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(17) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(17) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(extract(year from 20090702)));
@@ -3908,7 +3908,7 @@ create table t1 as select concat(extract(year from 20090702)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(microsecond('12:00:00.123456')));
@@ -3918,7 +3918,7 @@ create table t1 as select concat(microsecond('12:00:00.123456')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(month(20090224)));
@@ -3928,14 +3928,14 @@ create table t1 as select concat(month(20090224)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(last_day('2003-02-05')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select c1, hex(c1) from t1;
c1 hex(c1)
@@ -3945,7 +3945,7 @@ create table t1 as select concat(from_days(730669)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select c1, hex(c1) from t1;
c1 hex(c1)
@@ -3955,21 +3955,21 @@ create table t1 as select concat(curdate()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(utc_date()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(curtime()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select repeat('a',20) as c1 limit 0;
@@ -3985,7 +3985,7 @@ create table t1 as select concat(utc_time()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(sec_to_time(2378)));
@@ -3995,7 +3995,7 @@ create table t1 as select concat(sec_to_time(2378)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
@@ -4005,7 +4005,7 @@ create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(maketime(10,11,12)));
@@ -4015,7 +4015,7 @@ create table t1 as select concat(maketime(10,11,12)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(get_format(DATE,'USA'));
@@ -4025,7 +4025,7 @@ create table t1 as select get_format(DATE,'USA') as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(17) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(17) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(concat(from_unixtime(1111885200)),4));
@@ -4035,7 +4035,7 @@ create table t1 as select concat(from_unixtime(1111885200)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
@@ -4045,7 +4045,7 @@ create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:0
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
@@ -4055,7 +4055,7 @@ create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
c1
@@ -4068,7 +4068,7 @@ create table t1 as select concat(makedate(2009,1)) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1;
c1
@@ -4078,21 +4078,21 @@ create table t1 as select concat(now()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(utc_timestamp()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select concat(sysdate()) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(addtime('00:00:00','11:22:33')));
@@ -4102,7 +4102,7 @@ create table t1 as select concat(addtime('00:00:00','11:22:33')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(26) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(26) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(subtime('23:59:59','11:22:33')));
@@ -4112,7 +4112,7 @@ create table t1 as select concat(subtime('23:59:59','11:22:33')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(26) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(26) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(elt(1,2,3));
@@ -4122,7 +4122,7 @@ create table t1 as select elt(1,2,3) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(export_set(1,2,3,4,2));
@@ -4132,7 +4132,7 @@ create table t1 as select export_set(1,2,3,4,2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(127) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(127) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(insert(1133,3,0,22));
@@ -4142,7 +4142,7 @@ create table t1 as select insert(1133,3,0,22) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(lcase(123));
@@ -4152,7 +4152,7 @@ create table t1 as select lcase(123) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(left(123,1));
@@ -4162,7 +4162,7 @@ create table t1 as select left(123,1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(lower(123));
@@ -4172,7 +4172,7 @@ create table t1 as select lower(123) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(lpad(1,2,0));
@@ -4182,7 +4182,7 @@ create table t1 as select lpad(1,2,0) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(ltrim(1));
@@ -4192,7 +4192,7 @@ create table t1 as select ltrim(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(mid(1,1,1));
@@ -4202,7 +4202,7 @@ create table t1 as select mid(1,1,1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(repeat(1,2));
@@ -4212,7 +4212,7 @@ create table t1 as select repeat(1,2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(replace(1,1,2));
@@ -4222,7 +4222,7 @@ create table t1 as select replace(1,1,2) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(reverse(12));
@@ -4232,7 +4232,7 @@ create table t1 as select reverse(12) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(right(123,1));
@@ -4242,7 +4242,7 @@ create table t1 as select right(123,1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(rpad(1,2,0));
@@ -4252,7 +4252,7 @@ create table t1 as select rpad(1,2,0) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(rtrim(1));
@@ -4262,7 +4262,7 @@ create table t1 as select rtrim(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(soundex(1));
@@ -4272,7 +4272,7 @@ create table t1 as select soundex(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(substring(1,1,1));
@@ -4282,7 +4282,7 @@ create table t1 as select substring(1,1,1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(trim(1));
@@ -4292,7 +4292,7 @@ create table t1 as select trim(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(ucase(1));
@@ -4302,7 +4302,7 @@ create table t1 as select ucase(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(upper(1));
@@ -4312,14 +4312,14 @@ create table t1 as select upper(1) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 as select repeat(' ', 64) as a limit 0;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(64) CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ("1.1"), ("2.1");
select a, hex(a) from t1;
@@ -4341,7 +4341,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a tinyint zerofill);
@@ -4369,7 +4369,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(12) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(12) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a smallint);
@@ -4381,7 +4381,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a smallint zerofill);
@@ -4403,7 +4403,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(9) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a mediumint zerofill);
@@ -4425,7 +4425,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(11) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(11) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a int zerofill);
@@ -4447,7 +4447,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(20) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(20) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a bigint zerofill);
@@ -4472,7 +4472,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(12) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(12) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a float zerofill);
@@ -4497,7 +4497,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(22) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(22) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a double zerofill);
@@ -4521,7 +4521,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a year);
@@ -4533,7 +4533,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a bit(64));
@@ -4569,7 +4569,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a date);
@@ -4583,7 +4583,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a time);
@@ -4601,7 +4601,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a datetime);
@@ -4615,7 +4615,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a tinyint);
@@ -5049,37 +5049,37 @@ drop function f1;
SET @x=md5('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
SET @x=old_password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
SET @x=password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
SET @x=sha('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
SET @x=sha1('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
SET @x=astext(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
#
# Bug#54916 GROUP_CONCAT + IFNULL truncates output
#
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
@@ -5108,116 +5108,116 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `CONCAT(a)` varchar(9) CHARACTER SET utf8 DEFAULT NULL,
- `IFNULL(a,'')` varchar(9) CHARACTER SET utf8 NOT NULL,
- `IF(a,a,'')` varchar(9) CHARACTER SET utf8 DEFAULT NULL,
- `CASE WHEN a THEN a ELSE '' END` varchar(9) CHARACTER SET utf8 DEFAULT NULL,
- `COALESCE(a,'')` varchar(9) CHARACTER SET utf8 DEFAULT NULL
+ `CONCAT(a)` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `IFNULL(a,'')` varchar(9) CHARACTER SET utf8mb3 NOT NULL,
+ `IF(a,a,'')` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `CASE WHEN a THEN a ELSE '' END` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `COALESCE(a,'')` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT CONCAT_WS(1,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `CONCAT_WS(1,2,3)` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `CONCAT_WS(1,2,3)` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT INSERT(1133,3,0,22) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `INSERT(1133,3,0,22)` varchar(6) CHARACTER SET utf8 DEFAULT NULL
+ `INSERT(1133,3,0,22)` varchar(6) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `LCASE(a)` varchar(9) CHARACTER SET utf8 DEFAULT NULL
+ `LCASE(a)` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT UCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `UCASE(a)` varchar(9) CHARACTER SET utf8 DEFAULT NULL
+ `UCASE(a)` varchar(9) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPEAT(1,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `REPEAT(1,2)` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `REPEAT(1,2)` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LEFT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `LEFT(123,2)` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `LEFT(123,2)` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RIGHT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `RIGHT(123,2)` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `RIGHT(123,2)` varchar(2) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `LTRIM(123)` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `LTRIM(123)` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `RTRIM(123)` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `RTRIM(123)` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT ELT(1,111,222,333) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `ELT(1,111,222,333)` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `ELT(1,111,222,333)` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPLACE(111,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `REPLACE(111,2,3)` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `REPLACE(111,2,3)` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SUBSTRING_INDEX(111,111,1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `SUBSTRING_INDEX(111,111,1)` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `SUBSTRING_INDEX(111,111,1)` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT MAKE_SET(111,222,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `MAKE_SET(111,222,3)` varchar(5) CHARACTER SET utf8 DEFAULT NULL
+ `MAKE_SET(111,222,3)` varchar(5) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SOUNDEX(1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `SOUNDEX(1)` varchar(4) CHARACTER SET utf8 DEFAULT NULL
+ `SOUNDEX(1)` varchar(4) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT EXPORT_SET(1,'Y','N','',8);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `EXPORT_SET(1,'Y','N','',8)` varchar(64) CHARACTER SET utf8 DEFAULT NULL
+ `EXPORT_SET(1,'Y','N','',8)` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
@@ -5229,7 +5229,7 @@ DROP TABLE t1;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
CREATE TABLE t1 (
id INT(11) DEFAULT NULL,
date_column DATE DEFAULT NULL,
@@ -5248,14 +5248,14 @@ DROP TABLE t1;
#
SELECT @@collation_connection, @@character_set_results;
@@collation_connection @@character_set_results
-utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3
SELECT
CHARSET(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
CHARSET(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field_str2,
CHARSET(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
CHARSET(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
field_str1 field_str2 field_date field_datetime
-utf8 utf8 binary binary
+utf8mb3 utf8mb3 binary binary
CREATE TABLE t1 AS
SELECT
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
@@ -5265,8 +5265,8 @@ DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_da
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `field_str1` varchar(19) CHARACTER SET utf8 DEFAULT NULL,
- `field1_str2` varchar(19) CHARACTER SET utf8 DEFAULT NULL,
+ `field_str1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `field1_str2` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL,
`field_date` date DEFAULT NULL,
`field_datetime` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@@ -5295,14 +5295,14 @@ field_str1 field1_str2 field_date field_datetime
#
SELECT @@collation_connection, @@character_set_results;
@@collation_connection @@character_set_results
-utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3
SELECT
CHARSET(ADDTIME(_latin1'10:01:01',_latin1'10:00:00')) AS addtime1,
CHARSET(ADDTIME('10:01:01','10:00:00')) AS addtime2,
CHARSET(DATE_ADD(_latin1'2001-01-01 10:01:01',interval 10 second)) AS date_add1,
CHARSET(DATE_ADD('2001-01-01 10:01:01',interval 10 second)) AS date_add2;
addtime1 addtime2 date_add1 date_add2
-utf8 utf8 utf8 utf8
+utf8mb3 utf8mb3 utf8mb3 utf8mb3
CREATE TABLE t1 AS
SELECT
ADDTIME(_latin1'10:01:01',_latin1'10:00:00') AS addtime1,
@@ -5312,10 +5312,10 @@ DATE_ADD('2001-01-01 10:01:01',interval 10 second) AS date_add2;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `addtime1` varchar(26) CHARACTER SET utf8 DEFAULT NULL,
- `addtime2` varchar(26) CHARACTER SET utf8 DEFAULT NULL,
- `date_add1` varchar(19) CHARACTER SET utf8 DEFAULT NULL,
- `date_add2` varchar(19) CHARACTER SET utf8 DEFAULT NULL
+ `addtime1` varchar(26) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `addtime2` varchar(26) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `date_add1` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `date_add2` varchar(19) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t1;
addtime1 addtime2 date_add1 date_add2
@@ -5326,7 +5326,7 @@ DROP TABLE t1;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
CREATE PROCEDURE p1()
BEGIN
DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
@@ -5345,7 +5345,7 @@ Note 1003 select v_LastPaymentDate@0 < current_timestamp() AS `v_LastPaymentDate
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select concat(convert(v_LastPaymentDate@0 using utf8),current_timestamp()) AS `CONCAT(v_LastPaymentDate, NOW())`
+Note 1003 select concat(convert(v_LastPaymentDate@0 using utf8mb3),current_timestamp()) AS `CONCAT(v_LastPaymentDate, NOW())`
DROP PROCEDURE p1;
#
# Bug#52159 returning time type from function and empty left join causes debug assertion
@@ -5363,7 +5363,7 @@ DROP TABLE t1;
#
SELECT @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
SELECT CASE 1 WHEN 2 THEN ( - '3' ) END;
CASE 1 WHEN 2 THEN ( - '3' ) END
NULL
@@ -5416,14 +5416,14 @@ EXPLAIN EXTENDED SELECT 'abcdÃÂÃÄÅ', _latin1'abcdÃÂÃÄÅ', _utf8'abcdÃÃ
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select 'abcdÃ\0081ÂÃÄÅ' AS `abcdÃ\0081ÂÃÄÅ`,_latin1'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃ\0081ÂÃÄÅ`,_utf8'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `u`
+Note 1003 select 'abcdÃ\0081ÂÃÄÅ' AS `abcdÃ\0081ÂÃÄÅ`,_latin1'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃ\0081ÂÃÄÅ`,_utf8mb3'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `u`
# Test normal utf8
SET NAMES utf8;
EXPLAIN EXTENDED SELECT 'abcdÃÂÃÄÅ', _latin1'abcdÃÂÃÄÅ', _utf8'abcdÃÂÃÄÅ';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select 'abcdÃÂÃÄÅ' AS `abcdÃÂÃÄÅ`,_latin1'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃ\0081ÂÃÄÅ`,_utf8'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃÂÃÄÅ`
+Note 1003 select 'abcdÃÂÃÄÅ' AS `abcdÃÂÃÄÅ`,_latin1'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃ\0081ÂÃÄÅ`,_utf8mb3'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃÂÃÄÅ`
#
# Bug#11750518 41090: ORDER BY TRUNCATES GROUP_CONCAT RESULT
#
@@ -5464,7 +5464,7 @@ ADD KEY(ch);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ch` varchar(60) CHARACTER SET utf8 DEFAULT NULL,
+ `ch` varchar(60) CHARACTER SET utf8mb3 DEFAULT NULL,
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `ch` (`ch`)
@@ -5683,7 +5683,7 @@ ADD KEY(ch);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ch` varchar(60) CHARACTER SET utf8 DEFAULT NULL,
+ `ch` varchar(60) CHARACTER SET utf8mb3 DEFAULT NULL,
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `ch` (`ch`)
@@ -5902,7 +5902,7 @@ ADD KEY(ch);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `ch` varchar(60) CHARACTER SET utf8 DEFAULT NULL,
+ `ch` varchar(60) CHARACTER SET utf8mb3 DEFAULT NULL,
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `ch` (`ch`)
@@ -6142,11 +6142,11 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c0` varchar(19) CHARACTER SET utf8 NOT NULL,
- `c1` varchar(19) CHARACTER SET utf8 NOT NULL,
- `c2` varchar(19) CHARACTER SET utf8 NOT NULL,
- `c3` varchar(19) CHARACTER SET utf8 NOT NULL,
- `c4` varchar(19) CHARACTER SET utf8 NOT NULL
+ `c0` varchar(19) CHARACTER SET utf8mb3 NOT NULL,
+ `c1` varchar(19) CHARACTER SET utf8mb3 NOT NULL,
+ `c2` varchar(19) CHARACTER SET utf8mb3 NOT NULL,
+ `c3` varchar(19) CHARACTER SET utf8mb3 NOT NULL,
+ `c4` varchar(19) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
c0 c1 c2 c3 c4
@@ -6219,20 +6219,20 @@ HEX(i) HEX(CHAR(i USING utf8))
131F197 NULL
1326A35 01326A35
Warnings:
-Warning 1300 Invalid utf8 character string: 'F197'
+Warning 1300 Invalid utf8mb3 character string: 'F197'
SET sql_mode='STRICT_ALL_TABLES';
SELECT HEX(i), HEX(CHAR(i USING utf8)) FROM t1;
HEX(i) HEX(CHAR(i USING utf8))
131F197 NULL
1326A35 01326A35
Warnings:
-Warning 1300 Invalid utf8 character string: 'F197'
+Warning 1300 Invalid utf8mb3 character string: 'F197'
SELECT CHAR(i USING utf8) FROM t1;
CHAR(i USING utf8)
###
###
Warnings:
-### 1300 Invalid utf8 character string: 'F197'
+### 1300 Invalid utf8mb3 character string: 'F197'
SET sql_mode=DEFAULT;
DROP TABLE t1;
#
@@ -6271,12 +6271,12 @@ SET sql_mode=default;
set names utf8;
select @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
CREATE TABLE t1 AS SELECT 'a' AS a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf8 NOT NULL
+ `a` varchar(1) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
SHOW CREATE TABLE t2;
@@ -6296,7 +6296,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(5) CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(5) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
SHOW CREATE TABLE t2;
@@ -6412,7 +6412,7 @@ hex(weight_string('abc',25, 4, 0xC0))
00410042004300200020002000200020002000200020002000
select @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
select hex(weight_string(cast(_latin1 0x80 as char)));
hex(weight_string(cast(_latin1 0x80 as char)))
20AC
@@ -6484,7 +6484,7 @@ hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
20AC20AC20AC00200020002000200020002000200020002000
select @@collation_connection;
@@collation_connection
-utf8_general_ci
+utf8mb3_general_ci
select hex(weight_string('a' LEVEL 1));
hex(weight_string('a' LEVEL 1))
0041
@@ -6515,12 +6515,12 @@ DFFFDFFFBCFFBDFFBEFF
set @@collation_connection=utf8_bin;
select @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_bin
CREATE TABLE t1 AS SELECT 'a' AS a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(1) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
+ `a` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
SHOW CREATE TABLE t2;
@@ -6540,7 +6540,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(5) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `a` varchar(5) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1;
SHOW CREATE TABLE t2;
@@ -6656,7 +6656,7 @@ hex(weight_string('abc',25, 4, 0xC0))
00610062006300200020002000200020002000200020002000
select @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_bin
select hex(weight_string(cast(_latin1 0x80 as char)));
hex(weight_string(cast(_latin1 0x80 as char)))
20AC
@@ -6728,7 +6728,7 @@ hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
20AC20AC20AC00200020002000200020002000200020002000
select @@collation_connection;
@@collation_connection
-utf8_bin
+utf8mb3_bin
select hex(weight_string('a' LEVEL 1));
hex(weight_string('a' LEVEL 1))
0061
@@ -6794,7 +6794,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE CONCAT(c1)='a';
@@ -6817,7 +6817,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE 'a'=CONCAT(c1);
@@ -6840,7 +6840,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '% '=CONCAT(c1);
@@ -6863,7 +6863,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '%'=CONCAT(c1);
@@ -6889,7 +6889,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ';
@@ -6915,7 +6915,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE CONCAT(c1)='a';
@@ -6938,7 +6938,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT * FROM t1 WHERE 'a'=CONCAT(c1);
@@ -6961,7 +6961,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '% '=CONCAT(c1);
@@ -6984,7 +6984,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('%'),('% ');
SELECT * FROM t1 WHERE '%'=CONCAT(c1);
@@ -7010,7 +7010,7 @@ CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `a` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('a'),('a ');
SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ';
@@ -7035,7 +7035,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a',10) AS c1 LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('ae'),('ä');
SELECT * FROM t1 WHERE c1='ä';
@@ -7071,17 +7071,17 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
INSERT INTO t1 VALUES ('a');
SELECT CONCAT(a,0xFF) FROM t1;
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
SELECT CONCAT(a,0xC3BF) FROM t1;
CONCAT(a,0xC3BF)
aÿ
DROP TABLE t1;
SELECT CONCAT('a' COLLATE utf8_unicode_ci, _binary 0xFF);
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
PREPARE stmt FROM "SELECT CONCAT('a' COLLATE utf8_unicode_ci, ?)";
SET @arg00=_binary 0xFF;
EXECUTE stmt USING @arg00;
-ERROR HY000: Invalid utf8 character string: 'FF'
+ERROR HY000: Invalid utf8mb3 character string: 'FF'
DEALLOCATE PREPARE stmt;
SET NAMES latin1;
PREPARE stmt FROM "SELECT CONCAT(_utf8'a' COLLATE utf8_unicode_ci, ?)";
@@ -7156,7 +7156,7 @@ CONCAT(b,IF(a,?,?))
a
SET @b='Ñ';
EXECUTE stmt USING @b,@b;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
#
@@ -7171,7 +7171,7 @@ SET @query=_binary'SELECT CHARSET(\'test\'),@@character_set_client,@@character_s
PREPARE stmt FROM @query;
EXECUTE stmt;
CHARSET('test') @@character_set_client @@character_set_connection
-utf8 utf8 utf8
+utf8mb3 utf8mb3 utf8mb3
DEALLOCATE PREPARE stmt;
CREATE TABLE allbytes (a VARBINARY(10));
# Using selected bytes combinations
@@ -7238,7 +7238,7 @@ CALL p1(val);
END LOOP;
CLOSE stmt;
END//
-CREATE FUNCTION iswellformed(a VARBINARY(256)) RETURNS INT RETURN a=BINARY CONVERT(a USING utf8);//
+CREATE FUNCTION iswellformed(a VARBINARY(256)) RETURNS INT RETURN a=BINARY CONVERT(a USING utf8mb3);//
CREATE FUNCTION unescape(a VARBINARY(256)) RETURNS VARBINARY(256)
BEGIN
# We need to do it in a way to avoid producing new escape sequences
@@ -10241,7 +10241,7 @@ CHAR(0xDF USING latin1)
CREATE OR REPLACE VIEW v1 AS SELECT CHAR(0xDF USING latin1) AS c;
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 char(0xdf using latin1) AS `c` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select char(0xdf using latin1) AS `c` utf8mb3 utf8mb3_general_ci
SELECT * FROM v1;
c
ß
@@ -10256,7 +10256,7 @@ CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS t LIMIT 0;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `t` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `t` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ('abcdefghi'),('ABCDEFGHI');
SELECT CONCAT(t2,'-',t2) c2 FROM (SELECT LOWER(t) t2 FROM t1) sub;
@@ -10280,7 +10280,7 @@ SET optimizer_switch=@save_optimizer_switch;
#
SET NAMES utf8;
SELECT * FROM `testðŸ˜ðŸ˜test`;
-ERROR HY000: Invalid utf8 character string: 'test\xF0\x9F\x98\x81\xF0\x9F\x98\x81test'
+ERROR HY000: Invalid utf8mb3 character string: 'test\xF0\x9F\x98\x81\xF0\x9F\x98\x81test'
#
#MDEV-8256 A part of a ROW comparison is erroneously optimized away
#
@@ -10508,23 +10508,23 @@ SELECT CONVERT(_utf8 0xC499 USING latin1);
CONVERT(_utf8 0xC499 USING latin1)
?
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xC499 to 'latin1'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC499 to 'latin1'
SELECT CAST(_utf8 0xC499 AS CHAR CHARACTER SET latin1);
CAST(_utf8 0xC499 AS CHAR CHARACTER SET latin1)
?
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xC499 to 'latin1'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC499 to 'latin1'
SET sql_mode=default;
SELECT CONVERT(_utf8 0xC499 USING latin1);
CONVERT(_utf8 0xC499 USING latin1)
?
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xC499 to 'latin1'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC499 to 'latin1'
SELECT CAST(_utf8 0xC499 AS CHAR CHARACTER SET latin1);
CAST(_utf8 0xC499 AS CHAR CHARACTER SET latin1)
?
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xC499 to 'latin1'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC499 to 'latin1'
#
# MDEV-15005 ASAN: stack-buffer-overflow in my_strnncollsp_simple
#
@@ -10655,7 +10655,7 @@ SET NAMES utf8;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(30) CHARACTER SET utf8 DEFAULT concat('ß')
+ `a` varchar(30) CHARACTER SET utf8mb3 DEFAULT concat('ß')
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (DEFAULT);
SELECT HEX(a), a FROM t1;
@@ -10679,7 +10679,7 @@ CREATE TABLE t1 (a VARCHAR(30) CHARACTER SET utf8 DEFAULT CONCAT('ß'));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(30) CHARACTER SET utf8 DEFAULT concat('ß')
+ `a` varchar(30) CHARACTER SET utf8mb3 DEFAULT concat('ß')
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (DEFAULT);
SELECT HEX(a) FROM t1;
@@ -10700,9 +10700,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_general_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_general_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_general_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_nopad_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -10838,9 +10838,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_general_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_general_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_general_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_general_nopad_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -10977,9 +10977,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_nopad_bin';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_nopad_bin NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_nopad_bin NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_nopad_bin
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_nopad_bin
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -11115,9 +11115,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_nopad_bin';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_nopad_bin NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_nopad_bin NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_nopad_bin
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_nopad_bin
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
diff --git a/mysql-test/main/ctype_utf8.test b/mysql-test/main/ctype_utf8.test
index e26cff6feff..844e812acb3 100644
--- a/mysql-test/main/ctype_utf8.test
+++ b/mysql-test/main/ctype_utf8.test
@@ -4,7 +4,7 @@
let $MYSQLD_DATADIR= `select @@datadir`;
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
SET TIME_ZONE='+03:00';
diff --git a/mysql-test/main/ctype_utf8_def_upgrade.result b/mysql-test/main/ctype_utf8_def_upgrade.result
index 4f8a2b27db2..29bcbe299ec 100644
--- a/mysql-test/main/ctype_utf8_def_upgrade.result
+++ b/mysql-test/main/ctype_utf8_def_upgrade.result
@@ -52,11 +52,11 @@ SET @@character_set_database=DEFAULT;
# Emulate a pre-4.1 database without db.opt
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
USE db1;
SELECT @@character_set_database, 'taken from defaults' AS comment;
@@character_set_database comment
-utf8 taken from defaults
+utf8mb3 taken from defaults
USE test;
ALTER DATABASE db1 DEFAULT CHARACTER SET latin1;
USE db1;
diff --git a/mysql-test/main/ctype_utf8_uca.result b/mysql-test/main/ctype_utf8_uca.result
index ef64203bbbe..930f71f36d7 100644
--- a/mysql-test/main/ctype_utf8_uca.result
+++ b/mysql-test/main/ctype_utf8_uca.result
@@ -16,9 +16,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_unicode_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_unicode_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_nopad_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -154,9 +154,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_unicode_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_unicode_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_nopad_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -293,9 +293,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_520_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_unicode_520_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_unicode_520_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_520_nopad_ci
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_520_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -431,9 +431,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_unicode_520_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_unicode_520_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_unicode_520_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_520_nopad_ci
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_520_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -568,8 +568,8 @@ ALTER TABLE t1 ADD KEY(a), ADD KEY(b);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_nopad_ci DEFAULT NULL,
- `b` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_nopad_ci DEFAULT NULL,
+ `a` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL,
+ `b` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci DEFAULT NULL,
KEY `a` (`a`),
KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
diff --git a/mysql-test/main/ctype_utf8mb4.result b/mysql-test/main/ctype_utf8mb4.result
index 5c04eafdf70..97d28f6b765 100644
--- a/mysql-test/main/ctype_utf8mb4.result
+++ b/mysql-test/main/ctype_utf8mb4.result
@@ -1849,7 +1849,7 @@ character_set_database latin1
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
-character_set_system utf8
+character_set_system utf8mb3
SET @@character_set_server=@save_character_set_server;
CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
USE crashtest;
@@ -2066,7 +2066,7 @@ select concat(a, if(b>10, N'x', N'y')) from t1;
concat(a, if(b>10, N'x', N'y'))
ay
select concat(a, if(b>10, N'æ', N'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8mb4;
create table t1 (a varchar(10) character set latin1, b int);
@@ -2553,7 +2553,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
119040 3F ?
@@ -2586,7 +2586,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
42856 EA9DA8
@@ -2598,7 +2598,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
119040 3F
@@ -2619,7 +2619,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
119040 3F
@@ -2640,7 +2640,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
42856 EA9DA8
@@ -2686,7 +2686,7 @@ SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`utf8mb4` varchar(10) CHARACTER SET utf8mb4 NOT NULL,
- `utf8mb3` varchar(10) CHARACTER SET utf8 NOT NULL,
+ `utf8mb3` varchar(10) CHARACTER SET utf8mb3 NOT NULL,
`concat(utf8mb4,utf8mb3)` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TEMPORARY TABLE t3;
@@ -2706,9 +2706,9 @@ DROP TABLE t2;
CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4);
INSERT INTO t1 VALUES (x'f48fbfbf');
SELECT CONCAT(utf8mb4, _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
SELECT CONCAT('a', _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
DROP TABLE t1;
#
# Bug#51675 Server crashes on inserting 4 byte char.
@@ -2733,7 +2733,7 @@ t1 CREATE TABLE `t1` (
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`p` varchar(255) DEFAULT NULL,
KEY `subject` (`subject`(250))
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
INSERT INTO t1(subject) VALUES ('abcd');
INSERT INTO t1(subject) VALUES(x'f0909080');
DROP TABLE t1;
diff --git a/mysql-test/main/ctype_utf8mb4_heap.result b/mysql-test/main/ctype_utf8mb4_heap.result
index d18d1939aa9..83ae28929a6 100644
--- a/mysql-test/main/ctype_utf8mb4_heap.result
+++ b/mysql-test/main/ctype_utf8mb4_heap.result
@@ -1681,7 +1681,7 @@ character_set_database latin1
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
-character_set_system utf8
+character_set_system utf8mb3
SET @@character_set_server=@save_character_set_server;
CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
USE crashtest;
@@ -1898,7 +1898,7 @@ select concat(a, if(b>10, N'x', N'y')) from t1;
concat(a, if(b>10, N'x', N'y'))
ay
select concat(a, if(b>10, N'æ', N'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8mb4;
create table t1 (a varchar(10) character set latin1, b int) engine heap;
@@ -2354,7 +2354,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
1114111 3F ?
@@ -2387,7 +2387,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
1114111 3F3F3F3F
@@ -2399,7 +2399,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
1114111 3F
@@ -2420,7 +2420,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
1114111 3F
@@ -2441,7 +2441,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
1114111 3F3F3F3F
@@ -2487,7 +2487,7 @@ SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`utf8mb4` varchar(10) CHARACTER SET utf8mb4 NOT NULL,
- `utf8mb3` varchar(10) CHARACTER SET utf8 NOT NULL,
+ `utf8mb3` varchar(10) CHARACTER SET utf8mb3 NOT NULL,
`concat(utf8mb4,utf8mb3)` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TEMPORARY TABLE t3;
@@ -2507,9 +2507,9 @@ DROP TABLE t2;
CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4) ENGINE heap;
INSERT INTO t1 VALUES (x'f48fbfbf');
SELECT CONCAT(utf8mb4, _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
SELECT CONCAT('a', _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/ctype_utf8mb4_innodb-master.opt b/mysql-test/main/ctype_utf8mb4_innodb-master.opt
index 96f0ce3f36c..d1dc9a3e00f 100644
--- a/mysql-test/main/ctype_utf8mb4_innodb-master.opt
+++ b/mysql-test/main/ctype_utf8mb4_innodb-master.opt
@@ -1 +1,2 @@
--default-storage-engine=MyISAM
+--innodb-stats-persistent=OFF
diff --git a/mysql-test/main/ctype_utf8mb4_innodb.result b/mysql-test/main/ctype_utf8mb4_innodb.result
index c04f62f3cb0..e7a64101cfc 100644
--- a/mysql-test/main/ctype_utf8mb4_innodb.result
+++ b/mysql-test/main/ctype_utf8mb4_innodb.result
@@ -1807,7 +1807,7 @@ character_set_database latin1
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
-character_set_system utf8
+character_set_system utf8mb3
SET @@character_set_server=@save_character_set_server;
CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
USE crashtest;
@@ -2024,7 +2024,7 @@ select concat(a, if(b>10, N'x', N'y')) from t1;
concat(a, if(b>10, N'x', N'y'))
ay
select concat(a, if(b>10, N'æ', N'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8mb4;
create table t1 (a varchar(10) character set latin1, b int) engine InnoDB;
@@ -2497,7 +2497,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
1114111 3F ?
@@ -2530,7 +2530,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
1114111 3F3F3F3F
@@ -2542,7 +2542,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
1114111 3F
@@ -2563,7 +2563,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
1114111 3F
@@ -2584,7 +2584,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
1114111 3F3F3F3F
@@ -2630,7 +2630,7 @@ SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`utf8mb4` varchar(10) CHARACTER SET utf8mb4 NOT NULL,
- `utf8mb3` varchar(10) CHARACTER SET utf8 NOT NULL,
+ `utf8mb3` varchar(10) CHARACTER SET utf8mb3 NOT NULL,
`concat(utf8mb4,utf8mb3)` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TEMPORARY TABLE t3;
@@ -2650,9 +2650,9 @@ DROP TABLE t2;
CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4) ENGINE InnoDB;
INSERT INTO t1 VALUES (x'f48fbfbf');
SELECT CONCAT(utf8mb4, _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
SELECT CONCAT('a', _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/ctype_utf8mb4_myisam.result b/mysql-test/main/ctype_utf8mb4_myisam.result
index a8b740305c6..2360b828b9a 100644
--- a/mysql-test/main/ctype_utf8mb4_myisam.result
+++ b/mysql-test/main/ctype_utf8mb4_myisam.result
@@ -1814,7 +1814,7 @@ character_set_database latin1
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
-character_set_system utf8
+character_set_system utf8mb3
SET @@character_set_server=@save_character_set_server;
CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
USE crashtest;
@@ -2031,7 +2031,7 @@ select concat(a, if(b>10, N'x', N'y')) from t1;
concat(a, if(b>10, N'x', N'y'))
ay
select concat(a, if(b>10, N'æ', N'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
drop table t1;
set names utf8mb4;
create table t1 (a varchar(10) character set latin1, b int) engine MyISAM;
@@ -2506,7 +2506,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
1114111 3F ?
@@ -2539,7 +2539,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
1114111 3F3F3F3F
@@ -2551,7 +2551,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
1114111 3F
@@ -2572,7 +2572,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
1114111 3F
@@ -2593,7 +2593,7 @@ Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
1114111 3F3F3F3F
@@ -2639,7 +2639,7 @@ SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`utf8mb4` varchar(10) CHARACTER SET utf8mb4 NOT NULL,
- `utf8mb3` varchar(10) CHARACTER SET utf8 NOT NULL,
+ `utf8mb3` varchar(10) CHARACTER SET utf8mb3 NOT NULL,
`concat(utf8mb4,utf8mb3)` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TEMPORARY TABLE t3;
@@ -2659,9 +2659,9 @@ DROP TABLE t2;
CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4) ENGINE MyISAM;
INSERT INTO t1 VALUES (x'f48fbfbf');
SELECT CONCAT(utf8mb4, _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
SELECT CONCAT('a', _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
+ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb3_general_ci,COERCIBLE) for operation 'concat'
DROP TABLE t1;
#
# End of 5.5 tests
diff --git a/mysql-test/main/custom_aggregate_functions.result b/mysql-test/main/custom_aggregate_functions.result
index 884bd8b555f..eb1e94f0d13 100644
--- a/mysql-test/main/custom_aggregate_functions.result
+++ b/mysql-test/main/custom_aggregate_functions.result
@@ -1060,9 +1060,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` tinytext CHARACTER SET utf8 DEFAULT NULL,
- `c2` text CHARACTER SET utf8 DEFAULT NULL,
- `c3` varchar(255) CHARACTER SET utf8 DEFAULT NULL
+ `c1` tinytext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` text CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
@@ -1079,9 +1079,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` text CHARACTER SET utf8 DEFAULT NULL,
- `c2` mediumtext CHARACTER SET utf8 DEFAULT NULL,
- `c3` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` text CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
@@ -1098,9 +1098,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` mediumtext CHARACTER SET utf8 DEFAULT NULL,
- `c2` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c3` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
@@ -1117,9 +1117,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c2` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c3` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
diff --git a/mysql-test/main/ddl_i18n_koi8r.result b/mysql-test/main/ddl_i18n_koi8r.result
index 66c85f12034..196b07a7dda 100644
--- a/mysql-test/main/ddl_i18n_koi8r.result
+++ b/mysql-test/main/ddl_i18n_koi8r.result
@@ -27,11 +27,11 @@ v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI
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 _utf8'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _utf8mb3'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
SHOW CREATE VIEW v3|
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8mb3'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
@@ -53,7 +53,7 @@ koi8r_general_ci binary
SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
-utf8_general_ci
+utf8mb3_general_ci
SELECT * FROM v3|
ÔÅÓÔ
@@ -78,11 +78,11 @@ v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI
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 _utf8'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _utf8mb3'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
SHOW CREATE VIEW v3|
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8mb3'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
@@ -104,7 +104,7 @@ koi8r_general_ci binary
SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
-utf8_general_ci
+utf8mb3_general_ci
SELECT * FROM v3|
ÔÅÓÔ
@@ -134,11 +134,11 @@ v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI
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 _utf8'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _utf8mb3'теÑÑ‚' AS `c1` koi8r koi8r_general_ci
SHOW CREATE VIEW v3|
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _utf8mb3'теÑÑ‚' AS `ÔÅÓÔ` koi8r koi8r_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
@@ -160,7 +160,7 @@ koi8r_general_ci binary
SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
-utf8_general_ci
+utf8mb3_general_ci
SELECT * FROM v3|
ÔÅÓÔ
@@ -277,7 +277,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE p2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -298,7 +298,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p3|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -319,7 +319,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p4|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -340,24 +340,24 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p1'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p2'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p3'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p4'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
@@ -376,7 +376,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -394,7 +394,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -412,7 +412,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -430,7 +430,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SET @a = '1'|
@@ -439,39 +439,39 @@ SET @b = '2'|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -482,24 +482,24 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
set names koi8r|
@@ -522,7 +522,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE p2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -543,7 +543,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p3|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -564,7 +564,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p4|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -585,24 +585,24 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p1'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p2'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p3'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p4'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
@@ -621,7 +621,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -639,7 +639,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -657,7 +657,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -675,7 +675,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SET @a = '1'|
@@ -684,39 +684,39 @@ SET @b = '2'|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
---> Dump of mysqltest1
@@ -725,7 +725,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
USE `mysqltest1`;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -759,7 +759,7 @@ DELIMITER ;
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -801,7 +801,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
USE `mysqltest2`;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -835,7 +835,7 @@ DELIMITER ;
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -883,24 +883,24 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
set names koi8r|
@@ -923,7 +923,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE p2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -944,7 +944,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p3|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -965,7 +965,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p4|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -986,24 +986,24 @@ COLLATION(_utf8 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p1'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p2'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p3'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p4'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
@@ -1022,7 +1022,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1040,7 +1040,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1058,7 +1058,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1076,7 +1076,7 @@ COLLATION( 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET ÐÁÒÁÍ1 = 'a';
SET ÐÁÒÁÍ2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SET @a = '1'|
@@ -1085,39 +1085,39 @@ SET @b = '2'|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r
+koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
connection default;
disconnect con2;
disconnect con3;
@@ -1211,7 +1211,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = _koi8r 'ÔÅËÓÔ';
SET @a2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER trg2|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1227,7 +1227,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = _koi8r 'ÔÅËÓÔ';
SET @b2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg3|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1243,7 +1243,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = _koi8r 'ÔÅËÓÔ';
SET @a2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg4|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1259,7 +1259,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = _koi8r 'ÔÅËÓÔ';
SET @b2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW TRIGGERS|
@@ -1275,7 +1275,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END BEFORE # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END BEFORE # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
trg2 INSERT t1 BEGIN
DECLARE ÐÅÒÅÍ1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(ÐÅÒÅÍ1));
@@ -1287,7 +1287,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END AFTER # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END AFTER # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
use mysqltest2|
@@ -1304,7 +1304,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END BEFORE # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END BEFORE # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
trg4 INSERT t1 BEGIN
DECLARE ÐÅÒÅÍ1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(ÐÅÒÅÍ1));
@@ -1316,7 +1316,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END AFTER # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END AFTER # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
use mysqltest1|
@@ -1333,7 +1333,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1348,7 +1348,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1363,7 +1363,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1378,7 +1378,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SET @a1 = '1'|
@@ -1402,10 +1402,10 @@ koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1415,7 +1415,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM log|
@@ -1433,10 +1433,10 @@ koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1446,7 +1446,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM mysqltest2.log|
@@ -1483,7 +1483,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = _koi8r 'ÔÅËÓÔ';
SET @a2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER trg2|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1499,7 +1499,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = _koi8r 'ÔÅËÓÔ';
SET @b2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg3|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1515,7 +1515,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = _koi8r 'ÔÅËÓÔ';
SET @a2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg4|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1531,7 +1531,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = _koi8r 'ÔÅËÓÔ';
SET @b2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW TRIGGERS|
@@ -1547,7 +1547,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END BEFORE # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END BEFORE # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
trg2 INSERT t1 BEGIN
DECLARE ÐÅÒÅÍ1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(ÐÅÒÅÍ1));
@@ -1559,7 +1559,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END AFTER # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END AFTER # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
use mysqltest2|
@@ -1576,7 +1576,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END BEFORE # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END BEFORE # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
trg4 INSERT t1 BEGIN
DECLARE ÐÅÒÅÍ1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(ÐÅÒÅÍ1));
@@ -1588,7 +1588,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END AFTER # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END AFTER # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
use mysqltest1|
@@ -1605,7 +1605,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1620,7 +1620,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1635,7 +1635,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1650,7 +1650,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SET @a1 = '1'|
@@ -1674,10 +1674,10 @@ koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1687,7 +1687,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM log|
@@ -1705,10 +1705,10 @@ koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1718,7 +1718,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM mysqltest2.log|
@@ -1730,17 +1730,17 @@ USE `mysqltest1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `log` (
- `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+ `msg` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
`c` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1769,7 +1769,7 @@ DELIMITER ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1809,17 +1809,17 @@ USE `mysqltest2`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `log` (
- `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+ `msg` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
`c` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1848,7 +1848,7 @@ DELIMITER ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1917,7 +1917,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = _koi8r 'ÔÅËÓÔ';
SET @a2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER trg2|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1933,7 +1933,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = _koi8r 'ÔÅËÓÔ';
SET @b2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg3|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1949,7 +1949,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = _koi8r 'ÔÅËÓÔ';
SET @a2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg4|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1965,7 +1965,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = _koi8r 'ÔÅËÓÔ';
SET @b2 = _utf8 'текÑÑ‚';
-END koi8r koi8r_general_ci utf8_unicode_ci #
+END koi8r koi8r_general_ci utf8mb3_unicode_ci #
SHOW TRIGGERS|
@@ -1981,7 +1981,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END BEFORE # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END BEFORE # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
trg2 INSERT t1 BEGIN
DECLARE ÐÅÒÅÍ1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(ÐÅÒÅÍ1));
@@ -1993,7 +1993,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END AFTER # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END AFTER # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
use mysqltest2|
@@ -2010,7 +2010,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END BEFORE # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END BEFORE # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
trg4 INSERT t1 BEGIN
DECLARE ÐÅÒÅÍ1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(ÐÅÒÅÍ1));
@@ -2022,7 +2022,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END AFTER # root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END AFTER # root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
use mysqltest1|
@@ -2039,7 +2039,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2054,7 +2054,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2069,7 +2069,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'ÔÅËÓÔ';
SET @a1 = 'ÔÅËÓÔ';
SET @a2 = 'ÔÅËÓÔ';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2084,7 +2084,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'ÔÅËÓÔ';
SET @b1 = 'ÔÅËÓÔ';
SET @b2 = 'ÔÅËÓÔ';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost koi8r koi8r_general_ci utf8mb3_unicode_ci
SET @a1 = '1'|
@@ -2108,10 +2108,10 @@ koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -2121,7 +2121,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM log|
@@ -2139,10 +2139,10 @@ koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
koi8r_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -2152,7 +2152,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-koi8r_general_ci utf8_general_ci koi8r_general_ci koi8r_general_ci utf8_general_ci koi8r_general_ci
+koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM mysqltest2.log|
connection default;
@@ -2241,7 +2241,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2254,7 +2254,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2267,7 +2267,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2280,16 +2280,16 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2309,7 +2309,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2322,7 +2322,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2335,7 +2335,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2348,7 +2348,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -2375,7 +2375,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2388,7 +2388,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2401,7 +2401,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2414,16 +2414,16 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2443,7 +2443,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2456,7 +2456,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2469,7 +2469,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2482,7 +2482,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
---> Dump of mysqltest1
@@ -2491,7 +2491,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
USE `mysqltest1`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2519,7 +2519,7 @@ END */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2558,7 +2558,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
USE `mysqltest2`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2586,7 +2586,7 @@ END */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2647,7 +2647,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2660,7 +2660,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2673,7 +2673,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2686,16 +2686,16 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c3,
COLLATION(_utf8 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END koi8r koi8r_general_ci utf8_unicode_ci
+END koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2715,7 +2715,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2728,7 +2728,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2741,7 +2741,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2754,7 +2754,7 @@ COLLATION( 'ÔÅËÓÔ') AS c3,
COLLATION( 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
-------------------------------------------------------------------
DDL statements within stored routine.
@@ -2781,27 +2781,27 @@ END|
CALL p1()|
Table Create Table
t1 CREATE TABLE `t1` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
SHOW CREATE TABLE t1|
Table Create Table
t1 CREATE TABLE `t1` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
CALL mysqltest2.p2()|
Table Create Table
t2 CREATE TABLE `t2` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
SHOW CREATE TABLE mysqltest2.t2|
Table Create Table
t2 CREATE TABLE `t2` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
ALTER DATABASE mysqltest1 COLLATE cp1251_general_cs|
ALTER DATABASE mysqltest2 COLLATE cp1251_general_cs|
diff --git a/mysql-test/main/ddl_i18n_koi8r.test b/mysql-test/main/ddl_i18n_koi8r.test
index ada21b092aa..70e7e2e81ca 100644
--- a/mysql-test/main/ddl_i18n_koi8r.test
+++ b/mysql-test/main/ddl_i18n_koi8r.test
@@ -38,7 +38,7 @@ set sql_mode="";
--source include/have_cp866.inc
--source include/have_cp1251.inc
--source include/have_koi8r.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
###########################################################################
diff --git a/mysql-test/main/ddl_i18n_utf8.result b/mysql-test/main/ddl_i18n_utf8.result
index 78ef487cdaf..cee281036f8 100644
--- a/mysql-test/main/ddl_i18n_utf8.result
+++ b/mysql-test/main/ddl_i18n_utf8.result
@@ -23,33 +23,33 @@ CREATE VIEW v3 AS SELECT _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 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8mb3 utf8mb3_general_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 _koi8r'ÔÅÓÔ' AS `c1` utf8 utf8_general_ci
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _koi8r'ÔÅÓÔ' AS `c1` utf8mb3 utf8mb3_general_ci
SHOW CREATE VIEW v3|
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8 utf8_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8mb3 utf8mb3_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
COLLATION(c1) COLLATION(c2)
-utf8_general_ci binary
+utf8mb3_general_ci binary
SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
@@ -74,33 +74,33 @@ set names utf8|
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 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8mb3 utf8mb3_general_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 _koi8r'ÔÅÓÔ' AS `c1` utf8 utf8_general_ci
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _koi8r'ÔÅÓÔ' AS `c1` utf8mb3 utf8mb3_general_ci
SHOW CREATE VIEW v3|
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8 utf8_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8mb3 utf8mb3_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
COLLATION(c1) COLLATION(c2)
-utf8_general_ci binary
+utf8mb3_general_ci binary
SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
@@ -130,33 +130,33 @@ set names utf8|
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 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 'теÑÑ‚' AS `c1`,`t1`.`кол` AS `c2` from `t1` utf8mb3 utf8mb3_general_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 _koi8r'ÔÅÓÔ' AS `c1` utf8 utf8_general_ci
+v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select _koi8r'ÔÅÓÔ' AS `c1` utf8mb3 utf8mb3_general_ci
SHOW CREATE VIEW v3|
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8 utf8_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select _koi8r'ÔÅÓÔ' AS `теÑÑ‚` utf8mb3 utf8mb3_general_ci
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v1'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v1 select 'теÑÑ‚' AS `c1`,`mysqltest1`.`t1`.`кол` AS `c2` from `mysqltest1`.`t1` NONE YES root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v2'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v2 select 'теÑÑ‚' AS `c1` NONE NO root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE table_name = 'v3'|
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
-def mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8 utf8_general_ci UNDEFINED
+def mysqltest1 v3 select 'теÑÑ‚' AS `теÑÑ‚` NONE NO root@localhost DEFINER utf8mb3 utf8mb3_general_ci UNDEFINED
SELECT COLLATION(c1), COLLATION(c2) FROM v1|
COLLATION(c1) COLLATION(c2)
-utf8_general_ci binary
+utf8mb3_general_ci binary
SELECT COLLATION(c1) FROM v2|
COLLATION(c1)
@@ -277,7 +277,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE p2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -298,7 +298,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p3|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -319,7 +319,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p4|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -340,24 +340,24 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p1'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p2'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p3'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p4'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
@@ -376,7 +376,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -394,7 +394,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -412,7 +412,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -430,7 +430,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SET @a = '1'|
@@ -439,39 +439,39 @@ SET @b = '2'|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -482,24 +482,24 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
set names utf8|
@@ -522,7 +522,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE p2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -543,7 +543,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p3|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -564,7 +564,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p4|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -585,24 +585,24 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p1'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p2'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p3'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p4'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
@@ -621,7 +621,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -639,7 +639,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -657,7 +657,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -675,7 +675,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SET @a = '1'|
@@ -684,39 +684,39 @@ SET @b = '2'|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
---> Dump of mysqltest1
@@ -725,13 +725,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
USE `mysqltest1`;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(
INOUT парам1 CHAR(10),
@@ -759,13 +759,13 @@ DELIMITER ;
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(
INOUT парам1 CHAR(10) CHARACTER SET utf8,
@@ -801,13 +801,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
USE `mysqltest2`;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p3`(
INOUT парам1 CHAR(10),
@@ -835,13 +835,13 @@ DELIMITER ;
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p4`(
INOUT парам1 CHAR(10) CHARACTER SET utf8,
@@ -883,24 +883,24 @@ SET @@character_set_results= cp1251|
SET @@collation_connection= cp1251_general_ci|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
set names utf8|
@@ -923,7 +923,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE p2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -944,7 +944,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p3|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -965,7 +965,7 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE PROCEDURE mysqltest2.p4|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
@@ -986,24 +986,24 @@ COLLATION(_koi8r 'ÔÅËÓÔ') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p1'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 p1 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p2'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 p2 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p3'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest2 p3 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW PROCEDURE STATUS LIKE 'p4'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8 utf8_general_ci utf8_unicode_ci
+mysqltest2 p4 PROCEDURE root@localhost MODIFIED CREATED DEFINER utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p1'|
@@ -1022,7 +1022,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p2'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1040,7 +1040,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p3'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1058,7 +1058,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'p4'|
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1076,7 +1076,7 @@ COLLATION( 'текÑÑ‚') AS c6,
@@character_set_client AS c8;
SET парам1 = 'a';
SET парам2 = 'b';
-END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END NULL NULL SQL NO CONTAINS SQL NULL DEFINER CREATED ALTERED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SET @a = '1'|
@@ -1085,39 +1085,39 @@ SET @b = '2'|
CALL p1(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL p2(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
CALL mysqltest2.p3(@a, @b)|
c1 c2 c3
-utf8_unicode_ci utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci utf8mb3_unicode_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_unicode_ci utf8_unicode_ci
+utf8mb3_unicode_ci utf8mb3_unicode_ci
CALL mysqltest2.p4(@a, @b)|
c1 c2 c3
-utf8_general_ci utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci utf8mb3_general_ci
c4 c5 c6 c7 c8
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3
SELECT COLLATION(@a) AS ca, COLLATION(@b) cb|
ca cb
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
connection default;
disconnect con2;
disconnect con3;
@@ -1211,7 +1211,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = _utf8 'текÑÑ‚';
SET @a3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER trg2|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1227,7 +1227,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = _utf8 'текÑÑ‚';
SET @b3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg3|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1243,7 +1243,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = _utf8 'текÑÑ‚';
SET @a3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg4|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1259,7 +1259,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = _utf8 'текÑÑ‚';
SET @b3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW TRIGGERS|
@@ -1275,7 +1275,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END BEFORE # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END BEFORE # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
trg2 INSERT t1 BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(перем1));
@@ -1287,7 +1287,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END AFTER # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END AFTER # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
use mysqltest2|
@@ -1304,7 +1304,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END BEFORE # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END BEFORE # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
trg4 INSERT t1 BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(перем1));
@@ -1316,7 +1316,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END AFTER # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END AFTER # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
use mysqltest1|
@@ -1333,7 +1333,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1348,7 +1348,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1363,7 +1363,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1378,7 +1378,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SET @a1 = '1'|
@@ -1396,16 +1396,16 @@ SELECT msg FROM log|
msg
koi8r_general_ci
koi8r_general_ci
-utf8
-utf8
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3
+utf8mb3
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1415,7 +1415,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM log|
@@ -1427,16 +1427,16 @@ SELECT msg FROM mysqltest2.log|
msg
koi8r_general_ci
koi8r_general_ci
-utf8
-utf8
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3
+utf8mb3
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1446,7 +1446,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM mysqltest2.log|
@@ -1483,7 +1483,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = _utf8 'текÑÑ‚';
SET @a3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER trg2|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1499,7 +1499,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = _utf8 'текÑÑ‚';
SET @b3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg3|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1515,7 +1515,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = _utf8 'текÑÑ‚';
SET @a3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg4|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1531,7 +1531,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = _utf8 'текÑÑ‚';
SET @b3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW TRIGGERS|
@@ -1547,7 +1547,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END BEFORE # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END BEFORE # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
trg2 INSERT t1 BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(перем1));
@@ -1559,7 +1559,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END AFTER # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END AFTER # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
use mysqltest2|
@@ -1576,7 +1576,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END BEFORE # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END BEFORE # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
trg4 INSERT t1 BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(перем1));
@@ -1588,7 +1588,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END AFTER # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END AFTER # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
use mysqltest1|
@@ -1605,7 +1605,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1620,7 +1620,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1635,7 +1635,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -1650,7 +1650,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SET @a1 = '1'|
@@ -1668,16 +1668,16 @@ SELECT msg FROM log|
msg
koi8r_general_ci
koi8r_general_ci
-utf8
-utf8
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3
+utf8mb3
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1687,7 +1687,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM log|
@@ -1699,16 +1699,16 @@ SELECT msg FROM mysqltest2.log|
msg
koi8r_general_ci
koi8r_general_ci
-utf8
-utf8
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3
+utf8mb3
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -1718,7 +1718,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM mysqltest2.log|
@@ -1730,23 +1730,23 @@ USE `mysqltest1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `log` (
- `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+ `msg` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
`c` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
@@ -1769,13 +1769,13 @@ DELIMITER ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
@@ -1809,23 +1809,23 @@ USE `mysqltest2`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `log` (
- `msg` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+ `msg` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
`c` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
@@ -1848,13 +1848,13 @@ DELIMITER ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
@@ -1917,7 +1917,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = _utf8 'текÑÑ‚';
SET @a3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER trg2|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1933,7 +1933,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = _utf8 'текÑÑ‚';
SET @b3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg3|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1949,7 +1949,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = _utf8 'текÑÑ‚';
SET @a3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW CREATE TRIGGER mysqltest2.trg4|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
@@ -1965,7 +1965,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = _utf8 'текÑÑ‚';
SET @b3 = _koi8r 'ÔÅËÓÔ';
-END utf8 utf8_general_ci utf8_unicode_ci #
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci #
SHOW TRIGGERS|
@@ -1981,7 +1981,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END BEFORE # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END BEFORE # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
trg2 INSERT t1 BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(перем1));
@@ -1993,7 +1993,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END AFTER # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END AFTER # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
use mysqltest2|
@@ -2010,7 +2010,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END BEFORE # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END BEFORE # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
trg4 INSERT t1 BEGIN
DECLARE перем1 CHAR(10) CHARACTER SET utf8;
INSERT INTO log VALUES(COLLATION(перем1));
@@ -2022,7 +2022,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END AFTER # root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END AFTER # root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
use mysqltest1|
@@ -2039,7 +2039,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg2'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2054,7 +2054,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg3'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2069,7 +2069,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @a1 = 'текÑÑ‚';
SET @a2 = 'текÑÑ‚';
SET @a3 = 'текÑÑ‚';
-END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW BEFORE NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name = 'trg4'|
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2084,7 +2084,7 @@ INSERT INTO log VALUES(@@character_set_client);
SET @b1 = 'текÑÑ‚';
SET @b2 = 'текÑÑ‚';
SET @b3 = 'текÑÑ‚';
-END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8 utf8_general_ci utf8_unicode_ci
+END ROW AFTER NULL NULL OLD NEW CREATED root@localhost utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SET @a1 = '1'|
@@ -2102,16 +2102,16 @@ SELECT msg FROM log|
msg
koi8r_general_ci
koi8r_general_ci
-utf8
-utf8
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3
+utf8mb3
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -2121,7 +2121,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM log|
@@ -2133,16 +2133,16 @@ SELECT msg FROM mysqltest2.log|
msg
koi8r_general_ci
koi8r_general_ci
-utf8
-utf8
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_general_ci
-utf8_unicode_ci
+utf8mb3
+utf8mb3
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_general_ci
+utf8mb3_unicode_ci
SELECT
COLLATION(@a1) AS ca1,
@@ -2152,7 +2152,7 @@ COLLATION(@b1) AS cb1,
COLLATION(@b2) AS cb2,
COLLATION(@b3) AS cb3|
ca1 ca2 ca3 cb1 cb2 cb3
-utf8_general_ci utf8_general_ci koi8r_general_ci utf8_general_ci utf8_general_ci koi8r_general_ci
+utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci
DELETE FROM mysqltest2.log|
connection default;
@@ -2241,7 +2241,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2254,7 +2254,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2267,7 +2267,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2280,16 +2280,16 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2309,7 +2309,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2322,7 +2322,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2335,7 +2335,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2348,7 +2348,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
ALTER DATABASE mysqltest1 COLLATE cp866_general_ci|
@@ -2375,7 +2375,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2388,7 +2388,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2401,7 +2401,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2414,16 +2414,16 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2443,7 +2443,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2456,7 +2456,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2469,7 +2469,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2482,7 +2482,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
---> Dump of mysqltest1
@@ -2491,13 +2491,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
USE `mysqltest1`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!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 = utf8 */ ;;
-/*!50003 SET character_set_results = utf8 */ ;;
-/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET character_set_client = utf8mb3 */ ;;
+/*!50003 SET character_set_results = utf8mb3 */ ;;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
@@ -2519,13 +2519,13 @@ END */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!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 = utf8 */ ;;
-/*!50003 SET character_set_results = utf8 */ ;;
-/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET character_set_client = utf8mb3 */ ;;
+/*!50003 SET character_set_results = utf8mb3 */ ;;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
@@ -2558,13 +2558,13 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
USE `mysqltest2`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!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 = utf8 */ ;;
-/*!50003 SET character_set_results = utf8 */ ;;
-/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET character_set_client = utf8mb3 */ ;;
+/*!50003 SET character_set_results = utf8mb3 */ ;;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
@@ -2586,13 +2586,13 @@ END */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;;
/*!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 = utf8 */ ;;
-/*!50003 SET character_set_results = utf8 */ ;;
-/*!50003 SET collation_connection = utf8_general_ci */ ;;
+/*!50003 SET character_set_client = utf8mb3 */ ;;
+/*!50003 SET character_set_results = utf8mb3 */ ;;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;;
/*!50003 SET sql_mode = '' */ ;;
/*!50003 SET @saved_time_zone = @@time_zone */ ;;
@@ -2647,7 +2647,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT ev2|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2660,7 +2660,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2673,7 +2673,7 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW CREATE EVENT mysqltest2.ev3|
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
@@ -2686,16 +2686,16 @@ COLLATION(_utf8 'текÑÑ‚') AS c3,
COLLATION(_koi8r 'ÔÅËÓÔ') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END utf8 utf8_general_ci utf8_unicode_ci
+END utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev1'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev1 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev2'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8 utf8_general_ci utf8_unicode_ci
+mysqltest1 ev2 root@localhost SYSTEM ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SHOW EVENTS LIKE 'ev3'|
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
@@ -2715,7 +2715,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev2'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2728,7 +2728,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev3'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2741,7 +2741,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE event_name = 'ev4'|
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER TIME_ZONE EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD SQL_MODE STARTS ENDS STATUS ON_COMPLETION CREATED LAST_ALTERED LAST_EXECUTED EVENT_COMMENT ORIGINATOR CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -2754,7 +2754,7 @@ COLLATION( 'текÑÑ‚') AS c3,
COLLATION( 'текÑÑ‚') AS c4,
@@collation_connection AS c5,
@@character_set_client AS c6;
-END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8 utf8_general_ci utf8_unicode_ci
+END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
-------------------------------------------------------------------
DDL statements within stored routine.
@@ -2781,27 +2781,27 @@ END|
CALL p1()|
Table Create Table
t1 CREATE TABLE `t1` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
SHOW CREATE TABLE t1|
Table Create Table
t1 CREATE TABLE `t1` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
CALL mysqltest2.p2()|
Table Create Table
t2 CREATE TABLE `t2` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
SHOW CREATE TABLE mysqltest2.t2|
Table Create Table
t2 CREATE TABLE `t2` (
- `col1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+ `col1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci
ALTER DATABASE mysqltest1 COLLATE cp1251_general_cs|
ALTER DATABASE mysqltest2 COLLATE cp1251_general_cs|
diff --git a/mysql-test/main/ddl_i18n_utf8.test b/mysql-test/main/ddl_i18n_utf8.test
index 2e6944d8b86..35b341ddc80 100644
--- a/mysql-test/main/ddl_i18n_utf8.test
+++ b/mysql-test/main/ddl_i18n_utf8.test
@@ -38,7 +38,7 @@ set sql_mode="";
--source include/have_cp866.inc
--source include/have_cp1251.inc
--source include/have_koi8r.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
###########################################################################
diff --git a/mysql-test/main/default.result b/mysql-test/main/default.result
index 55b448229b5..ad78183a6ff 100644
--- a/mysql-test/main/default.result
+++ b/mysql-test/main/default.result
@@ -899,7 +899,7 @@ CREATE TABLE t1 (a VARCHAR(2) DEFAULT CONCAT(_utf8 0x41) NOT NULL);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2) NOT NULL DEFAULT concat(_utf8'A')
+ `a` varchar(2) NOT NULL DEFAULT concat(_utf8mb3'A')
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (DEFAULT);
SELECT * FROM t1;
@@ -910,7 +910,7 @@ CREATE TABLE t1 (a VARCHAR(2) DEFAULT CONCAT(_utf8 X'41') NOT NULL);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2) NOT NULL DEFAULT concat(_utf8'A')
+ `a` varchar(2) NOT NULL DEFAULT concat(_utf8mb3'A')
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES (DEFAULT);
SELECT * FROM t1;
@@ -2230,7 +2230,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) DEFAULT NULL,
`b` varchar(10) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT `a`,
- `c` varchar(10) CHARACTER SET utf8 DEFAULT convert(`a` using utf8),
+ `c` varchar(10) CHARACTER SET utf8mb3 DEFAULT convert(`a` using utf8mb3),
`d` varbinary(10) DEFAULT (cast(`a` as char charset binary))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO t1 (a) VALUES ('a');
diff --git a/mysql-test/main/delayed.result b/mysql-test/main/delayed.result
index ec36e3af46d..55f5ff6eb28 100644
--- a/mysql-test/main/delayed.result
+++ b/mysql-test/main/delayed.result
@@ -494,7 +494,7 @@ create table t1 (a int, b int) engine=myisam;
insert into t1 values (1,1);
SET debug_dbug="d,crash_shutdown";
shutdown;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
call mtr.add_suppression(" marked as crashed and should be repaired");
call mtr.add_suppression("Checking table");
insert delayed into t1 values (2,2);
diff --git a/mysql-test/main/delayed.test b/mysql-test/main/delayed.test
index a96ffdfcca9..862d30fe79f 100644
--- a/mysql-test/main/delayed.test
+++ b/mysql-test/main/delayed.test
@@ -636,8 +636,10 @@ insert into t1 values (1,1);
call mtr.add_suppression(" marked as crashed and should be repaired");
call mtr.add_suppression("Checking table");
+--enable_prepare_warnings
--replace_result '\\' '/'
insert delayed into t1 values (2,2);
+--disable_prepare_warnings
insert delayed into t1 values (3,3);
flush tables t1;
select * from t1;
diff --git a/mysql-test/main/derived.test b/mysql-test/main/derived.test
index 799de90d30e..904114e33b9 100644
--- a/mysql-test/main/derived.test
+++ b/mysql-test/main/derived.test
@@ -475,8 +475,10 @@ CREATE TABLE t1 (a INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (8);
CREATE TABLE t2 (b INT) ENGINE=MyISAM;
INSERT INTO t2 VALUES (1),(7);
+--enable_prepare_warnings
EXPLAIN SELECT * FROM (SELECT * FROM t1) AS table1,
(SELECT DISTINCT * FROM t2) AS table2 WHERE b = a AND a <> ANY (SELECT 9);
+--disable_prepare_warnings
DROP TABLE t1, t2;
set optimizer_switch=@save_derived_optimizer_switch_bug;
diff --git a/mysql-test/main/derived_cond_pushdown.test b/mysql-test/main/derived_cond_pushdown.test
index bd38716f2a6..39e82210e4c 100644
--- a/mysql-test/main/derived_cond_pushdown.test
+++ b/mysql-test/main/derived_cond_pushdown.test
@@ -1064,9 +1064,10 @@ DROP TABLE t1,t2;
CREATE TABLE t1 (i INT);
CREATE OR REPLACE ALGORITHM=TEMPTABLE VIEW v1 AS SELECT * FROM t1;
INSERT INTO t1 VALUES (1),(2);
-
+--enable_prepare_warnings
EXPLAIN FORMAT=JSON
SELECT * FROM v1 WHERE i <= ANY ( SELECT 3 );
+--disable_prepare_warnings
SELECT * FROM v1 WHERE i <= ANY ( SELECT 3 );
diff --git a/mysql-test/main/derived_split_innodb.result b/mysql-test/main/derived_split_innodb.result
index 478c6e842bc..74876836a53 100644
--- a/mysql-test/main/derived_split_innodb.result
+++ b/mysql-test/main/derived_split_innodb.result
@@ -1,3 +1,5 @@
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
#
# MDEV-16917: do not use splitting for derived with join cache
#
@@ -285,3 +287,4 @@ id select_type table type possible_keys key key_len ref rows Extra
2 DERIVED t4 ALL NULL NULL NULL NULL 40 Using filesort
drop table t3, t4;
# End of 10.3 tests
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/main/derived_split_innodb.test b/mysql-test/main/derived_split_innodb.test
index 7fd8df35985..1ebe27cd12c 100644
--- a/mysql-test/main/derived_split_innodb.test
+++ b/mysql-test/main/derived_split_innodb.test
@@ -2,6 +2,9 @@
--source include/default_optimizer_switch.inc
--source include/have_sequence.inc
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
+
--echo #
--echo # MDEV-16917: do not use splitting for derived with join cache
--echo #
@@ -229,3 +232,5 @@ where t3.b > 15;
drop table t3, t4;
--echo # End of 10.3 tests
+
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/main/derived_view.result b/mysql-test/main/derived_view.result
index 15a7784c890..50f6d381dd6 100644
--- a/mysql-test/main/derived_view.result
+++ b/mysql-test/main/derived_view.result
@@ -2696,7 +2696,7 @@ ON p.id = g.p_random
ORDER BY gallery_name ASC
;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 10 Using filesort
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 10 Using temporary; Using filesort
1 PRIMARY p eq_ref PRIMARY PRIMARY 4 g.p_random 1 Using where
2 DERIVED gal ALL NULL NULL NULL NULL 10
3 DEPENDENT SUBQUERY pi ref gallery_id gallery_id 4 test.gal.id 4 Using temporary; Using filesort
diff --git a/mysql-test/main/drop.result b/mysql-test/main/drop.result
index d50ffabc9fa..73beabc35fa 100644
--- a/mysql-test/main/drop.result
+++ b/mysql-test/main/drop.result
@@ -52,6 +52,7 @@ mtr
mysql
mysqltest
performance_schema
+sys
test
flush tables with read lock;
drop database mysqltest;
@@ -64,6 +65,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
drop database mysqltest;
ERROR HY000: Can't drop database 'mysqltest'; database doesn't exist
diff --git a/mysql-test/main/drop_table_force.result b/mysql-test/main/drop_table_force.result
index 622589eb3b9..404d8be8b21 100644
--- a/mysql-test/main/drop_table_force.result
+++ b/mysql-test/main/drop_table_force.result
@@ -77,7 +77,6 @@ drop table t1;
ERROR 42S02: Unknown table 'test.t1'
show warnings;
Level Code Message
-Error 29 File './test/t1.MAD' not found (Errcode: 2 "No such file or directory")
Error 1051 Unknown table 'test.t1'
db.opt
create table t2(a int) engine=aria;
diff --git a/mysql-test/main/dyncol.result b/mysql-test/main/dyncol.result
index 4241c10d96c..a57b5248002 100644
--- a/mysql-test/main/dyncol.result
+++ b/mysql-test/main/dyncol.result
@@ -157,7 +157,7 @@ select hex(COLUMN_CREATE(1, "afaf" AS char character set utf8,
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select hex(column_create(1,'afaf' AS char charset utf8 ,2,1212 AS unsigned int,3,1212 AS int,4,12.12 AS double,4 + 1,12.12 AS decimal,6,'2011-04-05' AS date,7,'- 0:45:49.000001' AS time,8,'2011-04-05 0:45:49.000001' AS datetime)) AS `hex(COLUMN_CREATE(1, "afaf" AS char character set utf8,
+Note 1003 select hex(column_create(1,'afaf' AS char charset utf8mb3 ,2,1212 AS unsigned int,3,1212 AS int,4,12.12 AS double,4 + 1,12.12 AS decimal,6,'2011-04-05' AS date,7,'- 0:45:49.000001' AS time,8,'2011-04-05 0:45:49.000001' AS datetime)) AS `hex(COLUMN_CREATE(1, "afaf" AS char character set utf8,
2, 1212 AS unsigned int,
3, 1212 AS int,
4, 12.12 AS double,
@@ -368,7 +368,7 @@ select column_get(column_create(1, "1212" AS char charset utf8), 1 as char chars
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select column_get(column_create(1,'1212' AS char charset utf8 ),1 as char charset utf8) AS `column_get(column_create(1, "1212" AS char charset utf8), 1 as char charset utf8)`
+Note 1003 select column_get(column_create(1,'1212' AS char charset utf8mb3 ),1 as char charset utf8mb3) AS `column_get(column_create(1, "1212" AS char charset utf8), 1 as char charset utf8)`
select column_get(column_create(1, 1212 AS unsigned int), 1 as char charset utf8);
column_get(column_create(1, 1212 AS unsigned int), 1 as char charset utf8)
1212
@@ -428,7 +428,7 @@ select column_get(column_create(1, "1212" AS char charset utf8), 1 as char chars
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
-Note 1003 select column_get(column_create(1,'1212' AS char charset utf8 ),1 as char charset binary) AS `column_get(column_create(1, "1212" AS char charset utf8), 1 as char charset binary)`
+Note 1003 select column_get(column_create(1,'1212' AS char charset utf8mb3 ),1 as char charset binary) AS `column_get(column_create(1, "1212" AS char charset utf8), 1 as char charset binary)`
#
# column get real
#
@@ -1508,7 +1508,7 @@ select column_get(column_create("1212", 2, "адын", 1, 3, 3), "4" as int);
column_get(column_create("1212", 2, "адын", 1, 3, 3), "4" as int)
NULL
set names latin1;
-# column existance test (names)
+# column existence test (names)
set names utf8;
select column_exists(column_create("адын", 1212), "адын");
column_exists(column_create("адын", 1212), "адын")
@@ -1901,7 +1901,7 @@ drop table t1;
create view v1 as select column_get(column_add(column_create(1 , 'blue' as char), 2, 'ttt'), 1 as char);
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 column_get(column_add(column_create(1,'blue' AS char charset utf8 ),2,'ttt'),1 as char charset utf8) AS `Name_exp_1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select column_get(column_add(column_create(1,'blue' AS char charset utf8mb3 ),2,'ttt'),1 as char charset utf8mb3) AS `Name_exp_1` utf8mb3 utf8mb3_general_ci
select * from v1;
Name_exp_1
blue
@@ -1929,9 +1929,9 @@ t1 CREATE TABLE `t1` (
`name` varchar(10) DEFAULT NULL,
`value` varchar(10) DEFAULT NULL,
`dyncol0` blob DEFAULT column_create(`name`,`value`),
- `value_dyncol0_name0` varchar(10) DEFAULT (column_get(`dyncol0`,'name0' as char charset utf8)),
+ `value_dyncol0_name0` varchar(10) DEFAULT (column_get(`dyncol0`,'name0' as char charset utf8mb3)),
`dyncol1` blob DEFAULT column_add(`dyncol0`,'name1','value1'),
- `value_dyncol1_name1` varchar(10) DEFAULT (column_get(`dyncol1`,'name1' as char charset utf8)),
+ `value_dyncol1_name1` varchar(10) DEFAULT (column_get(`dyncol1`,'name1' as char charset utf8mb3)),
`dyncol2` blob DEFAULT column_add(`dyncol1`,'name1',NULL AS int),
`dyncol2_exists_name0` int(11) DEFAULT column_exists(`dyncol2`,'name0'),
`dyncol2_exists_name1` int(11) DEFAULT column_exists(`dyncol2`,'name1'),
diff --git a/mysql-test/main/dyncol.test b/mysql-test/main/dyncol.test
index c0835de8c44..206c78a8775 100644
--- a/mysql-test/main/dyncol.test
+++ b/mysql-test/main/dyncol.test
@@ -689,7 +689,7 @@ select column_get(column_create("1212", 2, "адын", 1, 3, 3), 4 as int);
select column_get(column_create("1212", 2, "адын", 1, 3, 3), "4" as int);
set names latin1;
---echo # column existance test (names)
+--echo # column existence test (names)
set names utf8;
select column_exists(column_create("адын", 1212), "адын");
select column_exists(column_create("адын", 1212), "aады");
diff --git a/mysql-test/main/empty_string_literal.result b/mysql-test/main/empty_string_literal.result
index bbcf27cf993..bf9f30665f2 100644
--- a/mysql-test/main/empty_string_literal.result
+++ b/mysql-test/main/empty_string_literal.result
@@ -31,17 +31,17 @@ latin2 NULL
SET sql_mode=@mode;
SELECT N'',CHARSET(N''), N'x', CHARSET(N'x');
NULL CHARSET(N'') x CHARSET(N'x')
-NULL utf8 x utf8
+NULL utf8mb3 x utf8mb3
SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N'');
CHARSET(NULLIF(N'',N'')) NULLIF(N'',N'')
-utf8 NULL
+utf8mb3 NULL
SET sql_mode=default;
SELECT N'',CHARSET(N''), N'x', CHARSET(N'x');
CHARSET(N'') x CHARSET(N'x')
- utf8 x utf8
+ utf8mb3 x utf8mb3
SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N'');
CHARSET(NULLIF(N'',N'')) NULLIF(N'',N'')
-utf8 NULL
+utf8mb3 NULL
#
# Test CHARSET prefix litteral
#
@@ -98,7 +98,7 @@ NULL CHARSET(_latin1'' '' '')
NULL latin1
SELECT N'' '' '',CHARSET(N'' '' '');
NULL CHARSET(N'' '' '')
-NULL utf8
+NULL utf8mb3
#
# UNION - implicit group by
#
diff --git a/mysql-test/main/endspace.result b/mysql-test/main/endspace.result
index f9619db7e64..e7160f2829b 100644
--- a/mysql-test/main/endspace.result
+++ b/mysql-test/main/endspace.result
@@ -162,7 +162,8 @@ nothing
teststring
teststring
drop table t1;
-create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) engine=innodb;
+create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) engine=innodb
+stats_persistent=0;
insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
check table t1;
Table Op Msg_type Msg_text
diff --git a/mysql-test/main/endspace.test b/mysql-test/main/endspace.test
index 69b8133c5f7..be120667b56 100644
--- a/mysql-test/main/endspace.test
+++ b/mysql-test/main/endspace.test
@@ -74,7 +74,8 @@ drop table t1;
# Test InnoDB tables
#
-create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) engine=innodb;
+create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) engine=innodb
+stats_persistent=0;
insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
check table t1;
select * from t1 where text1='teststring' or text1 like 'teststring_%';
diff --git a/mysql-test/main/events_1.result b/mysql-test/main/events_1.result
index 26611abb880..c425f88eab2 100644
--- a/mysql-test/main/events_1.result
+++ b/mysql-test/main/events_1.result
@@ -150,109 +150,109 @@ Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root6;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root6 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root6` ON SCHEDULE EVERY '10:20' MINUTE_SECOND STARTS '#' ON COMPLETION PRESERVE ENABLE COMMENT 'some comment' DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root6 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root6` ON SCHEDULE EVERY '10:20' MINUTE_SECOND STARTS '#' ON COMPLETION PRESERVE ENABLE COMMENT 'some comment' DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root7 on schedule every 2 year do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root7;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root7 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root7` ON SCHEDULE EVERY 2 YEAR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root7 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root7` ON SCHEDULE EVERY 2 YEAR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root8 on schedule every '2:5' year_month do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root8;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root8 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root8` ON SCHEDULE EVERY '2-5' YEAR_MONTH STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root8 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root8` ON SCHEDULE EVERY '2-5' YEAR_MONTH STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root8_1 on schedule every '2:15' year_month do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root8_1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root8_1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root8_1` ON SCHEDULE EVERY '3-3' YEAR_MONTH STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root8_1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root8_1` ON SCHEDULE EVERY '3-3' YEAR_MONTH STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root9 on schedule every 2 week ON COMPLETION PRESERVE DISABLE COMMENT 'коментар на кирилица' do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root9;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root9 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root9` ON SCHEDULE EVERY 2 WEEK STARTS '#' ON COMPLETION PRESERVE DISABLE COMMENT 'коментар на кирилица' DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root9 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root9` ON SCHEDULE EVERY 2 WEEK STARTS '#' ON COMPLETION PRESERVE DISABLE COMMENT 'коментар на кирилица' DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root10 on schedule every '20:5' day_hour do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root10;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root10 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root10` ON SCHEDULE EVERY '20 5' DAY_HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root10 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root10` ON SCHEDULE EVERY '20 5' DAY_HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root11 on schedule every '20:25' day_hour do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root11;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root11 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root11` ON SCHEDULE EVERY '21 1' DAY_HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root11 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root11` ON SCHEDULE EVERY '21 1' DAY_HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root12 on schedule every '20:25' hour_minute do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root12;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root12 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root12` ON SCHEDULE EVERY '20:25' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root12 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root12` ON SCHEDULE EVERY '20:25' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root13 on schedule every '25:25' hour_minute do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root13;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root13 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root13` ON SCHEDULE EVERY '25:25' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root13 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root13` ON SCHEDULE EVERY '25:25' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root13_1 on schedule every '11:65' hour_minute do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root13_1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root13_1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root13_1` ON SCHEDULE EVERY '12:5' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root13_1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root13_1` ON SCHEDULE EVERY '12:5' HOUR_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root14 on schedule every '35:35' minute_second do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root14;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root14 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root14` ON SCHEDULE EVERY '35:35' MINUTE_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root14 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root14` ON SCHEDULE EVERY '35:35' MINUTE_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root15 on schedule every '35:66' minute_second do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root15;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root15 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root15` ON SCHEDULE EVERY '36:6' MINUTE_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root15 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root15` ON SCHEDULE EVERY '36:6' MINUTE_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root16 on schedule every '35:56' day_minute do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root16;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root16 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root16` ON SCHEDULE EVERY '1 11:56' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root16 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root16` ON SCHEDULE EVERY '1 11:56' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root17 on schedule every '35:12:45' day_minute do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root17;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root17 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root17` ON SCHEDULE EVERY '35 12:45' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root17 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root17` ON SCHEDULE EVERY '35 12:45' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root17_1 on schedule every '35:25:65' day_minute do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root17_1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root17_1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root17_1` ON SCHEDULE EVERY '36 2:5' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root17_1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root17_1` ON SCHEDULE EVERY '36 2:5' DAY_MINUTE STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root18 on schedule every '35:12:45' hour_second do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root18;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root18 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root18` ON SCHEDULE EVERY '35:12:45' HOUR_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root18 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root18` ON SCHEDULE EVERY '35:12:45' HOUR_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root19 on schedule every '15:59:85' hour_second do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root19;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root19 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root19` ON SCHEDULE EVERY '16:0:25' HOUR_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root19 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root19` ON SCHEDULE EVERY '16:0:25' HOUR_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
create event root20 on schedule every '50:20:12:45' day_second do select 1;
Warnings:
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
SHOW CREATE EVENT root20;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-root20 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root20` ON SCHEDULE EVERY '50 20:12:45' DAY_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+root20 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `root20` ON SCHEDULE EVERY '50 20:12:45' DAY_SECOND STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
set names cp1251;
create event ðóóò21 on schedule every '50:23:59:95' day_second COMMENT 'òîâà å 1251 êîìåíòàð' do select 1;
Warnings:
diff --git a/mysql-test/main/events_2.result b/mysql-test/main/events_2.result
index ec8dc0ff305..1753fa41ad0 100644
--- a/mysql-test/main/events_2.result
+++ b/mysql-test/main/events_2.result
@@ -145,7 +145,7 @@ Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON
lock table t1 read;
show create event e1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
select event_name from information_schema.events;
event_name
e1
@@ -163,7 +163,7 @@ unlock tables;
lock table t1 write;
show create event e1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
select event_name from information_schema.events;
event_name
e1
@@ -181,7 +181,7 @@ unlock tables;
lock table t1 read, mysql.event read;
show create event e1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
select event_name from information_schema.events;
event_name
e1
@@ -199,7 +199,7 @@ unlock tables;
lock table t1 write, mysql.event read;
show create event e1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
select event_name from information_schema.events;
event_name
e1
@@ -221,7 +221,7 @@ ERROR HY000: You can't combine write-locking of system tables with other tables
lock table mysql.event write;
show create event e1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8 utf8_general_ci latin1_swedish_ci
+e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO select 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
select event_name from information_schema.events;
event_name
e1
diff --git a/mysql-test/main/events_logs_tests.result b/mysql-test/main/events_logs_tests.result
index ac4a43118da..d332767a9f1 100644
--- a/mysql-test/main/events_logs_tests.result
+++ b/mysql-test/main/events_logs_tests.result
@@ -11,7 +11,8 @@ test suite is run in normal mode or with --ps-protocol
create procedure select_general_log()
begin
select user_host, argument from mysql.general_log
-where argument like '%events_logs_test%';
+where argument like '%events_logs_test%' AND
+(command_type = 'Query' OR command_type = 'Execute');
end|
Check that general query log works, but sub-statements
diff --git a/mysql-test/main/events_logs_tests.test b/mysql-test/main/events_logs_tests.test
index c4ef133f46b..7cd664b30df 100644
--- a/mysql-test/main/events_logs_tests.test
+++ b/mysql-test/main/events_logs_tests.test
@@ -17,7 +17,8 @@ delimiter |;
create procedure select_general_log()
begin
select user_host, argument from mysql.general_log
- where argument like '%events_logs_test%';
+ where argument like '%events_logs_test%' AND
+ (command_type = 'Query' OR command_type = 'Execute');
end|
delimiter ;|
--echo
diff --git a/mysql-test/main/events_restart.test b/mysql-test/main/events_restart.test
index f56bd32b71d..624c4188f9a 100644
--- a/mysql-test/main/events_restart.test
+++ b/mysql-test/main/events_restart.test
@@ -1,6 +1,5 @@
# Can't test with embedded server that doesn't support grants
-- source include/not_embedded.inc
-
call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted");
let $collation_server=`select @@collation_server`;
diff --git a/mysql-test/main/explain_json.result b/mysql-test/main/explain_json.result
index 6ce29c2828d..e93564132b3 100644
--- a/mysql-test/main/explain_json.result
+++ b/mysql-test/main/explain_json.result
@@ -1108,7 +1108,7 @@ EXPLAIN
"access_type": "ALL",
"rows": 2,
"filtered": 100,
- "attached_condition": "(case when convert(t1.a using utf8) = <cache>(_utf8'a' collate utf8_bin) then NULL else t1.a end)"
+ "attached_condition": "(case when convert(t1.a using utf8mb3) = <cache>(_utf8mb3'a' collate utf8mb3_bin) then NULL else t1.a end)"
}
}
}
diff --git a/mysql-test/main/explain_non_select.result b/mysql-test/main/explain_non_select.result
index 111b4c8ae50..d1e7af6afde 100644
--- a/mysql-test/main/explain_non_select.result
+++ b/mysql-test/main/explain_non_select.result
@@ -229,7 +229,7 @@ INSERT INTO t1 VALUES (1),(2);
EXPLAIN UPDATE v1, mysql.user SET v1.a = v1.a + 1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
-1 SIMPLE global_priv index NULL PRIMARY 420 NULL 5 Using index
+1 SIMPLE global_priv index NULL PRIMARY 1149 NULL 5 Using index
DROP TABLE t1;
DROP VIEW v1;
#
diff --git a/mysql-test/main/fast_prefix_index_fetch_innodb.result b/mysql-test/main/fast_prefix_index_fetch_innodb.result
index ef297e5c6b5..aa888fb0704 100644
--- a/mysql-test/main/fast_prefix_index_fetch_innodb.result
+++ b/mysql-test/main/fast_prefix_index_fetch_innodb.result
@@ -3,6 +3,8 @@ set global innodb_prefix_index_cluster_optimization = ON;
show variables like 'innodb_prefix_index_cluster_optimization';
Variable_name Value
innodb_prefix_index_cluster_optimization ON
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
# Create a table with a large varchar field that we index the prefix
# of and ensure we only trigger cluster lookups when we expect it.
create table prefixinno (
@@ -455,3 +457,4 @@ blog_id
1
DROP TABLE wp_blogs;
SET GLOBAL innodb_prefix_index_cluster_optimization = @save_opt;
+SET GLOBAL innodb_stats_persistent = @save_innodb_stats_persistent;
diff --git a/mysql-test/main/fast_prefix_index_fetch_innodb.test b/mysql-test/main/fast_prefix_index_fetch_innodb.test
index 1987416ff87..cb7ec642fe3 100644
--- a/mysql-test/main/fast_prefix_index_fetch_innodb.test
+++ b/mysql-test/main/fast_prefix_index_fetch_innodb.test
@@ -4,6 +4,9 @@ SET @save_opt= @@GLOBAL.innodb_prefix_index_cluster_optimization;
set global innodb_prefix_index_cluster_optimization = ON;
show variables like 'innodb_prefix_index_cluster_optimization';
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
+
--echo # Create a table with a large varchar field that we index the prefix
--echo # of and ensure we only trigger cluster lookups when we expect it.
create table prefixinno (
@@ -717,3 +720,4 @@ AND path IN ( '/fondsinvesteringer/', '/' );
DROP TABLE wp_blogs;
SET GLOBAL innodb_prefix_index_cluster_optimization = @save_opt;
+SET GLOBAL innodb_stats_persistent = @save_innodb_stats_persistent;
diff --git a/mysql-test/main/features,ps.rdiff b/mysql-test/main/features,ps.rdiff
new file mode 100644
index 00000000000..9065c132714
--- /dev/null
+++ b/mysql-test/main/features,ps.rdiff
@@ -0,0 +1,21 @@
+--- features.result
++++ features,ps.result
+@@ -46,7 +46,7 @@
+ 1212
+ show status like "feature_dynamic_columns";
+ Variable_name Value
+-Feature_dynamic_columns 2
++Feature_dynamic_columns 4
+ #
+ # Feature fulltext
+ #
+@@ -93,7 +93,7 @@
+ drop table t1;
+ show status like "feature_subquery";
+ Variable_name Value
+-Feature_subquery 4
++Feature_subquery 5
+ #
+ # Feature timezone
+ #
+
diff --git a/mysql-test/main/features.test b/mysql-test/main/features.test
index d0f5263c5c3..14c86255c37 100644
--- a/mysql-test/main/features.test
+++ b/mysql-test/main/features.test
@@ -1,6 +1,7 @@
# Testing of feature statistics
-- source include/have_geometry.inc
+-- source include/protocol.inc
--disable_warnings
drop table if exists t1;
diff --git a/mysql-test/main/fetch_first.result b/mysql-test/main/fetch_first.result
new file mode 100644
index 00000000000..69a0336d722
--- /dev/null
+++ b/mysql-test/main/fetch_first.result
@@ -0,0 +1,1380 @@
+#
+# The following entries are meant for testing the parser, ensuring
+# the right values are passed down to the executor, for all possible
+# syntax combinations.
+#
+# Test basic syntax.
+#
+create table t1 (a int);
+create table t_keyword (`offset` int);
+insert into t1 values (1), (1), (2), (3), (2);
+insert into t_keyword values (1), (1), (2), (3), (2);
+#
+# Make sure the FETCH clause addition didn't introduce problems with
+# the offset keyword.
+#
+select * from t1
+order by a
+offset 2 rows;
+a
+2
+2
+3
+select * from t1
+offset 2 rows;
+a
+2
+2
+3
+#
+# Offset is now a reserved keyword. Column names can not have that name
+# without escaping the identifier.
+#
+select * from t_keyword
+order by offset;
+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 'offset' at line 2
+select * from t_keyword
+order by `offset`;
+offset
+1
+1
+2
+2
+3
+#
+# Test syntax without a specific limit. (implicit one row)
+# Test the alias between row / rows and first / next.
+# Test ONLY vs WITH TIES.
+#
+select * from t1
+fetch first row only;
+a
+1
+select * from t1
+fetch first rows only;
+a
+1
+select * from t1
+fetch next row only;
+a
+1
+select * from t1
+fetch next rows only;
+a
+1
+#
+# Row / rows are mandatory after offset <n>
+#
+select * from t1
+order by a
+offset 2
+fetch first row only;
+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 'fetch first row only' at line 4
+select * from t1
+order by a
+offset 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 '' at line 3
+select * from t1
+order by a
+offset 2 row
+fetch first row only;
+a
+2
+select * from t1
+order by a
+offset 2 rows
+fetch first row only;
+a
+2
+#
+# Include offset before fetch clause.
+#
+select * from t1
+order by a
+offset 2 rows
+fetch first row only;
+a
+2
+select * from t1
+order by a
+offset 2 rows
+fetch first rows only;
+a
+2
+select * from t1
+offset 2 rows
+fetch next row only;
+a
+2
+select * from t1
+offset 2 rows
+fetch next rows only;
+a
+2
+#
+# Repeat the tests, but now with WITH TIES.
+# WITH TIES requires order by.
+#
+select * from t1
+fetch first row with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+fetch first rows with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+fetch next row with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+fetch next rows with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+order by a
+fetch first row with ties;
+a
+1
+1
+select * from t1
+order by a
+fetch first rows with ties;
+a
+1
+1
+select * from t1
+order by a
+fetch next row with ties;
+a
+1
+1
+select * from t1
+order by a
+fetch next rows with ties;
+a
+1
+1
+#
+# Include offset before fetch clause.
+#
+select * from t1
+order by a
+offset 2 rows
+fetch first row with ties;
+a
+2
+2
+select * from t1
+order by a
+offset 2 rows
+fetch first rows with ties;
+a
+2
+2
+select * from t1
+order by a
+offset 2 rows
+fetch next row with ties;
+a
+2
+2
+select * from t1
+order by a
+offset 2 rows
+fetch next rows with ties;
+a
+2
+2
+#
+# Test syntax with a specific limit
+#
+select * from t1
+fetch first 3 row only;
+a
+1
+1
+2
+select * from t1
+fetch first 3 rows only;
+a
+1
+1
+2
+select * from t1
+fetch next 3 row only;
+a
+1
+1
+2
+select * from t1
+fetch next 3 rows only;
+a
+1
+1
+2
+#
+# Include offset before fetch clause.
+#
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 row only;
+a
+2
+2
+3
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 rows only;
+a
+2
+2
+3
+select * from t1
+offset 2 rows
+fetch next 3 row only;
+a
+2
+3
+2
+select * from t1
+offset 2 rows
+fetch next 3 rows only;
+a
+2
+3
+2
+#
+# Repeat the tests, but now with WITH TIES.
+# WITH TIES requires order by.
+#
+select * from t1
+fetch first 3 row with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+fetch first 3 rows with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+fetch next 3 row with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+fetch next 3 rows with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+order by a
+fetch first 3 row with ties;
+a
+1
+1
+2
+2
+select * from t1
+order by a
+fetch first 3 rows with ties;
+a
+1
+1
+2
+2
+select * from t1
+order by a
+fetch next 3 row with ties;
+a
+1
+1
+2
+2
+select * from t1
+order by a
+fetch next 3 rows with ties;
+a
+1
+1
+2
+2
+#
+# Include offset before fetch clause.
+#
+select * from t1
+offset 2 rows
+fetch first row with ties;
+ERROR HY000: FETCH ... WITH TIES requires ORDER BY clause to be present
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 row with ties;
+a
+2
+2
+3
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 rows with ties;
+a
+2
+2
+3
+select * from t1
+order by a
+offset 2 rows
+fetch next 3 row with ties;
+a
+2
+2
+3
+select * from t1
+order by a
+offset 2 rows
+fetch next 3 rows with ties;
+a
+2
+2
+3
+drop table t1;
+drop table t_keyword;
+#
+# Test behaviour with a simple select.
+#
+create table t1 (id int, first_name varchar(100), last_name varchar(100), score double);
+insert into t1 values
+(1, 'Alice', 'Fowler', 5),
+(2, 'John', 'Doe', 6),
+(3, 'John', 'Smith', 6),
+(4, 'John', 'Smith', 6),
+(5, 'John', 'Smith', 7),
+(6, 'John', 'Elton', 8.1),
+(7, 'Bob', 'Trasc', 9),
+(8, 'Silvia', 'Ganush', 10);
+create table t2
+(id int,
+location varchar(100),
+fk int,
+constraint `fk_t1`
+ FOREIGN KEY (fk) REFERENCES t1 (id)
+ON DELETE CASCADE
+ON UPDATE RESTRICT);
+insert into t2 values
+(1, 'L1', 1),
+(2, 'L2', 2),
+(3, 'L3', 3),
+(4, 'L3', 4),
+(5, 'L4', 5),
+(6, 'L4', 6),
+(7, 'L4', 7),
+(7, null, 8);
+select * from t1
+order by id
+fetch first 3 rows only;
+id first_name last_name score
+1 Alice Fowler 5
+2 John Doe 6
+3 John Smith 6
+select * from t1
+order by id
+fetch first 3 rows with ties;
+id first_name last_name score
+1 Alice Fowler 5
+2 John Doe 6
+3 John Smith 6
+select * from t1
+order by first_name
+fetch first 3 rows only;
+id first_name last_name score
+1 Alice Fowler 5
+7 Bob Trasc 9
+3 John Smith 6
+select * from t1
+order by first_name
+fetch first 3 rows with ties;
+id first_name last_name score
+1 Alice Fowler 5
+7 Bob Trasc 9
+2 John Doe 6
+3 John Smith 6
+4 John Smith 6
+5 John Smith 7
+6 John Elton 8.1
+#
+# Test multi-part order by.
+#
+select * from t1
+order by first_name, last_name
+fetch first 3 rows with ties;
+id first_name last_name score
+1 Alice Fowler 5
+7 Bob Trasc 9
+2 John Doe 6
+select * from t1
+order by first_name, last_name
+fetch first 4 rows with ties;
+id first_name last_name score
+1 Alice Fowler 5
+7 Bob Trasc 9
+2 John Doe 6
+6 John Elton 8.1
+select * from t1
+order by first_name, last_name
+offset 1 rows
+fetch first 3 rows with ties;
+id first_name last_name score
+7 Bob Trasc 9
+2 John Doe 6
+6 John Elton 8.1
+select * from t1
+order by first_name, last_name
+offset 1 rows
+fetch first 3 rows only;
+id first_name last_name score
+7 Bob Trasc 9
+2 John Doe 6
+6 John Elton 8.1
+select * from t1
+order by first_name, last_name
+offset 1 rows
+fetch first 3 rows with ties;
+id first_name last_name score
+7 Bob Trasc 9
+2 John Doe 6
+6 John Elton 8.1
+select * from t1
+order by first_name, last_name
+offset 2 rows
+fetch first 3 rows only;
+id first_name last_name score
+2 John Doe 6
+6 John Elton 8.1
+5 John Smith 7
+select * from t1
+order by first_name, last_name
+offset 2 rows
+fetch first 3 rows with ties;
+id first_name last_name score
+2 John Doe 6
+6 John Elton 8.1
+3 John Smith 6
+4 John Smith 6
+5 John Smith 7
+select * from t1
+order by first_name, last_name
+offset 3 rows
+fetch first 3 rows only;
+id first_name last_name score
+6 John Elton 8.1
+3 John Smith 6
+4 John Smith 6
+select * from t1
+order by first_name, last_name
+offset 3 rows
+fetch first 3 rows with ties;
+id first_name last_name score
+6 John Elton 8.1
+3 John Smith 6
+4 John Smith 6
+5 John Smith 7
+select * from t1
+order by first_name, last_name
+offset 4 rows
+fetch first 3 rows only;
+id first_name last_name score
+3 John Smith 6
+4 John Smith 6
+5 John Smith 7
+select * from t1
+order by first_name, last_name
+offset 4 rows
+fetch first 3 rows with ties;
+id first_name last_name score
+3 John Smith 6
+4 John Smith 6
+5 John Smith 7
+#
+# Test offset crossing into a new peer-group.
+#
+select * from t1
+order by first_name, last_name
+offset 5 rows
+fetch first 3 rows with ties;
+id first_name last_name score
+4 John Smith 6
+5 John Smith 7
+8 Silvia Ganush 10
+select * from t1
+order by first_name, last_name
+offset 5 rows
+fetch first 3 rows only;
+id first_name last_name score
+4 John Smith 6
+5 John Smith 7
+8 Silvia Ganush 10
+#
+# Simple join with 2 tables, order by without columns in the
+# second table and also with columns in the second table.
+#
+# Cover both only and with ties.
+#
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t1.first_name, t1.last_name
+fetch first 3 rows only;
+id first_name last_name score location
+1 Alice Fowler 5 L1
+7 Bob Trasc 9 L4
+2 John Doe 6 L2
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location, t1.first_name, t1.last_name
+fetch first 3 rows only;
+id first_name last_name score location
+8 Silvia Ganush 10 NULL
+1 Alice Fowler 5 L1
+2 John Doe 6 L2
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t1.first_name, t1.last_name
+fetch first 3 rows with ties;
+id first_name last_name score location
+1 Alice Fowler 5 L1
+7 Bob Trasc 9 L4
+2 John Doe 6 L2
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location, t1.first_name, t1.last_name
+fetch first 3 rows with ties;
+id first_name last_name score location
+8 Silvia Ganush 10 NULL
+1 Alice Fowler 5 L1
+2 John Doe 6 L2
+#
+# Test descending order by.
+#
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location desc, t1.first_name, t1.last_name
+fetch first 3 rows only;
+id first_name last_name score location
+7 Bob Trasc 9 L4
+6 John Elton 8.1 L4
+5 John Smith 7 L4
+select * from t2
+order by t2.location desc
+fetch first 2 rows with ties;
+id location fk
+5 L4 5
+6 L4 6
+7 L4 7
+select * from t2
+order by t2.location desc
+offset 1 rows
+fetch first 2 rows with ties;
+id location fk
+6 L4 6
+7 L4 7
+select * from t2
+order by t2.location desc
+offset 2 rows
+fetch first 2 rows with ties;
+id location fk
+3 L3 3
+4 L3 4
+7 L4 7
+#
+# Test a join with descending order by.
+#
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location desc, t1.first_name, t1.last_name
+fetch first 3 rows with ties;
+id first_name last_name score location
+7 Bob Trasc 9 L4
+6 John Elton 8.1 L4
+5 John Smith 7 L4
+#
+# Test subqueries.
+#
+select * from (
+select * from t2
+order by t2.location desc
+offset 2 rows
+fetch first 2 rows with ties
+) temp;
+id location fk
+7 L4 7
+3 L3 3
+4 L3 4
+select * from t2
+order by t2.location desc
+offset 0 rows
+fetch first 2 rows with ties;
+id location fk
+5 L4 5
+6 L4 6
+7 L4 7
+create view v1 as (
+select * from t2
+order by t2.location desc
+offset 0 rows
+fetch first 2 rows with ties
+);
+create view v2 as (
+select * from t2
+order by t2.location desc
+offset 1 rows
+fetch first 2 rows with ties
+);
+create view v3 as (
+select * from t2
+order by t2.location desc
+offset 2 rows
+fetch first row with ties
+);
+select * from v1;
+id location fk
+5 L4 5
+6 L4 6
+7 L4 7
+select * from v2;
+id location fk
+6 L4 6
+7 L4 7
+select * from v3;
+id location fk
+7 L4 7
+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 `t2`.`id` AS `id`,`t2`.`location` AS `location`,`t2`.`fk` AS `fk` from `t2` order by `t2`.`location` desc offset 0 rows fetch first 2 rows with ties) 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 `t2`.`id` AS `id`,`t2`.`location` AS `location`,`t2`.`fk` AS `fk` from `t2` order by `t2`.`location` desc offset 1 rows fetch first 2 rows with ties) latin1 latin1_swedish_ci
+show create view v3;
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS (select `t2`.`id` AS `id`,`t2`.`location` AS `location`,`t2`.`fk` AS `fk` from `t2` order by `t2`.`location` desc offset 2 rows fetch first 1 rows with ties) latin1 latin1_swedish_ci
+#
+# Test joins with views and order by referenced from the view.
+#
+select *
+from t1 inner join v1 on t1.id = v1.fk
+order by v1.location desc, t1.first_name
+offset 1 rows
+fetch first 1 rows with ties;
+id first_name last_name score id location fk
+5 John Smith 7 5 L4 5
+6 John Elton 8.1 6 L4 6
+select first_name, last_name, sum(score)
+from t1
+group by first_name, last_name
+order by first_name;
+first_name last_name sum(score)
+Alice Fowler 5
+Bob Trasc 9
+John Doe 6
+John Elton 8.1
+John Smith 19
+Silvia Ganush 10
+#
+# Test with ties with group by. Make sure that if order by is a less
+# specific sort of group by, that WITH TIES still gets executed.
+#
+explain
+select first_name, last_name, sum(score)
+from t1
+group by first_name, last_name
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using temporary; Using filesort
+select first_name, last_name, sum(score)
+from t1
+group by first_name, last_name
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+first_name last_name sum(score)
+Bob Trasc 9
+John Doe 6
+John Elton 8.1
+John Smith 19
+drop table t1;
+drop table t2;
+drop view v1;
+drop view v2;
+drop view v3;
+#
+# Test with ties when an index is used to provide the order by.
+#
+create table t1 (id int, first_name varchar(100), last_name varchar(100), score double);
+create index t1_name on t1 (first_name, last_name);
+insert into t1 values
+(1, 'Alice', 'Fowler', 5),
+(2, 'John', 'Doe', 6),
+(3, 'John', 'Smith', 6),
+(4, 'John', 'Smith', 6),
+(5, 'John', 'Smith', 7),
+(6, 'John', 'Elton', 8.1),
+(7, 'Bob', 'Trasc', 9),
+(8, 'Silvia', 'Ganush', 10);
+explain select first_name, last_name
+from t1
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL t1_name 206 NULL 3 Using index
+explain select first_name, last_name
+from t1
+order by first_name desc
+fetch first 2 rows with ties;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL t1_name 206 NULL 2 Using index
+select first_name, last_name
+from t1
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+first_name last_name
+Bob Trasc
+John Doe
+John Elton
+John Smith
+John Smith
+John Smith
+select first_name, last_name
+from t1
+order by first_name desc
+fetch first 2 rows with ties;
+first_name last_name
+Silvia Ganush
+John Smith
+John Smith
+John Smith
+John Elton
+John Doe
+select first_name, last_name
+from t1
+order by first_name desc
+offset 1 rows
+fetch first 2 rows with ties;
+first_name last_name
+John Smith
+John Smith
+John Smith
+John Elton
+John Doe
+select first_name, last_name
+from t1
+order by first_name desc
+offset 4 rows
+fetch first 2 rows with ties;
+first_name last_name
+John Elton
+John Doe
+select first_name, last_name
+from t1
+order by first_name desc
+offset 4 rows
+fetch first 3 rows with ties;
+first_name last_name
+John Elton
+John Doe
+Bob Trasc
+explain select first_name, last_name
+from t1
+where first_name != 'John'
+order by first_name
+fetch first 2 rows with ties;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range t1_name t1_name 103 NULL 3 Using where; Using index
+select first_name, last_name
+from t1
+where first_name != 'John'
+order by first_name
+fetch first 2 rows with ties;
+first_name last_name
+Alice Fowler
+Bob Trasc
+select first_name, last_name
+from t1
+where first_name != 'John'
+group by first_name, last_name
+order by first_name
+fetch first 2 rows with ties;
+first_name last_name
+Alice Fowler
+Bob Trasc
+#
+# Test CTE support.
+#
+explain with temp_table as (
+select first_name, last_name
+from t1
+where first_name != 'John'
+ group by first_name, last_name
+order by first_name
+fetch first 2 rows with ties
+)
+select * from temp_table
+order by first_name, last_name;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 Using filesort
+2 DERIVED t1 range t1_name t1_name 103 NULL 3 Using where; Using index
+with temp_table as (
+select first_name, last_name
+from t1
+group by first_name, last_name
+order by first_name
+fetch first 3 rows with ties
+)
+select * from temp_table
+order by first_name, last_name;
+first_name last_name
+Alice Fowler
+Bob Trasc
+John Doe
+John Elton
+John Smith
+with temp_table as (
+select first_name, last_name
+from t1
+group by first_name, last_name
+order by first_name
+fetch first 3 rows with ties
+)
+select * from temp_table
+order by last_name
+fetch first 3 rows with ties;
+first_name last_name
+John Doe
+John Elton
+Alice Fowler
+with temp_table as (
+select first_name, last_name
+from t1
+group by first_name, last_name
+order by first_name
+fetch first 3 rows with ties
+)
+select * from temp_table
+order by first_name
+fetch first 3 rows with ties;
+first_name last_name
+Alice Fowler
+Bob Trasc
+John Doe
+John Elton
+John Smith
+with temp_table as (
+select first_name, last_name
+from t1
+group by first_name, last_name
+order by first_name
+fetch first 3 rows with ties
+)
+select * from temp_table
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+first_name last_name
+Bob Trasc
+John Doe
+John Elton
+John Smith
+select first_name, row_number() over () rn
+from t1
+order by rn
+offset 1 rows
+fetch first 2 rows with ties;
+first_name rn
+Bob 2
+John 3
+select first_name, row_number() over () rn
+from t1
+order by rn desc
+offset 1 rows
+fetch first 2 rows with ties;
+first_name rn
+John 7
+John 6
+select first_name, score, rank() over (ORDER BY score)
+from t1
+order by rank() over (ORDER BY score)
+fetch first 3 rows with ties;
+first_name score rank() over (ORDER BY score)
+Alice 5 1
+John 6 2
+John 6 2
+John 6 2
+select first_name, score, rank() over (ORDER BY score)
+from t1
+order by rank() over (ORDER BY score)
+offset 1 rows
+fetch first 2 rows with ties;
+first_name score rank() over (ORDER BY score)
+John 6 2
+John 6 2
+John 6 2
+select first_name, score, rank() over (ORDER BY score)
+from t1
+order by rank() over (ORDER BY score)
+fetch first 6 rows with ties;
+first_name score rank() over (ORDER BY score)
+Alice 5 1
+John 6 2
+John 6 2
+John 6 2
+John 7 5
+John 8.1 6
+#
+# Test nulls.
+#
+create table t2 (id int, location varchar(100), time datetime, value int, fk int);
+insert into t2 values (1, 'home', '2020-01-01 10:00', 10, 1);
+insert into t2 values (2, 'home', '2020-01-01 11:00', 11, 2);
+insert into t2 values (3, 'home', '2020-01-01 12:00', 12, 3);
+insert into t2 values (4, 'home', '2020-01-01 13:00', 13, 3);
+insert into t2 values (5, 'home', '2020-01-01 14:00', 13, 3);
+insert into t2 values (6, 'home', '2020-01-01 15:00', 13, 2);
+insert into t2 values (7, 'home', '2020-01-01 16:00', 13, 6);
+insert into t2 values (8, 'outside', '2020-01-01 17:00', 17, 6);
+insert into t2 values (9, 'outside', '2020-01-01 18:00', 17, 6);
+insert into t2 values (10, 'outside', '2020-01-01 19:00', 17, 8);
+insert into t2 values (11, 'outside', '2020-01-01 20:00', 16, 7);
+insert into t2 values (12, 'outside', '2020-01-01 21:00', 16, 7);
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location;
+id first_name last_name score id location time value fk
+1 Alice Fowler 5 1 home 2020-01-01 10:00:00 10 1
+2 John Doe 6 2 home 2020-01-01 11:00:00 11 2
+2 John Doe 6 6 home 2020-01-01 15:00:00 13 2
+3 John Smith 6 3 home 2020-01-01 12:00:00 12 3
+3 John Smith 6 4 home 2020-01-01 13:00:00 13 3
+3 John Smith 6 5 home 2020-01-01 14:00:00 13 3
+4 John Smith 6 NULL NULL NULL NULL NULL
+5 John Smith 7 NULL NULL NULL NULL NULL
+6 John Elton 8.1 7 home 2020-01-01 16:00:00 13 6
+6 John Elton 8.1 8 outside 2020-01-01 17:00:00 17 6
+6 John Elton 8.1 9 outside 2020-01-01 18:00:00 17 6
+7 Bob Trasc 9 11 outside 2020-01-01 20:00:00 16 7
+7 Bob Trasc 9 12 outside 2020-01-01 21:00:00 16 7
+8 Silvia Ganush 10 10 outside 2020-01-01 19:00:00 17 8
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+fetch first 1 row with ties;
+id first_name last_name score id location time value fk
+4 John Smith 6 NULL NULL NULL NULL NULL
+5 John Smith 7 NULL NULL NULL NULL NULL
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+fetch first 2 row with ties;
+id first_name last_name score id location time value fk
+4 John Smith 6 NULL NULL NULL NULL NULL
+5 John Smith 7 NULL NULL NULL NULL NULL
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+fetch first 3 row with ties;
+id first_name last_name score id location time value fk
+1 Alice Fowler 5 1 home 2020-01-01 10:00:00 10 1
+2 John Doe 6 2 home 2020-01-01 11:00:00 11 2
+2 John Doe 6 6 home 2020-01-01 15:00:00 13 2
+3 John Smith 6 3 home 2020-01-01 12:00:00 12 3
+3 John Smith 6 4 home 2020-01-01 13:00:00 13 3
+3 John Smith 6 5 home 2020-01-01 14:00:00 13 3
+4 John Smith 6 NULL NULL NULL NULL NULL
+5 John Smith 7 NULL NULL NULL NULL NULL
+6 John Elton 8.1 7 home 2020-01-01 16:00:00 13 6
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+offset 2 rows
+fetch first 1 row with ties;
+id first_name last_name score id location time value fk
+1 Alice Fowler 5 1 home 2020-01-01 10:00:00 10 1
+2 John Doe 6 2 home 2020-01-01 11:00:00 11 2
+2 John Doe 6 6 home 2020-01-01 15:00:00 13 2
+3 John Smith 6 3 home 2020-01-01 12:00:00 12 3
+3 John Smith 6 4 home 2020-01-01 13:00:00 13 3
+3 John Smith 6 5 home 2020-01-01 14:00:00 13 3
+6 John Elton 8.1 7 home 2020-01-01 16:00:00 13 6
+#
+# Test union-like operator with multiple fetch first clauses.
+#
+select * from t1 order by 1 fetch first 3 rows with ties;
+id first_name last_name score
+1 Alice Fowler 5
+2 John Doe 6
+3 John Smith 6
+select * from t1 order by first_name desc fetch first 3 rows with ties;
+id first_name last_name score
+8 Silvia Ganush 10
+2 John Doe 6
+3 John Smith 6
+4 John Smith 6
+5 John Smith 7
+6 John Elton 8.1
+(select * from t1 order by 1 fetch first 3 rows with ties)
+intersect
+(select * from t1 order by first_name desc fetch first 3 rows with ties)
+order by first_name
+fetch first 1 row with ties;
+id first_name last_name score
+2 John Doe 6
+3 John Smith 6
+(select * from t1 order by 1 fetch first 3 rows with ties)
+except
+(select * from t1 order by first_name desc fetch first 3 rows with ties)
+order by first_name
+fetch first 1 row with ties;
+id first_name last_name score
+1 Alice Fowler 5
+(select * from t1 order by 1 fetch first 3 rows with ties)
+except
+(select * from t1 order by first_name desc fetch first 3 rows with ties)
+order by first_name
+offset 1 rows
+fetch first 1 row with ties;
+id first_name last_name score
+select sum(score)
+from t1
+order by 1
+fetch first 2 rows with ties;
+sum(score)
+57.1
+select sum(score)
+from t1
+group by id
+order by 1
+fetch first 2 rows with ties;
+sum(score)
+5
+6
+6
+6
+drop table t1;
+drop table t2;
+#
+# Test SQL_CALC_FOUND_ROWS
+#
+create table t1 (a int, b int, index (a,b));
+insert into t1 values (1,1), (1,2), (1,3), (2,1), (2,2), (3,1);
+select SQL_CALC_FOUND_ROWS a, b, count(*)
+from t1
+group by a, b
+order by a
+fetch first 1 rows with ties;
+a b count(*)
+1 1 1
+1 2 1
+1 3 1
+SELECT FOUND_ROWS();
+FOUND_ROWS()
+6
+select SQL_CALC_FOUND_ROWS a, b
+from t1
+order by a
+fetch first 1 rows with ties;
+a b
+1 1
+1 2
+1 3
+SELECT FOUND_ROWS();
+FOUND_ROWS()
+6
+#
+# Test index read optimization with ORDER BY as sub part of GROUP BY
+#
+explain select a, b, count(*)
+from t1
+group by a, b
+order by a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 10 NULL 6 Using index
+explain select a, b, count(*)
+from t1
+group by a, b
+order by a
+fetch first 1 rows with ties;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 10 NULL 1 Using index
+#
+# Test FETCH ... WITH TIES / ONLY with prepared statements
+#
+prepare s from "select a, b from t1 order by a fetch first ? rows with ties";
+set @a='qwe';
+execute s using @a;
+a b
+set @a=-1;
+execute s using @a;
+ERROR HY000: Incorrect arguments to EXECUTE
+prepare s2 from "select a, b from t1 order by a offset ? rows fetch first ? rows with ties";
+set @offset=1;
+set @limit_count= 2;
+execute s2 using @offset, @limit_count;
+a b
+1 2
+1 3
+execute s2 using @offset, 3;
+a b
+1 2
+1 3
+2 1
+2 2
+execute s2 using -1, 3;
+ERROR HY000: Incorrect arguments to EXECUTE
+#
+# Test with ties with a constant order by.
+#
+select a, b
+from t1
+order by 'x'
+fetch first 2 rows with ties;
+a b
+1 1
+1 2
+1 3
+2 1
+2 2
+3 1
+select b, sum(a)
+from t1
+group by b
+order by 'x', 'y', 'z'
+fetch first 2 rows with ties;
+b sum(a)
+1 6
+2 3
+3 1
+#
+# Test with ties when group by is used and order by gets eliminated.
+#
+select b, sum(a)
+from t1
+group by b
+order by 'x', 'y', 'z'
+fetch first 2 rows with ties;
+b sum(a)
+1 6
+2 3
+3 1
+#
+# Test an ill formed SELECT using MySQL/MariaDBs group by extension
+# of not requiring all non-aggregate fields to be part of group
+# by.
+#
+select b, a, sum(a)
+from t1
+group by a
+order by b, 'x', 'y', 'z'
+fetch first 2 rows with ties;
+b a sum(a)
+1 1 3
+1 2 4
+1 3 3
+delete from t1;
+insert into t1 values (1,1), (1,2), (1,3), (2,1), (2,2), (3,2), (3, 3);
+select b, a, sum(a)
+from t1
+group by a
+order by b, 'x', 'y', 'z'
+fetch first 1 rows with ties;
+b a sum(a)
+1 1 3
+1 2 4
+select b, a, sum(a)
+from t1
+group by a
+order by 'x', b, 'x', 'y', 'z'
+fetch first 1 rows with ties;
+b a sum(a)
+1 1 3
+1 2 4
+select b, a, sum(a)
+from t1
+group by a
+order by 'x', 'y', b
+fetch first 1 rows with ties;
+b a sum(a)
+1 1 3
+1 2 4
+#
+# Test with ties when order by a const column is used.
+#
+select a, b
+from t1
+order by a, 'a'
+fetch first 2 rows with ties;
+a b
+1 1
+1 2
+1 3
+#
+# Order by aggregates.
+#
+select a, b, sum(a)
+from t1
+group by a, b
+order by sum(a)
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+1 3 1
+# Test different sum function in order by, not present in select list.
+select a, b, sum(a)
+from t1
+group by a, b
+order by sum(b)
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+2 1 2
+# Test aggregates with constant columns in order by.
+select a, b, sum(a)
+from t1
+group by a, b
+order by a
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+1 3 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, 'x'
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+1 3 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, b
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, b
+fetch first 2 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, b, 'x'
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+select a, b, sum(a)
+from t1
+group by a, 'x', b
+order by a, b, 'x'
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+select a, b, sum(a)
+from t1
+group by 'x', a, b
+order by a, b, 'x'
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by 'x', a, 'x', b, 't', b
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by b, 't', b
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+2 1 2
+#
+# Test with subqueries in order by
+#
+select a, b, sum(a)
+from t1
+group by a, b
+order by (select 1)
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+1 3 1
+2 1 2
+2 2 2
+3 2 3
+3 3 3
+select a, b, sum(a)
+from t1
+group by a, b
+order by (select 1), a
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+1 3 1
+select a, b, sum(a)
+from t1
+group by a, b
+order by (select 1), a
+fetch first 1 rows with ties;
+a b sum(a)
+1 1 1
+1 2 1
+1 3 1
+drop table t1;
+#
+# MDEV-25441
+# WITH TIES is not respected with SQL_BUFFER_RESULT and constant in ORDER BY
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+explain SELECT SQL_BUFFER_RESULT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 10 Using temporary
+SELECT SQL_BUFFER_RESULT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
+f
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+SELECT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
+f
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+drop table t1;
+#
+# MDEV-25481: Memory leak upon query WITH TIES involving a blob
+#
+CREATE TABLE t (a TEXT);
+INSERT INTO t VALUES ('foo'),('bar');
+SELECT a FROM t ORDER BY a FETCH FIRST 2 ROWS WITH TIES;
+a
+bar
+foo
+DROP TABLE t;
diff --git a/mysql-test/main/fetch_first.test b/mysql-test/main/fetch_first.test
new file mode 100644
index 00000000000..7c41b922978
--- /dev/null
+++ b/mysql-test/main/fetch_first.test
@@ -0,0 +1,1054 @@
+--echo #
+--echo # The following entries are meant for testing the parser, ensuring
+--echo # the right values are passed down to the executor, for all possible
+--echo # syntax combinations.
+--echo #
+--echo # Test basic syntax.
+--echo #
+
+create table t1 (a int);
+create table t_keyword (`offset` int);
+
+insert into t1 values (1), (1), (2), (3), (2);
+insert into t_keyword values (1), (1), (2), (3), (2);
+
+--echo #
+--echo # Make sure the FETCH clause addition didn't introduce problems with
+--echo # the offset keyword.
+--echo #
+select * from t1
+order by a
+offset 2 rows;
+
+
+--sorted_result
+select * from t1
+offset 2 rows;
+
+
+--echo #
+--echo # Offset is now a reserved keyword. Column names can not have that name
+--echo # without escaping the identifier.
+--echo #
+--error 1064
+select * from t_keyword
+order by offset;
+
+select * from t_keyword
+order by `offset`;
+
+
+--echo #
+--echo # Test syntax without a specific limit. (implicit one row)
+--echo # Test the alias between row / rows and first / next.
+--echo # Test ONLY vs WITH TIES.
+--echo #
+select * from t1
+fetch first row only;
+
+select * from t1
+fetch first rows only;
+
+select * from t1
+fetch next row only;
+
+select * from t1
+fetch next rows only;
+
+--echo #
+--echo # Row / rows are mandatory after offset <n>
+--echo #
+--error 1064
+select * from t1
+order by a
+offset 2
+fetch first row only;
+
+--error 1064
+select * from t1
+order by a
+offset 2;
+
+select * from t1
+order by a
+offset 2 row
+fetch first row only;
+
+select * from t1
+order by a
+offset 2 rows
+fetch first row only;
+
+--echo #
+--echo # Include offset before fetch clause.
+--echo #
+select * from t1
+order by a
+offset 2 rows
+fetch first row only;
+
+select * from t1
+order by a
+offset 2 rows
+fetch first rows only;
+
+select * from t1
+offset 2 rows
+fetch next row only;
+
+select * from t1
+offset 2 rows
+fetch next rows only;
+
+
+--echo #
+--echo # Repeat the tests, but now with WITH TIES.
+--echo # WITH TIES requires order by.
+--echo #
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch first row with ties;
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch first rows with ties;
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch next row with ties;
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch next rows with ties;
+
+select * from t1
+order by a
+fetch first row with ties;
+
+select * from t1
+order by a
+fetch first rows with ties;
+
+select * from t1
+order by a
+fetch next row with ties;
+
+select * from t1
+order by a
+fetch next rows with ties;
+
+--echo #
+--echo # Include offset before fetch clause.
+--echo #
+
+select * from t1
+order by a
+offset 2 rows
+fetch first row with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch first rows with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch next row with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch next rows with ties;
+
+
+--echo #
+--echo # Test syntax with a specific limit
+--echo #
+select * from t1
+fetch first 3 row only;
+
+select * from t1
+fetch first 3 rows only;
+
+select * from t1
+fetch next 3 row only;
+
+select * from t1
+fetch next 3 rows only;
+
+--echo #
+--echo # Include offset before fetch clause.
+--echo #
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 row only;
+
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 rows only;
+
+select * from t1
+offset 2 rows
+fetch next 3 row only;
+
+select * from t1
+offset 2 rows
+fetch next 3 rows only;
+
+
+--echo #
+--echo # Repeat the tests, but now with WITH TIES.
+--echo # WITH TIES requires order by.
+--echo #
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch first 3 row with ties;
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch first 3 rows with ties;
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch next 3 row with ties;
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+fetch next 3 rows with ties;
+
+select * from t1
+order by a
+fetch first 3 row with ties;
+
+select * from t1
+order by a
+fetch first 3 rows with ties;
+
+select * from t1
+order by a
+fetch next 3 row with ties;
+
+select * from t1
+order by a
+fetch next 3 rows with ties;
+
+--echo #
+--echo # Include offset before fetch clause.
+--echo #
+
+--error ER_WITH_TIES_NEEDS_ORDER
+select * from t1
+offset 2 rows
+fetch first row with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 row with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch first 3 rows with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch next 3 row with ties;
+
+select * from t1
+order by a
+offset 2 rows
+fetch next 3 rows with ties;
+
+
+drop table t1;
+drop table t_keyword;
+
+--echo #
+--echo # Test behaviour with a simple select.
+--echo #
+
+create table t1 (id int, first_name varchar(100), last_name varchar(100), score double);
+insert into t1 values
+ (1, 'Alice', 'Fowler', 5),
+ (2, 'John', 'Doe', 6),
+ (3, 'John', 'Smith', 6),
+ (4, 'John', 'Smith', 6),
+ (5, 'John', 'Smith', 7),
+ (6, 'John', 'Elton', 8.1),
+ (7, 'Bob', 'Trasc', 9),
+ (8, 'Silvia', 'Ganush', 10);
+
+create table t2
+ (id int,
+ location varchar(100),
+ fk int,
+ constraint `fk_t1`
+ FOREIGN KEY (fk) REFERENCES t1 (id)
+ ON DELETE CASCADE
+ ON UPDATE RESTRICT);
+insert into t2 values
+ (1, 'L1', 1),
+ (2, 'L2', 2),
+ (3, 'L3', 3),
+ (4, 'L3', 4),
+ (5, 'L4', 5),
+ (6, 'L4', 6),
+ (7, 'L4', 7),
+ (7, null, 8);
+
+
+select * from t1
+order by id
+fetch first 3 rows only;
+
+select * from t1
+order by id
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name
+fetch first 3 rows only;
+
+select * from t1
+order by first_name
+fetch first 3 rows with ties;
+
+--echo #
+--echo # Test multi-part order by.
+--echo #
+select * from t1
+order by first_name, last_name
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name, last_name
+fetch first 4 rows with ties;
+
+
+select * from t1
+order by first_name, last_name
+offset 1 rows
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name, last_name
+offset 1 rows
+fetch first 3 rows only;
+
+select * from t1
+order by first_name, last_name
+offset 1 rows
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name, last_name
+offset 2 rows
+fetch first 3 rows only;
+
+select * from t1
+order by first_name, last_name
+offset 2 rows
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name, last_name
+offset 3 rows
+fetch first 3 rows only;
+
+select * from t1
+order by first_name, last_name
+offset 3 rows
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name, last_name
+offset 4 rows
+fetch first 3 rows only;
+
+select * from t1
+order by first_name, last_name
+offset 4 rows
+fetch first 3 rows with ties;
+
+--echo #
+--echo # Test offset crossing into a new peer-group.
+--echo #
+select * from t1
+order by first_name, last_name
+offset 5 rows
+fetch first 3 rows with ties;
+
+select * from t1
+order by first_name, last_name
+offset 5 rows
+fetch first 3 rows only;
+
+--echo #
+--echo # Simple join with 2 tables, order by without columns in the
+--echo # second table and also with columns in the second table.
+--echo #
+--echo # Cover both only and with ties.
+--echo #
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t1.first_name, t1.last_name
+fetch first 3 rows only;
+
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location, t1.first_name, t1.last_name
+fetch first 3 rows only;
+
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t1.first_name, t1.last_name
+fetch first 3 rows with ties;
+
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location, t1.first_name, t1.last_name
+fetch first 3 rows with ties;
+
+--echo #
+--echo # Test descending order by.
+--echo #
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location desc, t1.first_name, t1.last_name
+fetch first 3 rows only;
+
+--sorted_result
+select * from t2
+order by t2.location desc
+fetch first 2 rows with ties;
+
+--sorted_result
+select * from t2
+order by t2.location desc
+offset 1 rows
+fetch first 2 rows with ties;
+
+--sorted_result
+select * from t2
+order by t2.location desc
+offset 2 rows
+fetch first 2 rows with ties;
+
+--echo #
+--echo # Test a join with descending order by.
+--echo #
+select t1.id, t1.first_name, t1.last_name, t1.score, t2.location
+from t1 inner join t2 on t1.id = t2.fk
+order by t2.location desc, t1.first_name, t1.last_name
+fetch first 3 rows with ties;
+
+--echo #
+--echo # Test subqueries.
+--echo #
+select * from (
+ select * from t2
+ order by t2.location desc
+ offset 2 rows
+ fetch first 2 rows with ties
+) temp;
+
+
+select * from t2
+order by t2.location desc
+offset 0 rows
+fetch first 2 rows with ties;
+
+create view v1 as (
+ select * from t2
+ order by t2.location desc
+ offset 0 rows
+ fetch first 2 rows with ties
+);
+
+create view v2 as (
+ select * from t2
+ order by t2.location desc
+ offset 1 rows
+ fetch first 2 rows with ties
+);
+
+create view v3 as (
+ select * from t2
+ order by t2.location desc
+ offset 2 rows
+ fetch first row with ties
+);
+
+
+
+select * from v1;
+select * from v2;
+select * from v3;
+
+show create view v1;
+show create view v2;
+show create view v3;
+
+--echo #
+--echo # Test joins with views and order by referenced from the view.
+--echo #
+
+--sorted_result
+select *
+from t1 inner join v1 on t1.id = v1.fk
+order by v1.location desc, t1.first_name
+offset 1 rows
+fetch first 1 rows with ties;
+
+select first_name, last_name, sum(score)
+from t1
+group by first_name, last_name
+order by first_name;
+
+--echo #
+--echo # Test with ties with group by. Make sure that if order by is a less
+--echo # specific sort of group by, that WITH TIES still gets executed.
+--echo #
+
+explain
+select first_name, last_name, sum(score)
+from t1
+group by first_name, last_name
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+
+--sorted_result
+select first_name, last_name, sum(score)
+from t1
+group by first_name, last_name
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+
+
+
+drop table t1;
+drop table t2;
+drop view v1;
+drop view v2;
+drop view v3;
+
+--echo #
+--echo # Test with ties when an index is used to provide the order by.
+--echo #
+create table t1 (id int, first_name varchar(100), last_name varchar(100), score double);
+
+create index t1_name on t1 (first_name, last_name);
+
+insert into t1 values
+ (1, 'Alice', 'Fowler', 5),
+ (2, 'John', 'Doe', 6),
+ (3, 'John', 'Smith', 6),
+ (4, 'John', 'Smith', 6),
+ (5, 'John', 'Smith', 7),
+ (6, 'John', 'Elton', 8.1),
+ (7, 'Bob', 'Trasc', 9),
+ (8, 'Silvia', 'Ganush', 10);
+
+explain select first_name, last_name
+from t1
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+
+explain select first_name, last_name
+from t1
+order by first_name desc
+fetch first 2 rows with ties;
+
+
+select first_name, last_name
+from t1
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+
+select first_name, last_name
+from t1
+order by first_name desc
+fetch first 2 rows with ties;
+
+
+select first_name, last_name
+from t1
+order by first_name desc
+offset 1 rows
+fetch first 2 rows with ties;
+
+select first_name, last_name
+from t1
+order by first_name desc
+offset 4 rows
+fetch first 2 rows with ties;
+
+select first_name, last_name
+from t1
+order by first_name desc
+offset 4 rows
+fetch first 3 rows with ties;
+
+explain select first_name, last_name
+from t1
+where first_name != 'John'
+order by first_name
+fetch first 2 rows with ties;
+
+select first_name, last_name
+from t1
+where first_name != 'John'
+order by first_name
+fetch first 2 rows with ties;
+
+
+
+select first_name, last_name
+from t1
+where first_name != 'John'
+group by first_name, last_name
+order by first_name
+fetch first 2 rows with ties;
+
+
+--echo #
+--echo # Test CTE support.
+--echo #
+explain with temp_table as (
+ select first_name, last_name
+ from t1
+ where first_name != 'John'
+ group by first_name, last_name
+ order by first_name
+ fetch first 2 rows with ties
+)
+select * from temp_table
+order by first_name, last_name;
+
+with temp_table as (
+ select first_name, last_name
+ from t1
+ group by first_name, last_name
+ order by first_name
+ fetch first 3 rows with ties
+)
+select * from temp_table
+order by first_name, last_name;
+
+with temp_table as (
+ select first_name, last_name
+ from t1
+ group by first_name, last_name
+ order by first_name
+ fetch first 3 rows with ties
+)
+select * from temp_table
+order by last_name
+fetch first 3 rows with ties;
+
+--sorted_result
+with temp_table as (
+ select first_name, last_name
+ from t1
+ group by first_name, last_name
+ order by first_name
+ fetch first 3 rows with ties
+)
+select * from temp_table
+order by first_name
+fetch first 3 rows with ties;
+
+--sorted_result
+with temp_table as (
+ select first_name, last_name
+ from t1
+ group by first_name, last_name
+ order by first_name
+ fetch first 3 rows with ties
+)
+select * from temp_table
+order by first_name
+offset 1 rows
+fetch first 2 rows with ties;
+
+
+select first_name, row_number() over () rn
+from t1
+order by rn
+offset 1 rows
+fetch first 2 rows with ties;
+
+select first_name, row_number() over () rn
+from t1
+order by rn desc
+offset 1 rows
+fetch first 2 rows with ties;
+
+select first_name, score, rank() over (ORDER BY score)
+from t1
+order by rank() over (ORDER BY score)
+fetch first 3 rows with ties;
+
+select first_name, score, rank() over (ORDER BY score)
+from t1
+order by rank() over (ORDER BY score)
+offset 1 rows
+fetch first 2 rows with ties;
+
+select first_name, score, rank() over (ORDER BY score)
+from t1
+order by rank() over (ORDER BY score)
+fetch first 6 rows with ties;
+
+
+--echo #
+--echo # Test nulls.
+--echo #
+create table t2 (id int, location varchar(100), time datetime, value int, fk int);
+
+insert into t2 values (1, 'home', '2020-01-01 10:00', 10, 1);
+insert into t2 values (2, 'home', '2020-01-01 11:00', 11, 2);
+insert into t2 values (3, 'home', '2020-01-01 12:00', 12, 3);
+insert into t2 values (4, 'home', '2020-01-01 13:00', 13, 3);
+insert into t2 values (5, 'home', '2020-01-01 14:00', 13, 3);
+insert into t2 values (6, 'home', '2020-01-01 15:00', 13, 2);
+insert into t2 values (7, 'home', '2020-01-01 16:00', 13, 6);
+insert into t2 values (8, 'outside', '2020-01-01 17:00', 17, 6);
+insert into t2 values (9, 'outside', '2020-01-01 18:00', 17, 6);
+insert into t2 values (10, 'outside', '2020-01-01 19:00', 17, 8);
+insert into t2 values (11, 'outside', '2020-01-01 20:00', 16, 7);
+insert into t2 values (12, 'outside', '2020-01-01 21:00', 16, 7);
+
+--sorted_result
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location;
+
+--sorted_result
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+fetch first 1 row with ties;
+
+--sorted_result
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+fetch first 2 row with ties;
+
+--sorted_result
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+fetch first 3 row with ties;
+
+--sorted_result
+select *
+from t1 left join t2 on t1.id = t2.fk
+order by t2.location
+offset 2 rows
+fetch first 1 row with ties;
+
+
+--echo #
+--echo # Test union-like operator with multiple fetch first clauses.
+--echo #
+select * from t1 order by 1 fetch first 3 rows with ties;
+select * from t1 order by first_name desc fetch first 3 rows with ties;
+
+--sorted_result
+(select * from t1 order by 1 fetch first 3 rows with ties)
+intersect
+(select * from t1 order by first_name desc fetch first 3 rows with ties)
+order by first_name
+fetch first 1 row with ties;
+
+--sorted_result
+(select * from t1 order by 1 fetch first 3 rows with ties)
+except
+(select * from t1 order by first_name desc fetch first 3 rows with ties)
+order by first_name
+fetch first 1 row with ties;
+
+--sorted_result
+(select * from t1 order by 1 fetch first 3 rows with ties)
+except
+(select * from t1 order by first_name desc fetch first 3 rows with ties)
+order by first_name
+offset 1 rows
+fetch first 1 row with ties;
+
+--sorted_result
+select sum(score)
+from t1
+order by 1
+fetch first 2 rows with ties;
+
+--sorted_result
+select sum(score)
+from t1
+group by id
+order by 1
+fetch first 2 rows with ties;
+
+drop table t1;
+drop table t2;
+
+--echo #
+--echo # Test SQL_CALC_FOUND_ROWS
+--echo #
+create table t1 (a int, b int, index (a,b));
+insert into t1 values (1,1), (1,2), (1,3), (2,1), (2,2), (3,1);
+
+select SQL_CALC_FOUND_ROWS a, b, count(*)
+from t1
+group by a, b
+order by a
+fetch first 1 rows with ties;
+SELECT FOUND_ROWS();
+
+--sorted_result
+select SQL_CALC_FOUND_ROWS a, b
+from t1
+order by a
+fetch first 1 rows with ties;
+SELECT FOUND_ROWS();
+
+--echo #
+--echo # Test index read optimization with ORDER BY as sub part of GROUP BY
+--echo #
+explain select a, b, count(*)
+from t1
+group by a, b
+order by a;
+
+explain select a, b, count(*)
+from t1
+group by a, b
+order by a
+fetch first 1 rows with ties;
+
+--echo #
+--echo # Test FETCH ... WITH TIES / ONLY with prepared statements
+--echo #
+
+prepare s from "select a, b from t1 order by a fetch first ? rows with ties";
+
+set @a='qwe';
+execute s using @a;
+
+set @a=-1;
+--error ER_WRONG_ARGUMENTS
+execute s using @a;
+
+prepare s2 from "select a, b from t1 order by a offset ? rows fetch first ? rows with ties";
+set @offset=1;
+set @limit_count= 2;
+execute s2 using @offset, @limit_count;
+
+execute s2 using @offset, 3;
+
+--error ER_WRONG_ARGUMENTS
+execute s2 using -1, 3;
+
+--echo #
+--echo # Test with ties with a constant order by.
+--echo #
+select a, b
+from t1
+order by 'x'
+fetch first 2 rows with ties;
+
+select b, sum(a)
+from t1
+group by b
+order by 'x', 'y', 'z'
+fetch first 2 rows with ties;
+
+--echo #
+--echo # Test with ties when group by is used and order by gets eliminated.
+--echo #
+--sorted_result
+select b, sum(a)
+from t1
+group by b
+order by 'x', 'y', 'z'
+fetch first 2 rows with ties;
+
+--echo #
+--echo # Test an ill formed SELECT using MySQL/MariaDBs group by extension
+--echo # of not requiring all non-aggregate fields to be part of group
+--echo # by.
+--echo #
+--sorted_result
+select b, a, sum(a)
+from t1
+group by a
+order by b, 'x', 'y', 'z'
+fetch first 2 rows with ties;
+
+delete from t1;
+insert into t1 values (1,1), (1,2), (1,3), (2,1), (2,2), (3,2), (3, 3);
+
+--sorted_result
+select b, a, sum(a)
+from t1
+group by a
+order by b, 'x', 'y', 'z'
+fetch first 1 rows with ties;
+
+--sorted_result
+select b, a, sum(a)
+from t1
+group by a
+order by 'x', b, 'x', 'y', 'z'
+fetch first 1 rows with ties;
+
+--sorted_result
+select b, a, sum(a)
+from t1
+group by a
+order by 'x', 'y', b
+fetch first 1 rows with ties;
+
+
+--echo #
+--echo # Test with ties when order by a const column is used.
+--echo #
+select a, b
+from t1
+order by a, 'a'
+fetch first 2 rows with ties;
+
+--echo #
+--echo # Order by aggregates.
+--echo #
+--sorted_result
+select a, b, sum(a)
+from t1
+group by a, b
+order by sum(a)
+fetch first 1 rows with ties;
+
+--echo # Test different sum function in order by, not present in select list.
+--sorted_result
+select a, b, sum(a)
+from t1
+group by a, b
+order by sum(b)
+fetch first 1 rows with ties;
+
+--echo # Test aggregates with constant columns in order by.
+--sorted_result
+select a, b, sum(a)
+from t1
+group by a, b
+order by a
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, 'x'
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, b
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, b
+fetch first 2 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by a, b, 'x'
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, 'x', b
+order by a, b, 'x'
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by 'x', a, b
+order by a, b, 'x'
+fetch first 1 rows with ties;
+
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by 'x', a, 'x', b, 't', b
+fetch first 1 rows with ties;
+
+--sorted_result
+select a, b, sum(a)
+from t1
+group by a, b
+order by b, 't', b
+fetch first 1 rows with ties;
+
+--echo #
+--echo # Test with subqueries in order by
+--echo #
+select a, b, sum(a)
+from t1
+group by a, b
+order by (select 1)
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by (select 1), a
+fetch first 1 rows with ties;
+
+select a, b, sum(a)
+from t1
+group by a, b
+order by (select 1), a
+fetch first 1 rows with ties;
+
+drop table t1;
+
+--echo #
+--echo # MDEV-25441
+--echo # WITH TIES is not respected with SQL_BUFFER_RESULT and constant in ORDER BY
+--echo #
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+
+explain SELECT SQL_BUFFER_RESULT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
+SELECT SQL_BUFFER_RESULT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
+SELECT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
+
+drop table t1;
+
+--echo #
+--echo # MDEV-25481: Memory leak upon query WITH TIES involving a blob
+--echo #
+CREATE TABLE t (a TEXT);
+INSERT INTO t VALUES ('foo'),('bar');
+SELECT a FROM t ORDER BY a FETCH FIRST 2 ROWS WITH TIES;
+
+# Cleanup
+DROP TABLE t;
diff --git a/mysql-test/main/flush-innodb.result b/mysql-test/main/flush-innodb.result
index 21e5bda7785..2c886e4f9fc 100644
--- a/mysql-test/main/flush-innodb.result
+++ b/mysql-test/main/flush-innodb.result
@@ -60,7 +60,7 @@ DROP TABLE export;
CREATE VIEW v1 AS SELECT 1;
CREATE TEMPORARY TABLE t1 (a INT);
FLUSH TABLES v1 FOR EXPORT;
-ERROR HY000: 'test.v1' is not of type 'BASE TABLE'
+UNLOCK TABLES;
FLUSH TABLES t1 FOR EXPORT;
ERROR 42S02: Table 'test.t1' doesn't exist
FLUSH TABLES non_existent FOR EXPORT;
diff --git a/mysql-test/main/flush-innodb.test b/mysql-test/main/flush-innodb.test
index bf7b79bb5a3..309ec5de014 100644
--- a/mysql-test/main/flush-innodb.test
+++ b/mysql-test/main/flush-innodb.test
@@ -93,8 +93,8 @@ DROP TABLE export;
CREATE VIEW v1 AS SELECT 1;
CREATE TEMPORARY TABLE t1 (a INT);
---error ER_WRONG_OBJECT
FLUSH TABLES v1 FOR EXPORT;
+UNLOCK TABLES;
--error ER_NO_SUCH_TABLE
FLUSH TABLES t1 FOR EXPORT;
--error ER_NO_SUCH_TABLE
diff --git a/mysql-test/main/flush.result b/mysql-test/main/flush.result
index 39e0b9432fe..584e79e72db 100644
--- a/mysql-test/main/flush.result
+++ b/mysql-test/main/flush.result
@@ -295,16 +295,16 @@ create view v1 as select 1;
create view v2 as select * from t1;
create view v3 as select * from v2;
flush table v1, v2, v3 with read lock;
-ERROR HY000: 'test.v1' is not of type 'BASE TABLE'
+unlock tables;
flush table v1 with read lock;
-ERROR HY000: 'test.v1' is not of type 'BASE TABLE'
+unlock tables;
flush table v2 with read lock;
-ERROR HY000: 'test.v2' is not of type 'BASE TABLE'
+unlock tables;
flush table v3 with read lock;
-ERROR HY000: 'test.v3' is not of type 'BASE TABLE'
+unlock tables;
create temporary table v1 (a int);
flush table v1 with read lock;
-ERROR HY000: 'test.v1' is not of type 'BASE TABLE'
+unlock tables;
drop view v1;
create table v1 (a int);
flush table v1 with read lock;
@@ -556,9 +556,107 @@ UNLOCK TABLES;
DROP VIEW v1;
DROP TABLE t1;
#
+# MDEV-15888 Implement FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK for views.
+#
+create table t1 (a int);
+insert into t1 values (1), (2), (3);
+create view v1 as select * from t1;
+create view v2 as select * from v1;
+flush table v1 with read lock;
+connect con1, localhost, root;
+insert into v1 values (4);
+connection default;
+# Wait until INSERT starts to wait for FTWRL to go away.
+select * from t1;
+a
+1
+2
+3
+unlock tables;
+connection con1;
+connection default;
+select * from t1;
+a
+1
+2
+3
+4
+flush table v2 with read lock;
+connection con1;
+insert into t1 values (5);
+connection default;
+# Wait until INSERT starts to wait for FTWRL to go away.
+select * from t1;
+a
+1
+2
+3
+4
+unlock tables;
+connection con1;
+connection default;
+select * from t1;
+a
+1
+2
+3
+4
+5
+drop view v1, v2;
+drop table t1;
+disconnect con1;
+#
+# MDEV-25837 Assertion `thd->locked_tables_mode == LTM_NONE' failed in Locked_tables_list::init_locked_tables.
+#
+CREATE FUNCTION f() RETURNS INTEGER RETURN 1;
+CREATE TABLE t (a INT);
+CREATE VIEW v AS SELECT 2 FROM t WHERE f() < 3;
+FLUSH TABLE v WITH READ LOCK;
+UNLOCK TABLES;
+DROP VIEW v;
+DROP FUNCTION f;
+DROP TABLE t;
+#
# Test FLUSH THREADS
#
+set @save_thread_cache_size=@@global.thread_cache_size;
+set @@global.thread_cache_size=0;
flush threads;
show status like "Threads_cached";
Variable_name Value
Threads_cached 0
+set @@global.thread_cache_size=@save_thread_cache_size;
+#
+# MDEV-25906: SIGSEGV in flush_tables_with_read_lock on FTWRL or FTFE | SIGSEGV in ha_maria::extra
+#
+CREATE VIEW v0 AS SELECT 1;
+CREATE VIEW v1 AS SELECT 1 FROM (SELECT 1) AS d;
+CREATE VIEW v2 AS SELECT * FROM v1;
+FLUSH TABLE v0 WITH READ LOCK;
+DROP VIEW v0;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+UNLOCK TABLES;
+FLUSH TABLE v1 WITH READ LOCK;
+DROP VIEW v1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+UNLOCK TABLES;
+FLUSH TABLE v2 WITH READ LOCK;
+DROP VIEW v2;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+UNLOCK TABLES;
+FLUSH TABLE v0 FOR EXPORT;
+DROP VIEW v0;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+UNLOCK TABLES;
+FLUSH TABLE v1 FOR EXPORT;
+DROP VIEW v1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+UNLOCK TABLES;
+FLUSH TABLE v2 FOR EXPORT;
+DROP VIEW v2;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+UNLOCK TABLES;
+DROP VIEW v2, v1, v0;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/flush.test b/mysql-test/main/flush.test
index 6d76196bf54..d31c7591cbf 100644
--- a/mysql-test/main/flush.test
+++ b/mysql-test/main/flush.test
@@ -377,17 +377,17 @@ create view v1 as select 1;
create view v2 as select * from t1;
create view v3 as select * from v2;
---error ER_WRONG_OBJECT
flush table v1, v2, v3 with read lock;
---error ER_WRONG_OBJECT
+unlock tables;
flush table v1 with read lock;
---error ER_WRONG_OBJECT
+unlock tables;
flush table v2 with read lock;
---error ER_WRONG_OBJECT
+unlock tables;
flush table v3 with read lock;
+unlock tables;
create temporary table v1 (a int);
---error ER_WRONG_OBJECT
flush table v1 with read lock;
+unlock tables;
drop view v1;
create table v1 (a int);
flush table v1 with read lock;
@@ -670,8 +670,116 @@ DROP VIEW v1;
DROP TABLE t1;
--echo #
+--echo # MDEV-15888 Implement FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK for views.
+--echo #
+
+create table t1 (a int);
+insert into t1 values (1), (2), (3);
+create view v1 as select * from t1;
+create view v2 as select * from v1;
+
+flush table v1 with read lock;
+connect(con1, localhost, root);
+--send insert into v1 values (4)
+--sleep 1
+connection default;
+--echo # Wait until INSERT starts to wait for FTWRL to go away.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table metadata lock"
+ and info = "insert into v1 values (4)";
+--source include/wait_condition.inc
+select * from t1;
+unlock tables;
+
+connection con1;
+reap;
+
+connection default;
+select * from t1;
+
+flush table v2 with read lock;
+connection con1;
+--send insert into t1 values (5)
+--sleep 1
+connection default;
+--echo # Wait until INSERT starts to wait for FTWRL to go away.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table metadata lock"
+ and info = "insert into t1 values (5)";
+--source include/wait_condition.inc
+select * from t1;
+unlock tables;
+
+connection con1;
+reap;
+
+connection default;
+select * from t1;
+
+drop view v1, v2;
+drop table t1;
+disconnect con1;
+
+--echo #
+--echo # MDEV-25837 Assertion `thd->locked_tables_mode == LTM_NONE' failed in Locked_tables_list::init_locked_tables.
+--echo #
+
+CREATE FUNCTION f() RETURNS INTEGER RETURN 1;
+CREATE TABLE t (a INT);
+CREATE VIEW v AS SELECT 2 FROM t WHERE f() < 3;
+FLUSH TABLE v WITH READ LOCK;
+
+UNLOCK TABLES;
+DROP VIEW v;
+DROP FUNCTION f;
+DROP TABLE t;
+
+--echo #
--echo # Test FLUSH THREADS
--echo #
+set @save_thread_cache_size=@@global.thread_cache_size;
+set @@global.thread_cache_size=0;
flush threads;
show status like "Threads_cached";
+set @@global.thread_cache_size=@save_thread_cache_size;
+
+--echo #
+--echo # MDEV-25906: SIGSEGV in flush_tables_with_read_lock on FTWRL or FTFE | SIGSEGV in ha_maria::extra
+--echo #
+CREATE VIEW v0 AS SELECT 1;
+CREATE VIEW v1 AS SELECT 1 FROM (SELECT 1) AS d;
+CREATE VIEW v2 AS SELECT * FROM v1;
+
+FLUSH TABLE v0 WITH READ LOCK;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+DROP VIEW v0;
+UNLOCK TABLES;
+FLUSH TABLE v1 WITH READ LOCK;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+DROP VIEW v1;
+UNLOCK TABLES;
+FLUSH TABLE v2 WITH READ LOCK;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+DROP VIEW v2;
+UNLOCK TABLES;
+
+FLUSH TABLE v0 FOR EXPORT;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+DROP VIEW v0;
+UNLOCK TABLES;
+FLUSH TABLE v1 FOR EXPORT;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+DROP VIEW v1;
+UNLOCK TABLES;
+FLUSH TABLE v2 FOR EXPORT;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
+DROP VIEW v2;
+UNLOCK TABLES;
+DROP VIEW v2, v1, v0;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/flush_notembedded.result b/mysql-test/main/flush_notembedded.result
new file mode 100644
index 00000000000..f4c83ff2361
--- /dev/null
+++ b/mysql-test/main/flush_notembedded.result
@@ -0,0 +1,68 @@
+#
+# MDEV-15888 Implement FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK for views.
+#
+#
+# privilege checks with views
+#
+create database mysqltest1;
+create table mysqltest1.t1 (a int);
+create user u1@localhost;
+grant reload on *.* to u1@localhost;
+grant select on mysqltest1.* to u1@localhost;
+connect u1,localhost,u1;
+flush tables mysqltest1.t1 for export;
+ERROR 42000: Access denied for user 'u1'@'localhost' to database 'mysqltest1'
+create view v as select * from mysqltest1.t1;
+create view v2 as select * from v;
+create view v3 as select * from (select * from mysqltest1.t1) x;
+flush tables v for export;
+ERROR 42000: Access denied for user 'u1'@'localhost' to database 'mysqltest1'
+flush tables v2 for export;
+ERROR 42000: Access denied for user 'u1'@'localhost' to database 'mysqltest1'
+flush tables v3 for export;
+ERROR 42000: Access denied for user 'u1'@'localhost' to database 'mysqltest1'
+disconnect u1;
+connection default;
+drop database mysqltest1;
+drop view v, v2, v3;
+drop user u1@localhost;
+#
+# MDEV-25906: SIGSEGV in flush_tables_with_read_lock on FTWRL or FTFE | SIGSEGV in ha_maria::extra
+#
+CREATE VIEW v0 AS SELECT * FROM information_schema.columns;
+CREATE VIEW v1 AS SELECT * FROM information_schema.collations;
+CREATE VIEW v2 AS SELECT * FROM performance_schema.accounts;
+#
+# first try to flush tables directly
+#
+FLUSH TABLE information_schema.collations WITH READ LOCK;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE performance_schema.accounts WITH READ LOCK;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts'
+FLUSH TABLE information_schema.colums WITH READ LOCK;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE information_schema.collations FOR EXPORT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE performance_schema.accounts FOR EXPORT;
+ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts'
+FLUSH TABLE information_schema.colums FOR EXPORT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+#
+# and now via views
+#
+FLUSH TABLE v0 WITH READ LOCK;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE v1 WITH READ LOCK;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE v2 WITH READ LOCK;
+ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+FLUSH TABLE v0 FOR EXPORT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE v1 FOR EXPORT;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+FLUSH TABLE v2 FOR EXPORT;
+ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+DROP VIEW v0, v1, v2;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/flush_notembedded.test b/mysql-test/main/flush_notembedded.test
new file mode 100644
index 00000000000..af3b8a00c55
--- /dev/null
+++ b/mysql-test/main/flush_notembedded.test
@@ -0,0 +1,66 @@
+source include/not_embedded.inc;
+source include/have_perfschema.inc;
+
+--echo #
+--echo # MDEV-15888 Implement FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK for views.
+--echo #
+
+--echo #
+--echo # privilege checks with views
+--echo #
+create database mysqltest1;
+create table mysqltest1.t1 (a int);
+create user u1@localhost;
+grant reload on *.* to u1@localhost;
+grant select on mysqltest1.* to u1@localhost;
+connect u1,localhost,u1;
+error ER_DBACCESS_DENIED_ERROR;
+flush tables mysqltest1.t1 for export;
+create view v as select * from mysqltest1.t1;
+create view v2 as select * from v;
+create view v3 as select * from (select * from mysqltest1.t1) x;
+error ER_DBACCESS_DENIED_ERROR;
+flush tables v for export;
+error ER_DBACCESS_DENIED_ERROR;
+flush tables v2 for export;
+error ER_DBACCESS_DENIED_ERROR;
+flush tables v3 for export;
+disconnect u1;
+connection default;
+drop database mysqltest1;
+drop view v, v2, v3;
+drop user u1@localhost;
+
+--echo #
+--echo # MDEV-25906: SIGSEGV in flush_tables_with_read_lock on FTWRL or FTFE | SIGSEGV in ha_maria::extra
+--echo #
+CREATE VIEW v0 AS SELECT * FROM information_schema.columns; # Aria
+CREATE VIEW v1 AS SELECT * FROM information_schema.collations; # Heap
+CREATE VIEW v2 AS SELECT * FROM performance_schema.accounts;
+
+--disable_abort_on_error
+--echo #
+--echo # first try to flush tables directly
+--echo #
+FLUSH TABLE information_schema.collations WITH READ LOCK;
+FLUSH TABLE performance_schema.accounts WITH READ LOCK;
+FLUSH TABLE information_schema.colums WITH READ LOCK;
+FLUSH TABLE information_schema.collations FOR EXPORT;
+FLUSH TABLE performance_schema.accounts FOR EXPORT;
+FLUSH TABLE information_schema.colums FOR EXPORT;
+
+--echo #
+--echo # and now via views
+--echo #
+FLUSH TABLE v0 WITH READ LOCK;
+FLUSH TABLE v1 WITH READ LOCK;
+FLUSH TABLE v2 WITH READ LOCK;
+FLUSH TABLE v0 FOR EXPORT;
+FLUSH TABLE v1 FOR EXPORT;
+FLUSH TABLE v2 FOR EXPORT;
+--enable_abort_on_error
+DROP VIEW v0, v1, v2;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/flush_read_lock.result b/mysql-test/main/flush_read_lock.result
index 62a94c38124..948b4fb062b 100644
--- a/mysql-test/main/flush_read_lock.result
+++ b/mysql-test/main/flush_read_lock.result
@@ -1096,6 +1096,14 @@ Success: FTWRL is blocked when 'select f2_base()' is active in another connectio
Success: Was able to run 'select f2_temp()' under FTWRL.
Success: Was able to run 'select f2_temp()' with FTWRL active in another connection.
Success: Was able to run FTWRL while 'select f2_temp()' was active in another connection.
+# 30.f) SELECT ... FOR UPDATE SKIP LOCKED is incompatible with FTWRL.
+Success: Was not able to run 'select count(*) from t1_base for update skip locked' under FTWRL.
+Success: 'select count(*) from t1_base for update skip locked' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'select count(*) from t1_base for update skip locked' is active in another connection.
+# 30.g) SELECT ... LOCK IN SHARE MODE SKIP LOCKED is compatible with FTWRL.
+Success: Was able to run 'select count(*) from t1_base lock in share mode skip locked' under FTWRL.
+Success: Was able to run 'select count(*) from t1_base lock in share mode skip locked' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'select count(*) from t1_base lock in share mode skip locked' was active in another connection.
#
# 31) Compatibility of SET statement with FTWRL depends on its
# expression and on whether it is a special SET statement.
@@ -1372,6 +1380,7 @@ unlock tables;
connection default;
# Reap XA COMMIT.
delete from t3_trans;
+INSERT INTO t3_trans VALUES(100);
#
# Check that XA COMMIT / ROLLBACK for prepared transaction from a
# disconnected session is blocked by active FTWRL in another connection.
diff --git a/mysql-test/main/flush_read_lock.test b/mysql-test/main/flush_read_lock.test
index d73820425d2..f24f6e389f1 100644
--- a/mysql-test/main/flush_read_lock.test
+++ b/mysql-test/main/flush_read_lock.test
@@ -1323,6 +1323,16 @@ let $statement= select f2_temp();
let $cleanup_stmt= delete from t1_temp limit 1;
--source include/check_ftwrl_compatible.inc
+--echo # 30.f) SELECT ... FOR UPDATE SKIP LOCKED is incompatible with FTWRL.
+let $statement= select count(*) from t1_base for update skip locked;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 30.g) SELECT ... LOCK IN SHARE MODE SKIP LOCKED is compatible with FTWRL.
+let $statement= select count(*) from t1_base lock in share mode skip locked;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
--echo #
--echo # 31) Compatibility of SET statement with FTWRL depends on its
@@ -1679,6 +1689,9 @@ connection default;
--echo # Reap XA COMMIT.
--reap
delete from t3_trans;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t3_trans VALUES(100);
--echo #
--echo # Check that XA COMMIT / ROLLBACK for prepared transaction from a
--echo # disconnected session is blocked by active FTWRL in another connection.
diff --git a/mysql-test/main/frm_bad_row_type-7333.result b/mysql-test/main/frm_bad_row_type-7333.result
index 48404b1ba97..f1ce23bc457 100644
--- a/mysql-test/main/frm_bad_row_type-7333.result
+++ b/mysql-test/main/frm_bad_row_type-7333.result
@@ -7,8 +7,8 @@ bad_row_type CREATE TABLE `bad_row_type` (
`category_id` int(11) NOT NULL AUTO_INCREMENT,
`category_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`category_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 /* `compression`='tokudb_zlib' */
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 /* `compression`='tokudb_zlib' */
show table status like 'bad_row_type';
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 Max_index_length Temporary
-bad_row_type MyISAM 10 Dynamic 0 0 0 281474976710655 1024 0 1 x x NULL utf8_general_ci NULL `compression`='tokudb_zlib' x N
+bad_row_type MyISAM 10 Dynamic 0 0 0 281474976710655 1024 0 1 x x NULL utf8mb3_general_ci NULL `compression`='tokudb_zlib' x N
drop table bad_row_type;
diff --git a/mysql-test/main/fulltext.result b/mysql-test/main/fulltext.result
index dbc08144e30..6f294eb4631 100644
--- a/mysql-test/main/fulltext.result
+++ b/mysql-test/main/fulltext.result
@@ -6,9 +6,9 @@ INSERT INTO t1 VALUES('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');
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 NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Only MyISAM tables support collections
@@ -242,9 +242,9 @@ 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 NULL NULL NULL YES BTREE
-t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 1 tig 1 ticket A NULL NULL NULL YES BTREE NO
+t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT NO
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -362,10 +362,10 @@ INSERT t1 VALUES ("üÔÏ ÍÙ - ÏÐÉÌËÉ"),("ïÔÌÅÚØ, ÇÎÉÄÁ!"),
("îÅ ×ÌÅÚÁÊ, ÕÂØÅÔ!"),("É ÂÕÄÅÔ ÐÒÁ×!");
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('ïðéìëé');
t collation(t)
-üÔÏ ÍÙ - ÏÐÉÌËÉ utf8_general_ci
+üÔÏ ÍÙ - ÏÐÉÌËÉ utf8mb3_general_ci
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('ðÒá*' IN BOOLEAN MODE);
t collation(t)
-É ÂÕÄÅÔ ÐÒÁ×! utf8_general_ci
+É ÂÕÄÅÔ ÐÒÁ×! utf8mb3_general_ci
SELECT * FROM t1 WHERE MATCH t AGAINST ('ÜÔÏ' IN BOOLEAN MODE);
t
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
@@ -373,12 +373,12 @@ t collation(t)
SET NAMES latin1;
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
t collation(t)
-aus Osnabrück utf8_general_ci
+aus Osnabrück utf8mb3_general_ci
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrueck');
t collation(t)
SELECT t, collation(t),FORMAT(MATCH t AGAINST ('Osnabruck'),6) FROM t1 WHERE MATCH t AGAINST ('Osnabruck');
t collation(t) FORMAT(MATCH t AGAINST ('Osnabruck'),6)
-aus Osnabrück utf8_general_ci 1.591140
+aus Osnabrück utf8mb3_general_ci 1.591140
SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
alter table t1 modify t varchar(200) collate latin1_german2_ci not null;
Warnings:
diff --git a/mysql-test/main/fulltext.test b/mysql-test/main/fulltext.test
index d52f13ab978..c7aeae3fa31 100644
--- a/mysql-test/main/fulltext.test
+++ b/mysql-test/main/fulltext.test
@@ -2,7 +2,7 @@
# Test of fulltext index
#
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
--disable_warnings
diff --git a/mysql-test/main/fulltext2.test b/mysql-test/main/fulltext2.test
index 78c7c859e95..dc7af398bb6 100644
--- a/mysql-test/main/fulltext2.test
+++ b/mysql-test/main/fulltext2.test
@@ -2,7 +2,7 @@
# test of new fulltext search features
#
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
#
diff --git a/mysql-test/main/func_crypt.result b/mysql-test/main/func_crypt.result
index 897a326183d..25f38932c26 100644
--- a/mysql-test/main/func_crypt.result
+++ b/mysql-test/main/func_crypt.result
@@ -230,3 +230,13 @@ a b
hello 12NKz5XM5JeKI
DROP TABLE t1;
# End of 10.2 tests
+#
+# MDEV-25778 Overrun buffer in to_string_native()
+#
+CREATE TABLE t1 (a DECIMAL(15,11) ZEROFILL);
+INSERT INTO t1 (a) VALUES (0.1),(0.2);
+SELECT length(ENCRYPT(a)) AS f, COUNT(*) FROM t1 GROUP BY f;
+f COUNT(*)
+13 2
+DROP TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/main/func_crypt.test b/mysql-test/main/func_crypt.test
index 907376049d8..cf6a6371e50 100644
--- a/mysql-test/main/func_crypt.test
+++ b/mysql-test/main/func_crypt.test
@@ -149,3 +149,14 @@ SELECT * FROM t1;
DROP TABLE t1;
--echo # End of 10.2 tests
+
+--echo #
+--echo # MDEV-25778 Overrun buffer in to_string_native()
+--echo #
+
+CREATE TABLE t1 (a DECIMAL(15,11) ZEROFILL);
+INSERT INTO t1 (a) VALUES (0.1),(0.2);
+SELECT length(ENCRYPT(a)) AS f, COUNT(*) FROM t1 GROUP BY f;
+DROP TABLE t1;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/main/func_group.test b/mysql-test/main/func_group.test
index a28b39c28f6..2d26861c710 100644
--- a/mysql-test/main/func_group.test
+++ b/mysql-test/main/func_group.test
@@ -1,6 +1,10 @@
#
# simple test of all group functions
#
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Test temporarily disabled for ps-protocol
+}
--disable_warnings
drop table if exists t1,t2,t3,t4,t5,t6;
@@ -1070,7 +1074,9 @@ DROP TABLE t1;
--echo #
--echo # Bug#43668: Wrong comparison and MIN/MAX for YEAR(2)
--echo #
+--enable_prepare_warnings
create table t1 (f1 year(2), f2 year(4), f3 date, f4 datetime);
+--disable_prepare_warnings
insert into t1 values
(98,1998,19980101,"1998-01-01 00:00:00"),
(00,2000,20000101,"2000-01-01 00:00:01"),
diff --git a/mysql-test/main/func_hybrid_type.result b/mysql-test/main/func_hybrid_type.result
index 4be42cee523..16bd0359da2 100644
--- a/mysql-test/main/func_hybrid_type.result
+++ b/mysql-test/main/func_hybrid_type.result
@@ -3145,8 +3145,8 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
- `c2` varchar(255) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT
MAX(COALESCE(c1)) AS c1,
@@ -3196,9 +3196,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
- `c2` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
- `c3` text CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` text CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT
MAX(COALESCE(c1)) AS c1,
@@ -3240,7 +3240,7 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT
MAX(COALESCE(c1)) AS c1
@@ -3315,8 +3315,8 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
- `c2` varchar(255) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT
@c1:=c1 AS c1,
@@ -3364,9 +3364,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
- `c2` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
- `c3` text CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` text CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT
@c:=c1 AS c1,
@@ -3406,7 +3406,7 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c1` varchar(1) CHARACTER SET utf8 DEFAULT NULL
+ `c1` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT
@c:=c1 AS c1
@@ -3492,8 +3492,8 @@ COALESCE(_latin1'aaa',_utf8 0xC39F) AS c2;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(3) CHARACTER SET utf8 NOT NULL,
- `c2` varchar(3) CHARACTER SET utf8 NOT NULL
+ `c1` varchar(3) CHARACTER SET utf8mb3 NOT NULL,
+ `c2` varchar(3) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t1;
c1 c2
diff --git a/mysql-test/main/func_json.result b/mysql-test/main/func_json.result
index 83e6bde8e5b..bf6b2efaabc 100644
--- a/mysql-test/main/func_json.result
+++ b/mysql-test/main/func_json.result
@@ -1400,9 +1400,9 @@ SELECT t1.id, JSON_ARRAYAGG(JSON_OBJECT('id',t2.id) ORDER BY t2.id) as materials
from t1 LEFT JOIN t2 on t1.id = t2.owner_id
GROUP BY t1.id ORDER BY id;
id materials
-1 ["{\"id\": 1}","{\"id\": 2}"]
-2 ["{\"id\": 3}"]
-3 ["{\"id\": 4}"]
+1 [{"id": 1},{"id": 2}]
+2 [{"id": 3}]
+3 [{"id": 4}]
DROP TABLE t1;
DROP TABLE t2;
#
@@ -1415,5 +1415,16 @@ SELECT json_object('a', coalesce(json_object('b', 'c')));
json_object('a', coalesce(json_object('b', 'c')))
{"a": {"b": "c"}}
#
+# MDEV-26054 Server crashes in Item_func_json_arrayagg::get_str_from_field
+#
+CREATE TABLE t (a VARCHAR(8));
+CREATE VIEW v AS SELECT * FROM t;
+INSERT INTO t VALUES ('foo'),('bar');
+SELECT JSON_ARRAYAGG(a) AS f FROM v;
+f
+["foo","bar"]
+DROP VIEW v;
+DROP TABLE t;
+#
# End of 10.5 tests
#
diff --git a/mysql-test/main/func_json.test b/mysql-test/main/func_json.test
index 91e283829df..0b1fce3a509 100644
--- a/mysql-test/main/func_json.test
+++ b/mysql-test/main/func_json.test
@@ -903,6 +903,17 @@ SELECT json_object('a', coalesce(json_object('b', 'c')));
--echo #
+--echo # MDEV-26054 Server crashes in Item_func_json_arrayagg::get_str_from_field
+--echo #
+
+CREATE TABLE t (a VARCHAR(8));
+CREATE VIEW v AS SELECT * FROM t;
+INSERT INTO t VALUES ('foo'),('bar');
+SELECT JSON_ARRAYAGG(a) AS f FROM v;
+DROP VIEW v;
+DROP TABLE t;
+
+--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/func_json_notembedded.result b/mysql-test/main/func_json_notembedded.result
new file mode 100644
index 00000000000..756d2e85f7c
--- /dev/null
+++ b/mysql-test/main/func_json_notembedded.result
@@ -0,0 +1,42 @@
+set global max_allowed_packet=1073741824;
+connect u,localhost,root;
+#
+# MDEV-24909 JSON functions don't respect KILL QUERY / max_statement_time limit
+#
+set group_concat_max_len= 4294967295;
+set @obj=concat_ws('','{', repeat('"a":"b",', 1250000/2), '"c":"d"}');
+set @arr=concat_ws('','[', repeat('1234567,', 1250000/2), '2345678]');
+select length(@obj), length(@arr);
+length(@obj) length(@arr)
+5000009 5000009
+set max_statement_time=0.0001;
+select json_array_append(@arr, '$[0]', 1);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_array_insert(@arr, '$[0]', 1);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_insert(@obj, '$.meta', 1);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_compact(@arr);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_detailed(@arr);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_loose(@arr);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_merge(@obj, @arr);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_merge_patch(@obj, @obj);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_merge_preserve(@obj, @arr);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_remove(@obj,'$.foo');
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_replace(@obj,'$.foo',1);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+select json_set(@arr,'$[1000]',1);
+ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
+disconnect u;
+connection default;
+set global max_allowed_packet=default;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/func_json_notembedded.test b/mysql-test/main/func_json_notembedded.test
new file mode 100644
index 00000000000..b33615060b4
--- /dev/null
+++ b/mysql-test/main/func_json_notembedded.test
@@ -0,0 +1,37 @@
+source include/have_profiling.inc;
+source include/not_embedded.inc;
+
+set global max_allowed_packet=1073741824;
+connect u,localhost,root;
+
+--echo #
+--echo # MDEV-24909 JSON functions don't respect KILL QUERY / max_statement_time limit
+--echo #
+set group_concat_max_len= 4294967295;
+
+set @obj=concat_ws('','{', repeat('"a":"b",', 1250000/2), '"c":"d"}');
+set @arr=concat_ws('','[', repeat('1234567,', 1250000/2), '2345678]');
+select length(@obj), length(@arr);
+
+set max_statement_time=0.0001;
+disable_abort_on_error;
+select json_array_append(@arr, '$[0]', 1);
+select json_array_insert(@arr, '$[0]', 1);
+select json_insert(@obj, '$.meta', 1);
+select json_compact(@arr);
+select json_detailed(@arr);
+select json_loose(@arr);
+select json_merge(@obj, @arr);
+select json_merge_patch(@obj, @obj);
+select json_merge_preserve(@obj, @arr);
+select json_remove(@obj,'$.foo');
+select json_replace(@obj,'$.foo',1);
+select json_set(@arr,'$[1000]',1);
+enable_abort_on_error;
+disconnect u;
+connection default;
+set global max_allowed_packet=default;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/func_misc.result b/mysql-test/main/func_misc.result
index 260fcaa9116..b2c08989854 100644
--- a/mysql-test/main/func_misc.result
+++ b/mysql-test/main/func_misc.result
@@ -23,6 +23,17 @@ hex(inet_aton('127.1.1'))
select length(uuid()), charset(uuid()), length(unhex(replace(uuid(),_utf8'-',_utf8'')));
length(uuid()) charset(uuid()) length(unhex(replace(uuid(),_utf8'-',_utf8'')))
36 latin1 16
+select length(sys_guid()) = length(uuid()) -2;
+length(sys_guid()) = length(uuid()) -2
+0
+select sys_guid() != sys_guid();
+sys_guid() != sys_guid()
+1
+explain extended select uuid() = "", sys_guid() = "";
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select uuid() = '' AS `uuid() = ""`,sys_guid() = '' AS `sys_guid() = ""`
set @a= uuid_short();
set @b= uuid_short();
select @b - @a;
diff --git a/mysql-test/main/func_misc.test b/mysql-test/main/func_misc.test
index a471d224677..56e7a996f94 100644
--- a/mysql-test/main/func_misc.test
+++ b/mysql-test/main/func_misc.test
@@ -19,6 +19,11 @@ select hex(inet_aton('127.1.1'));
select length(uuid()), charset(uuid()), length(unhex(replace(uuid(),_utf8'-',_utf8'')));
+select length(sys_guid()) = length(uuid()) -2;
+select sys_guid() != sys_guid();
+explain extended select uuid() = "", sys_guid() = "";
+
+
# As we can assume we are the only user for the mysqld server, the difference
# between two calls should be -1
set @a= uuid_short();
diff --git a/mysql-test/main/func_regexp_pcre.result b/mysql-test/main/func_regexp_pcre.result
index 3b0688fc70e..4544a1df71c 100644
--- a/mysql-test/main/func_regexp_pcre.result
+++ b/mysql-test/main/func_regexp_pcre.result
@@ -436,7 +436,7 @@ CREATE TABLE t1 AS SELECT REGEXP_REPLACE('abc','b','x');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `REGEXP_REPLACE('abc','b','x')` longtext CHARACTER SET utf8 DEFAULT NULL
+ `REGEXP_REPLACE('abc','b','x')` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
EXPLAIN EXTENDED SELECT REGEXP_REPLACE('abc','b','x');
@@ -739,7 +739,7 @@ CREATE TABLE t1 AS SELECT REGEXP_SUBSTR('abc','b');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `REGEXP_SUBSTR('abc','b')` varchar(3) CHARACTER SET utf8 DEFAULT NULL
+ `REGEXP_SUBSTR('abc','b')` varchar(3) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
EXPLAIN EXTENDED SELECT REGEXP_SUBSTR('abc','b');
diff --git a/mysql-test/main/func_str.result b/mysql-test/main/func_str.result
index cef6525cd76..799fd1933dd 100644
--- a/mysql-test/main/func_str.result
+++ b/mysql-test/main/func_str.result
@@ -2461,12 +2461,12 @@ SELECT CHAR(0xff,0x8f USING utf8);
CHAR(0xff,0x8f USING utf8)
NULL
Warnings:
-Warning 1300 Invalid utf8 character string: 'FF8F'
+Warning 1300 Invalid utf8mb3 character string: 'FF8F'
SELECT CHAR(0xff,0x8f USING utf8) IS NULL;
CHAR(0xff,0x8f USING utf8) IS NULL
1
Warnings:
-Warning 1300 Invalid utf8 character string: 'FF8F'
+Warning 1300 Invalid utf8mb3 character string: 'FF8F'
SET SQL_MODE=@orig_sql_mode;
select substring('abc', cast(2 as unsigned int));
substring('abc', cast(2 as unsigned int))
@@ -5096,10 +5096,10 @@ create database mysqltest1 CHARACTER SET = 'utf8' COLLATE = 'utf8_bin';
use mysqltest1;
select charset(chr(65)), length(chr(65)),char_length(chr(65));
charset(chr(65)) length(chr(65)) char_length(chr(65))
-utf8 1 1
+utf8mb3 1 1
select charset(chr(14844588)), length(chr(14844588)),char_length(chr(14844588));
charset(chr(14844588)) length(chr(14844588)) char_length(chr(14844588))
-utf8 3 1
+utf8mb3 3 1
drop database mysqltest1;
use test;
#
@@ -5151,9 +5151,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c1` char(0) CHARACTER SET utf8 DEFAULT NULL
+ `cn` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c0` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c1` char(0) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
#
@@ -5169,9 +5169,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c1` char(0) CHARACTER SET utf8 DEFAULT NULL
+ `cn` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c0` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c1` char(0) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
CREATE TABLE t1 (i BIGINT);
@@ -5184,9 +5184,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c1` char(0) CHARACTER SET utf8 DEFAULT NULL
+ `cn` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c0` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c1` char(0) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
CREATE TABLE t1 (i BIGINT);
@@ -5199,9 +5199,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c1` char(0) CHARACTER SET utf8 DEFAULT NULL
+ `cn` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c0` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c1` char(0) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
CREATE TABLE t1 (i BIGINT);
@@ -5214,9 +5214,9 @@ FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `cn` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c0` char(0) CHARACTER SET utf8 DEFAULT NULL,
- `c1` varchar(20) CHARACTER SET utf8 DEFAULT NULL
+ `cn` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c0` char(0) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c1` varchar(20) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT c1 FROM t2;
c1
@@ -5253,7 +5253,7 @@ conv(i,16,2)
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `conv(i,16,2)` varchar(64) CHARACTER SET utf8 DEFAULT NULL
+ `conv(i,16,2)` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1,t2;
#
diff --git a/mysql-test/main/func_system.result b/mysql-test/main/func_system.result
index 688f4a30b50..e435fc61986 100644
--- a/mysql-test/main/func_system.result
+++ b/mysql-test/main/func_system.result
@@ -3,7 +3,7 @@ database()
test
select charset(database());
charset(database())
-utf8
+utf8mb3
select database() = "test";
database() = "test"
1
@@ -24,7 +24,7 @@ user() like _latin1"%@%"
1
select charset(user());
charset(user())
-utf8
+utf8mb3
select version()>="03.23.29";
version()>="03.23.29"
1
@@ -36,7 +36,7 @@ version()>=_latin1"03.23.29"
1
select charset(version());
charset(version())
-utf8
+utf8mb3
explain extended select database(), user();
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
@@ -46,23 +46,23 @@ create table t1 (version char(60)) select database(), user(), version() as 'vers
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `database()` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
- `user()` varchar(141) CHARACTER SET utf8 DEFAULT NULL,
+ `database()` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `user()` varchar(384) CHARACTER SET utf8mb3 DEFAULT NULL,
`version` char(60) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select charset(charset(_utf8'a')), charset(collation(_utf8'a'));
charset(charset(_utf8'a')) charset(collation(_utf8'a'))
-utf8 utf8
+utf8mb3 utf8mb3
select collation(charset(_utf8'a')), collation(collation(_utf8'a'));
collation(charset(_utf8'a')) collation(collation(_utf8'a'))
-utf8_general_ci utf8_general_ci
+utf8mb3_general_ci utf8mb3_general_ci
create table t1 select charset(_utf8'a'), collation(_utf8'a');
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `charset(_utf8'a')` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
- `collation(_utf8'a')` varchar(64) CHARACTER SET utf8 DEFAULT NULL
+ `charset(_utf8'a')` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `collation(_utf8'a')` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select TRUE,FALSE,NULL;
diff --git a/mysql-test/main/func_time.test b/mysql-test/main/func_time.test
index ad2fcf6d68f..2ae79d41694 100644
--- a/mysql-test/main/func_time.test
+++ b/mysql-test/main/func_time.test
@@ -625,8 +625,10 @@ SET GLOBAL log_bin_trust_function_creators = 1;
create table t1 (a timestamp default '2005-05-05 01:01:01',
b timestamp default '2005-05-05 01:01:01');
-delimiter //;
+--disable_warnings
drop function if exists t_slow_sysdate;
+--enable_warnings
+delimiter //;
create function t_slow_sysdate() returns timestamp
begin
do sleep(2);
@@ -2230,6 +2232,7 @@ SET @sav_slow_query_log= @@session.slow_query_log;
SET @@session.slow_query_log= ON;
SELECT current_timestamp(6),fn_sleep_before_now() INTO @ts_cur, @ts_func;
+--enable_prepare_warnings
SELECT a FROM t_ts LIMIT 1 into @ts_func;
SELECT a FROM t_trig LIMIT 1 into @ts_trig;
if (!`SELECT @ts_cur = @ts_func and @ts_func = @ts_trig`)
@@ -2245,6 +2248,8 @@ SET @@session.slow_query_log= OFF;
SELECT current_timestamp(6),fn_sleep_before_now() INTO @ts_cur, @func_ts;
SELECT a FROM t_ts LIMIT 1 into @ts_func;
SELECT a FROM t_trig LIMIT 1 into @ts_trig;
+--disable_prepare_warnings
+
if (!`SELECT @ts_cur = @ts_func and @ts_func = @ts_trig`)
{
SELECT @ts_cur, @ts_func, @ts_trig;
diff --git a/mysql-test/main/get_diagnostics.result b/mysql-test/main/get_diagnostics.result
index 8842df8cd58..b00378d4ee9 100644
--- a/mysql-test/main/get_diagnostics.result
+++ b/mysql-test/main/get_diagnostics.result
@@ -258,12 +258,10 @@ DROP PROCEDURE p1;
# Test GET DIAGNOSTICS runtime
#
-# GET DIAGNOSTICS cannot be the object of a PREPARE statement.
+# GET DIAGNOSTICS can be the object of a PREPARE statement.
PREPARE stmt FROM "GET DIAGNOSTICS CONDITION 1 @var = CLASS_ORIGIN";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
PREPARE stmt FROM "GET DIAGNOSTICS @var = NUMBER";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
# GET DIAGNOSTICS does not clear the diagnostics area.
@@ -776,10 +774,10 @@ Warning 1916 Got overflow when converting '-19999999999999999999' to INT. Value
GET DIAGNOSTICS CONDITION 1 @var1 = MESSAGE_TEXT, @var2 = CLASS_ORIGIN;
SELECT CHARSET(@var1), COLLATION(@var1), COERCIBILITY(@var1);
CHARSET(@var1) COLLATION(@var1) COERCIBILITY(@var1)
-utf8 utf8_general_ci 2
+utf8mb3 utf8mb3_general_ci 2
SELECT CHARSET(@var2), COLLATION(@var2), COERCIBILITY(@var2);
CHARSET(@var2) COLLATION(@var2) COERCIBILITY(@var2)
-utf8 utf8_general_ci 2
+utf8mb3 utf8mb3_general_ci 2
#
# Command statistics
#
diff --git a/mysql-test/main/get_diagnostics.test b/mysql-test/main/get_diagnostics.test
index a5ce30d56eb..3c2b435af7f 100644
--- a/mysql-test/main/get_diagnostics.test
+++ b/mysql-test/main/get_diagnostics.test
@@ -331,12 +331,10 @@ DROP PROCEDURE p1;
--echo #
--echo
---echo # GET DIAGNOSTICS cannot be the object of a PREPARE statement.
+--echo # GET DIAGNOSTICS can be the object of a PREPARE statement.
--echo
---error ER_UNSUPPORTED_PS
PREPARE stmt FROM "GET DIAGNOSTICS CONDITION 1 @var = CLASS_ORIGIN";
---error ER_UNSUPPORTED_PS
PREPARE stmt FROM "GET DIAGNOSTICS @var = NUMBER";
--echo
diff --git a/mysql-test/main/gis.result b/mysql-test/main/gis.result
index 5f0211313cf..f941447a677 100644
--- a/mysql-test/main/gis.result
+++ b/mysql-test/main/gis.result
@@ -1759,7 +1759,7 @@ GEOMETRY_COLUMNS CREATE TEMPORARY TABLE `GEOMETRY_COLUMNS` (
`COORD_DIMENSION` tinyint(2) NOT NULL,
`MAX_PPR` tinyint(2) NOT NULL,
`SRID` smallint(5) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE information_schema.spatial_ref_sys;
Table Create Table
SPATIAL_REF_SYS CREATE TEMPORARY TABLE `SPATIAL_REF_SYS` (
@@ -1767,7 +1767,7 @@ SPATIAL_REF_SYS CREATE TEMPORARY TABLE `SPATIAL_REF_SYS` (
`AUTH_NAME` varchar(512) NOT NULL,
`AUTH_SRID` int(5) NOT NULL,
`SRTEXT` varchar(2048) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
create table t1(g GEOMETRY, pt POINT);
create table t2(g LINESTRING, pl POLYGON);
select * from information_schema.geometry_columns where f_table_schema='test';
diff --git a/mysql-test/main/grant.result b/mysql-test/main/grant.result
index 80fff0e6dff..d8f369ed3e7 100644
--- a/mysql-test/main/grant.result
+++ b/mysql-test/main/grant.result
@@ -687,11 +687,11 @@ mysqltest dummytable ALTER, CREATE, CREATE VIEW, DELETE, DELETE HISTORY, DROP, I
mysqltest dummyview ALTER, CREATE, CREATE VIEW, DELETE, DELETE HISTORY, DROP, INDEX, INSERT, REFERENCES, SELECT, SHOW VIEW, TRIGGER, UPDATE
SHOW FIELDS FROM mysql.tables_priv;
Field Type Null Key Default Extra
-Host char(60) NO PRI
+Host char(255) NO PRI
Db char(64) NO PRI
-User char(80) NO PRI
+User char(128) NO PRI
Table_name char(64) NO PRI
-Grantor char(141) NO MUL
+Grantor varchar(384) NO MUL
Timestamp timestamp NO current_timestamp() on update current_timestamp()
Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') NO
Column_priv set('Select','Insert','Update','References') NO
@@ -1132,7 +1132,7 @@ USE test;
connection default;
disconnect master;
create user longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
CREATE DATABASE mysqltest1;
CREATE TABLE mysqltest1.t1 (
int_field INTEGER UNSIGNED NOT NULL,
@@ -1218,29 +1218,29 @@ DROP USER mysqltest_1@localhost;
DROP DATABASE mysqltest1;
USE test;
GRANT CREATE ON mysqltest.* TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-GRANT CREATE ON mysqltest.* TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+GRANT CREATE ON mysqltest.* TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYa...' is too long for host name (should be no longer than 255)
REVOKE CREATE ON mysqltest.* FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-REVOKE CREATE ON mysqltest.* FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+REVOKE CREATE ON mysqltest.* FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYa...' is too long for host name (should be no longer than 255)
GRANT CREATE ON t1 TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-GRANT CREATE ON t1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+GRANT CREATE ON t1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1...' is too long for host name (should be no longer than 255)
REVOKE CREATE ON t1 FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-REVOKE CREATE ON t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+REVOKE CREATE ON t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1...' is too long for host name (should be no longer than 255)
GRANT EXECUTE ON PROCEDURE p1 TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-GRANT EXECUTE ON PROCEDURE p1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+GRANT EXECUTE ON PROCEDURE p1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1...' is too long for host name (should be no longer than 255)
REVOKE EXECUTE ON PROCEDURE p1 FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1...' is too long for host name (should be no longer than 255)
CREATE USER bug23556@localhost;
CREATE DATABASE bug23556;
GRANT SELECT ON bug23556.* TO bug23556@localhost;
@@ -1713,7 +1713,7 @@ drop database mysqltest1;
End of 5.0 tests
set names utf8;
grant select on test.* to очень_длинный_юзер890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890@localhost;
-ERROR HY000: String 'очень_длинный_юзер890123456789012345678901234567890...' is too long for user name (should be no longer than 80)
+ERROR HY000: String 'очень_длинный_юзер890123456789012345678901234567890...' is too long for user name (should be no longer than 128)
set names default;
create database mysqltest;
use mysqltest;
diff --git a/mysql-test/main/grant.test b/mysql-test/main/grant.test
index b67c59cd559..a243967a9c7 100644
--- a/mysql-test/main/grant.test
+++ b/mysql-test/main/grant.test
@@ -899,13 +899,13 @@ USE test;
GRANT CREATE ON mysqltest.* TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
--error ER_WRONG_STRING_LENGTH
-GRANT CREATE ON mysqltest.* TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+GRANT CREATE ON mysqltest.* TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
--error ER_WRONG_STRING_LENGTH
REVOKE CREATE ON mysqltest.* FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
--error ER_WRONG_STRING_LENGTH
-REVOKE CREATE ON mysqltest.* FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+REVOKE CREATE ON mysqltest.* FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
# Working with table-level privileges.
@@ -913,13 +913,13 @@ REVOKE CREATE ON mysqltest.* FROM some_user_name@1234567890abcdefghij1234567890a
GRANT CREATE ON t1 TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
--error ER_WRONG_STRING_LENGTH
-GRANT CREATE ON t1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+GRANT CREATE ON t1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
--error ER_WRONG_STRING_LENGTH
REVOKE CREATE ON t1 FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
--error ER_WRONG_STRING_LENGTH
-REVOKE CREATE ON t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+REVOKE CREATE ON t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
# Working with routine-level privileges.
@@ -927,13 +927,13 @@ REVOKE CREATE ON t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij
GRANT EXECUTE ON PROCEDURE p1 TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
--error ER_WRONG_STRING_LENGTH
-GRANT EXECUTE ON PROCEDURE p1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+GRANT EXECUTE ON PROCEDURE p1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
--error ER_WRONG_STRING_LENGTH
REVOKE EXECUTE ON PROCEDURE p1 FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
--error ER_WRONG_STRING_LENGTH
-REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
+REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
#
@@ -1233,12 +1233,14 @@ drop function if exists test_function;
drop view if exists v1;
create table test (col1 varchar(30));
delimiter |;
+--enable_prepare_warnings
create function test_function() returns varchar(30)
begin
declare tmp varchar(30);
select col1 from test limit 1 into tmp;
return '1';
end|
+--disable_prepare_warnings
delimiter ;|
create view v1 as select test.* from test where test.col1=test_function();
grant update (col1) on v1 to 'greg'@'localhost';
diff --git a/mysql-test/main/grant2.result b/mysql-test/main/grant2.result
index 3f2b1d48c55..7bb8aeb9d23 100644
--- a/mysql-test/main/grant2.result
+++ b/mysql-test/main/grant2.result
@@ -708,8 +708,8 @@ a
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
SHOW KEYS FROM t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 0 PRIMARY 1 a A 0 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
#
# SHOW CREATE TABLE.
#
diff --git a/mysql-test/main/grant2.test b/mysql-test/main/grant2.test
index f98af8d8630..b8098488709 100644
--- a/mysql-test/main/grant2.test
+++ b/mysql-test/main/grant2.test
@@ -524,8 +524,10 @@ INSERT INTO t2 VALUES (1);
DROP FUNCTION IF EXISTS f2;
--enable_warnings
delimiter //;
+--enable_prepare_warnings
CREATE FUNCTION f2 () RETURNS INT
BEGIN DECLARE v INT; SELECT s1 FROM t2 INTO v; RETURN v; END//
+--disable_prepare_warnings
delimiter ;//
SELECT f2();
diff --git a/mysql-test/main/grant4.result b/mysql-test/main/grant4.result
index 29021b608aa..889c42310a0 100644
--- a/mysql-test/main/grant4.result
+++ b/mysql-test/main/grant4.result
@@ -94,14 +94,14 @@ use mysqltest_db1;
** SELECT FROM INFORMATION_SCHEMA.STATISTICS will succeed because any privileges will do (authentication is enough).
** but will return no rows
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='t5';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
** SHOW INDEX FROM t5 will fail because we don't have any privileges on any column combination.
SHOW INDEX FROM t5;
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't5'
** SHOW INDEX FROM t6 will succeed because there exist a privilege on a column combination on t6.
SHOW INDEX FROM t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t6 1 i 1 s1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t6 1 i 1 s1 A NULL NULL NULL YES BTREE NO
** CHECK TABLE requires any privilege on any column combination and should succeed for t6:
CHECK TABLE t6;
Table Op Msg_type Msg_text
@@ -166,7 +166,7 @@ End of 5.5 tests
# are insufficient are discovered.
#
call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
-call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*mysqltest_u1 Checking table");
+call mtr.add_suppression("MariaDB thread id .*, query id .* localhost.*mysqltest_u1 Checking table");
drop database if exists mysqltest_db1;
create database mysqltest_db1;
# Create tables which we are going to CHECK/REPAIR.
@@ -187,8 +187,8 @@ connection con1;
check table mysqltest_db1.t1;
Table Op Msg_type Msg_text
mysqltest_db1.t1 check warning 1 client is using or hasn't closed the table properly
-mysqltest_db1.t1 check error Size of indexfile is: 1024 Should be: 2048
-mysqltest_db1.t1 check warning Size of datafile is: 14 Should be: 7
+mysqltest_db1.t1 check error Size of indexfile is: 1024 Should be: 2048
+mysqltest_db1.t1 check warning Size of datafile is: 14 Should be: 7
mysqltest_db1.t1 check error Corrupt
# The below statement should fail before repairing t1.
# Otherwise info about such repair will be missing from its result-set.
@@ -201,8 +201,8 @@ check table mysqltest_db1.t1;
Table Op Msg_type Msg_text
mysqltest_db1.t1 check warning Table is marked as crashed
mysqltest_db1.t1 check warning 1 client is using or hasn't closed the table properly
-mysqltest_db1.t1 check error Size of indexfile is: 1024 Should be: 2048
-mysqltest_db1.t1 check warning Size of datafile is: 14 Should be: 7
+mysqltest_db1.t1 check error Size of indexfile is: 1024 Should be: 2048
+mysqltest_db1.t1 check warning Size of datafile is: 14 Should be: 7
mysqltest_db1.t1 check error Corrupt
repair table mysqltest_db1.t1;
Table Op Msg_type Msg_text
diff --git a/mysql-test/main/grant4.test b/mysql-test/main/grant4.test
index a63bd158a0d..65e8f78b467 100644
--- a/mysql-test/main/grant4.test
+++ b/mysql-test/main/grant4.test
@@ -191,7 +191,7 @@ source include/switch_to_mysql_global_priv.inc;
--echo # are insufficient are discovered.
--echo #
call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
-call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*mysqltest_u1 Checking table");
+call mtr.add_suppression("MariaDB thread id .*, query id .* localhost.*mysqltest_u1 Checking table");
--disable_warnings
drop database if exists mysqltest_db1;
--enable_warnings
diff --git a/mysql-test/main/grant_4332.result b/mysql-test/main/grant_4332.result
index 7fc29795b6f..6a8e3d3f279 100644
--- a/mysql-test/main/grant_4332.result
+++ b/mysql-test/main/grant_4332.result
@@ -11,7 +11,7 @@ alter table mysql.event modify definer char(77) collate utf8_bin not null defaul
flush privileges;
select user();
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def user() 253 77 14 N 1 39 8
+def user() 253 272 14 N 1 39 8
user()
root@localhost
create user a17aaaaaaaaaaaaa0@localhost;
@@ -20,17 +20,17 @@ grant usage on *.* to a17aaaaaaaaaaaaa0@lodalhost;
ERROR HY000: String 'a17aaaaaaaaaaaaa0' is too long for user name (should be no longer than 16)
drop user a17aaaaaaaaaaaaa0@lodalhost;
ERROR HY000: String 'a17aaaaaaaaaaaaa0' is too long for user name (should be no longer than 16)
-alter table mysql.user modify User char(80) binary not null default '';
-alter table mysql.db modify User char(80) binary not null default '';
-alter table mysql.tables_priv modify User char(80) binary not null default '';
-alter table mysql.columns_priv modify User char(80) binary not null default '';
-alter table mysql.procs_priv modify User char(80) binary not null default '';
-alter table mysql.proc modify definer char(141) collate utf8_bin not null default '';
-alter table mysql.event modify definer char(141) collate utf8_bin not null default '';
+alter table mysql.user modify User char(128) binary not null default '';
+alter table mysql.db modify User char(128) binary not null default '';
+alter table mysql.tables_priv modify User char(128) binary not null default '';
+alter table mysql.columns_priv modify User char(128) binary not null default '';
+alter table mysql.procs_priv modify User char(128) binary not null default '';
+alter table mysql.proc modify definer varchar(384) collate utf8_bin not null default '';
+alter table mysql.event modify definer varchar(384) collate utf8_bin not null default '';
flush privileges;
select user();
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def user() 253 141 14 N 1 39 8
+def user() 253 384 14 N 1 39 8
user()
root@localhost
set global sql_mode=default;
diff --git a/mysql-test/main/grant_4332.test b/mysql-test/main/grant_4332.test
index f723e4afe44..2e46e90d817 100644
--- a/mysql-test/main/grant_4332.test
+++ b/mysql-test/main/grant_4332.test
@@ -30,13 +30,13 @@ grant usage on *.* to a17aaaaaaaaaaaaa0@lodalhost;
--error ER_WRONG_STRING_LENGTH
drop user a17aaaaaaaaaaaaa0@lodalhost;
-alter table mysql.user modify User char(80) binary not null default '';
-alter table mysql.db modify User char(80) binary not null default '';
-alter table mysql.tables_priv modify User char(80) binary not null default '';
-alter table mysql.columns_priv modify User char(80) binary not null default '';
-alter table mysql.procs_priv modify User char(80) binary not null default '';
-alter table mysql.proc modify definer char(141) collate utf8_bin not null default '';
-alter table mysql.event modify definer char(141) collate utf8_bin not null default '';
+alter table mysql.user modify User char(128) binary not null default '';
+alter table mysql.db modify User char(128) binary not null default '';
+alter table mysql.tables_priv modify User char(128) binary not null default '';
+alter table mysql.columns_priv modify User char(128) binary not null default '';
+alter table mysql.procs_priv modify User char(128) binary not null default '';
+alter table mysql.proc modify definer varchar(384) collate utf8_bin not null default '';
+alter table mysql.event modify definer varchar(384) collate utf8_bin not null default '';
flush privileges;
--enable_metadata
diff --git a/mysql-test/main/grant_lowercase.result b/mysql-test/main/grant_lowercase.result
index 0686977f55f..6bea15b11e2 100644
--- a/mysql-test/main/grant_lowercase.result
+++ b/mysql-test/main/grant_lowercase.result
@@ -15,5 +15,5 @@ Warnings:
Warning 1265 Data truncated for column 'Db' at row 1
flush privileges;
delete from mysql.db where db like '=>%';
-alter table mysql.db modify Db char(64) default "", modify User char(80) default "";
+alter table mysql.db modify Db char(64) default "", modify User char(128) default "";
flush privileges;
diff --git a/mysql-test/main/grant_lowercase.test b/mysql-test/main/grant_lowercase.test
index ffd1d4682a0..ee85bb592d3 100644
--- a/mysql-test/main/grant_lowercase.test
+++ b/mysql-test/main/grant_lowercase.test
@@ -22,5 +22,5 @@ alter table mysql.db modify User char(16) default "", modify Db varchar(200) def
insert mysql.db set db=concat('=>', repeat(_utf8 'й', 200));
flush privileges; # shouldn't crash here
delete from mysql.db where db like '=>%';
-alter table mysql.db modify Db char(64) default "", modify User char(80) default "";
+alter table mysql.db modify Db char(64) default "", modify User char(128) default "";
flush privileges;
diff --git a/mysql-test/main/group_min_max.result b/mysql-test/main/group_min_max.result
index e6a5bc0ab50..356bb4b41df 100644
--- a/mysql-test/main/group_min_max.result
+++ b/mysql-test/main/group_min_max.result
@@ -2664,7 +2664,7 @@ a b
3 13
explain extended select sql_buffer_result a, max(b)+1 from t1 where a = 0 group by a;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE t1 ref a,index a 5 const 15 20.00 Using index; Using temporary
+1 SIMPLE t1 range a,index a 5 NULL 3 100.00 Using where; Using index for group-by; Using temporary
Warnings:
Note 1003 select sql_buffer_result `test`.`t1`.`a` AS `a`,max(`test`.`t1`.`b`) + 1 AS `max(b)+1` from `test`.`t1` where `test`.`t1`.`a` = 0 group by `test`.`t1`.`a`
drop table t1;
@@ -4065,3 +4065,24 @@ SELECT DISTINCT owner_id FROM t1 WHERE foo = true GROUP BY owner_id HAVING (COUN
owner_id
1
DROP TABLE t1;
+#
+# MDEV-24353: Adding GROUP BY slows down a query
+#
+CREATE TABLE t1 (p int NOT NULL, a int NOT NULL, PRIMARY KEY (p,a));
+insert into t1 select 2,seq from seq_0_to_1000;
+EXPLAIN select MIN(a) from t1 where p = 2 group by p;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 10 Using where; Using index for group-by
+SELECT MIN(a) from t1 where p = 2 group by p;
+MIN(a)
+0
+EXPLAIN select MIN(a) from t1 group by p;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range NULL PRIMARY 4 NULL 10 Using index for group-by
+SELECT MIN(a) from t1 where p = 2;
+MIN(a)
+0
+drop table t1;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/group_min_max.test b/mysql-test/main/group_min_max.test
index 3f7ef4ec9b8..ed65745a509 100644
--- a/mysql-test/main/group_min_max.test
+++ b/mysql-test/main/group_min_max.test
@@ -4,6 +4,7 @@
#
--source include/default_optimizer_switch.inc
+--source include/have_sequence.inc
--source include/have_innodb.inc
#
# TODO:
@@ -1722,3 +1723,20 @@ EXPLAIN
SELECT DISTINCT owner_id FROM t1 WHERE foo = true GROUP BY owner_id HAVING (COUNT(*) = 1);
SELECT DISTINCT owner_id FROM t1 WHERE foo = true GROUP BY owner_id HAVING (COUNT(*) = 1);
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-24353: Adding GROUP BY slows down a query
+--echo #
+
+CREATE TABLE t1 (p int NOT NULL, a int NOT NULL, PRIMARY KEY (p,a));
+insert into t1 select 2,seq from seq_0_to_1000;
+
+EXPLAIN select MIN(a) from t1 where p = 2 group by p;
+SELECT MIN(a) from t1 where p = 2 group by p;
+EXPLAIN select MIN(a) from t1 group by p;
+SELECT MIN(a) from t1 where p = 2;
+drop table t1;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/having.result b/mysql-test/main/having.result
index b4ca607ec84..d1e8ec56670 100644
--- a/mysql-test/main/having.result
+++ b/mysql-test/main/having.result
@@ -832,13 +832,15 @@ ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
-SELECT t, next_seq_value() r FROM t1 FORCE INDEX(t)
-GROUP BY t HAVING r = 1 ORDER BY t1.u;
+explain SELECT t, next_seq_value() r FROM t1 FORCE INDEX(t) GROUP BY t HAVING r = 1 ORDER BY t1.u;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using temporary; Using filesort
+SELECT t, next_seq_value() r FROM t1 FORCE INDEX(t) GROUP BY t HAVING r = 1 ORDER BY t1.u;
t r
10 1
12 1
-15 1
-17 1
+14 1
+16 1
DROP TABLE t1;
DROP FUNCTION next_seq_value;
DROP TABLE series;
diff --git a/mysql-test/main/having.test b/mysql-test/main/having.test
index 3f4e8a8e710..f69f5b8fd19 100644
--- a/mysql-test/main/having.test
+++ b/mysql-test/main/having.test
@@ -881,8 +881,8 @@ CREATE TABLE t1 (t INT, u INT, KEY(t));
INSERT INTO t1 VALUES(10, 10), (11, 11), (12, 12), (12, 13),(14, 15), (15, 16),
(16, 17), (17, 17);
ANALYZE TABLE t1;
-SELECT t, next_seq_value() r FROM t1 FORCE INDEX(t)
- GROUP BY t HAVING r = 1 ORDER BY t1.u;
+explain SELECT t, next_seq_value() r FROM t1 FORCE INDEX(t) GROUP BY t HAVING r = 1 ORDER BY t1.u;
+SELECT t, next_seq_value() r FROM t1 FORCE INDEX(t) GROUP BY t HAVING r = 1 ORDER BY t1.u;
DROP TABLE t1;
DROP FUNCTION next_seq_value;
diff --git a/mysql-test/main/having_cond_pushdown.test b/mysql-test/main/having_cond_pushdown.test
index aee5a770fa9..8225bdec906 100644
--- a/mysql-test/main/having_cond_pushdown.test
+++ b/mysql-test/main/having_cond_pushdown.test
@@ -73,14 +73,18 @@ GROUP BY t1.a
HAVING (t1.a>1) OR (a IN (SELECT 3));
eval $no_pushdown $query;
eval $query;
+--enable_prepare_warnings
eval explain $query;
eval explain format=json $query;
+--disable_prepare_warnings
let $query=
SELECT t1.a,MAX(t1.b)
FROM t1
WHERE (t1.a>1) OR (a IN (SELECT 3))
GROUP BY t1.a;
+--enable_prepare_warnings
eval $no_pushdown explain format=json $query;
+--disable_prepare_warnings
let $query=
SELECT t1.a,MAX(t1.b),MIN(t1.c)
diff --git a/mysql-test/main/ignored_index.result b/mysql-test/main/ignored_index.result
new file mode 100644
index 00000000000..84263dddd4d
--- /dev/null
+++ b/mysql-test/main/ignored_index.result
@@ -0,0 +1,530 @@
+#
+# MDEV-7317: Make an index ignorable to the optimizer
+#
+# Test of ALTER INDEX syntax.
+CREATE TABLE t1 ( a INT, KEY (a) );
+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 Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+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 Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+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 Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+DROP TABLE t1;
+# Test of CREATE INDEX syntax with IGNORED indexes.
+CREATE TABLE t1 ( a INT, b INT );
+CREATE INDEX a_ignorable ON t1(a) IGNORED;
+CREATE INDEX b_not_ignorable ON t1(a) NOT IGNORED;
+Warnings:
+Note 1831 Duplicate index `b_not_ignorable`. This is deprecated and will be disallowed in a future release
+CREATE INDEX a_b_ignorable ON t1(a, b) IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a_ignorable 1 a A NULL NULL NULL YES BTREE YES
+t1 1 b_not_ignorable 1 a A NULL NULL NULL YES BTREE NO
+t1 1 a_b_ignorable 1 a A NULL NULL NULL YES BTREE YES
+t1 1 a_b_ignorable 2 b A NULL NULL NULL YES BTREE YES
+DROP TABLE t1;
+# Test that IGNORED indexes are not used.
+CREATE TABLE t1 ( a INT, KEY (a) );
+CREATE TABLE t2 ( a INT, KEY (a) IGNORED );
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+INSERT INTO t2 SELECT * FROM t1;
+ANALYZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status Table is already up to date
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 5 NULL 5 Using index
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 5
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 5 NULL 5 Using index
+EXPLAIN SELECT a FROM t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 5
+ALTER TABLE t2 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 index NULL a 5 NULL 5 Using index
+DROP TABLE t1, t2;
+# Test that renaming an index does not change ignorability and vice versa.
+CREATE TABLE t1 (
+a INT, INDEX (a),
+b INT, INDEX (b) IGNORED
+);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 RENAME INDEX a TO a1;
+ALTER TABLE t1 RENAME INDEX b TO b1;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a1 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b1 1 b A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a1 IGNORED;
+ALTER TABLE t1 ALTER INDEX b1 NOT IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a1 1 a A NULL NULL NULL YES BTREE YES
+t1 1 b1 1 b A NULL NULL NULL YES BTREE NO
+DROP TABLE t1;
+# Test of SHOW CREATE TABLE.
+CREATE TABLE t1 (
+a INT,
+b INT,
+c INT,
+INDEX (a) NOT IGNORED,
+INDEX (b) IGNORED,
+INDEX (c)
+);
+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,
+ KEY `a` (`a`),
+ KEY `b` (`b`) IGNORED,
+ KEY `c` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+# Test that primary key indexes can't be made ignorable.
+CREATE TABLE t1 ( a INT, PRIMARY KEY (a) IGNORED );
+ERROR HY000: A primary key cannot be marked as IGNORE
+CREATE TABLE t1 ( a INT PRIMARY KEY IGNORED );
+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 'IGNORED )' at line 1
+CREATE TABLE t1 ( a INT KEY IGNORED );
+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 'IGNORED )' at line 1
+ALTER TABLE t1 ALTER INDEX PRIMARY IGNORED;
+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 'PRIMARY IGNORED' at line 1
+CREATE TABLE t1(a INT NOT NULL);
+ALTER TABLE t1 ADD PRIMARY KEY (a) IGNORED;
+ERROR HY000: A primary key cannot be marked as IGNORE
+DROP TABLE t1;
+CREATE TABLE t1 (
+a INT, KEY (a),
+b INT, KEY (b) IGNORED
+);
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORED;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+DROP TABLE t1;
+CREATE TABLE t1 (
+a INT, KEY (a),
+b INT, KEY (b) IGNORED
+);
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORED;
+ERROR 42000: Key 'no_such_index' doesn't exist in table 't1'
+#
+# Repeated alter actions. Should work.
+#
+ALTER TABLE t1 ALTER INDEX a IGNORED, ALTER INDEX a NOT IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED, ALTER INDEX b IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE YES
+#
+# Various combinations of RENAME INDEX and ALTER INDEX ... IGNORED.
+#
+ALTER TABLE t1 RENAME INDEX a TO x, RENAME INDEX x TO a;
+ERROR 42000: Key 'x' doesn't exist in table 't1'
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX x IGNORED;
+ERROR 42000: Key 'x' doesn't exist in table 't1'
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX a NOT IGNORED;
+ERROR 42000: Key 'a' doesn't exist in table 't1'
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED, RENAME INDEX a TO x;
+ERROR 42000: Key 'a' doesn't exist in table 't1'
+#
+# Various algorithms and their effects.
+#
+INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3);
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+ALTER TABLE t1 ALTER INDEX a IGNORED, ALGORITHM = COPY;
+affected rows: 3
+info: Records: 3 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE YES
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED, ALGORITHM = INPLACE;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status Table is already up to date
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE NO
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a IGNORED, ALGORITHM = DEFAULT;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status Table is already up to date
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE YES
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+affected rows: 0
+info: Records: 0 Duplicates: 0 Warnings: 0
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status Table is already up to date
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL YES BTREE NO
+t1 1 b 1 b A 3 NULL NULL YES BTREE YES
+ALTER TABLE t1 ADD INDEX ab(a, b), ALTER INDEX ab IGNORED;
+ERROR 42000: Key 'ab' doesn't exist in table 't1'
+DROP TABLE t1;
+#
+# The first NOT NULL UNIQUE index may of course be IGNORED if it is
+# not promoted to a primary key
+#
+CREATE TABLE t1 (
+a INT NOT NULL,
+b INT NOT NULL PRIMARY KEY,
+UNIQUE KEY (a) IGNORED
+);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 b A 0 NULL NULL BTREE NO
+t1 0 a 1 a A 0 NULL NULL BTREE YES
+DROP TABLE t1;
+# The check above applies only to the first NOT NULL UNIQUE index.
+CREATE TABLE t1 (
+a INT NOT NULL,
+b INT NOT NULL,
+UNIQUE KEY (a),
+UNIQUE KEY (b) IGNORED
+);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A 0 NULL NULL BTREE NO
+t1 0 b 1 b A 0 NULL NULL BTREE YES
+DROP TABLE t1;
+CREATE TABLE t1 ( a INT NOT NULL, UNIQUE KEY (a) IGNORED);
+ERROR HY000: A primary key cannot be marked as IGNORE
+CREATE TEMPORARY TABLE t1 ( a INT, KEY (a) IGNORED);
+INSERT INTO t1 VALUES (0), (1), (2), (3);
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE YES
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 4
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 5 NULL 4 Using index
+DROP TABLE t1;
+#
+# IGNORED fulltext indexes.
+#
+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
+INSERT INTO t1 VALUES('Some data', 'for full-text search');
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
+test.t1 analyze status OK
+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
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+EXPLAIN SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ("collections");
+ERROR HY000: Can't find FULLTEXT index matching the column list
+DROP TABLE t1;
+#
+# IGNORED indexes on AUTO_INCREMENT columns.
+#
+CREATE TABLE t1 ( a INT AUTO_INCREMENT, KEY ( a ) );
+INSERT INTO t1 VALUES (), (), ();
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 4 NULL 3 Using index
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 3 NULL NULL BTREE YES
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+DROP TABLE t1;
+#
+# IGNORED spatial indexes
+#
+CREATE TABLE t1 (
+fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+g GEOMETRY NOT NULL,
+SPATIAL KEY key1(g)
+);
+EXPLAIN SELECT fid, AsText(g) FROM t1
+WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range key1 key1 34 NULL 8 Using where
+ALTER TABLE t1 ALTER INDEX key1 IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 fid A 150 NULL NULL BTREE NO
+t1 1 key1 1 g A NULL 32 NULL SPATIAL YES
+EXPLAIN SELECT fid, AsText(g) FROM t1
+WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 150 Using where
+DROP TABLE t1;
+CREATE TABLE t1 ( a INT GENERATED ALWAYS AS (1), KEY key1(a));
+INSERT INTO t1 VALUES (),(),();
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key1 1 a A NULL NULL NULL YES BTREE NO
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL key1 5 NULL 3 Using index
+ALTER TABLE t1 ALTER INDEX key1 IGNORED;
+SHOW INDEXES FROM t1;
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 key1 1 a A NULL NULL NULL YES BTREE YES
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+DROP TABLE t1;
+#
+# Partitioning on keys with an IGNORED index, IGNORED indexes over
+# partitioned tables.
+#
+CREATE TABLE t1 (
+a CHAR(2) NOT NULL,
+b CHAR(2) NOT NULL,
+c INT(10) UNSIGNED NOT NULL,
+d VARCHAR(255) DEFAULT NULL,
+e VARCHAR(1000) DEFAULT NULL,
+KEY (a) IGNORED,
+KEY (b)
+) PARTITION BY KEY (a) PARTITIONS 20;
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343');
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 14
+EXPLAIN SELECT b FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL b 2 NULL 14 Using index
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using where
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL a 2 NULL 14 Using index
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref a a 2 const 2 Using where
+ALTER TABLE t1 ALTER INDEX b IGNORED;
+EXPLAIN SELECT b FROM t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 14
+DROP TABLE t1;
+#
+# Using FORCE INDEX for an IGNORED index
+#
+CREATE TABLE t1(a INT, key k1(a));
+INSERT INTO t1 VALUES (1),(2),(3);
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index NULL k1 5 NULL 3 Using index
+ALTER TABLE t1 ALTER INDEX k1 IGNORED;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `k1` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+ERROR 42000: Key 'k1' doesn't exist in table 't1'
+DROP TABLE t1;
+#
+# MDEV-25075: Ignorable index makes the resulting CREATE TABLE invalid
+#
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 ( a INT, KEY (a) IGNORED);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# Tests to check usage of IGNORED keyword
+#
+CREATE TABLE IGNORED(a INT);
+DROP TABLE IGNORED;
+CREATE TABLE t1(a INT);
+SELECT * FROM t1 IGNORED;
+a
+CREATE FUNCTION f1(a INT) RETURNS INT
+BEGIN
+DECLARE IGNORED INT DEFAULT 0;
+RETURN 0;
+END|
+CREATE FUNCTION f2(a INT) RETURNS INT
+BEGIN
+DECLARE IGNORED INT DEFAULT 0;
+DECLARE x INT DEFAULT 0;
+SET x= IGNORED;
+RETURN 0;
+END|
+DROP TABLE t1;
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+CREATE PROCEDURE test_sp()
+BEGIN
+ignored:
+LOOP
+LEAVE ignored;
+END LOOP;
+END|
+DROP PROCEDURE test_sp;
+CREATE PROCEDURE test_sp()
+BEGIN
+set @@ignored= 1;
+END|
+ERROR HY000: Unknown system variable 'ignored'
+CREATE PROCEDURE proc()
+BEGIN
+SET IGNORED= a+b;
+END |
+ERROR HY000: Unknown system variable 'IGNORED'
+#
+# ALLOWING ALTER KEY syntax in ALTER TABLE
+#
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER KEY a IGNORED;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# MDEV-25078, part #2: allow IF EXISTS
+#
+create table t1 (a int, b int, c int, key(a), key(b), key(c));
+alter table t1 alter key if exists no_such_key ignored;
+Warnings:
+Note 1176 Key 'no_such_key' doesn't exist in table 't1'
+alter table t1 alter key if exists a ignored;
+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,
+ KEY `a` (`a`) IGNORED,
+ KEY `b` (`b`),
+ KEY `c` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1
+alter key if exists no_such_key ignored,
+alter key if exists c ignored ;
+Warnings:
+Note 1176 Key 'no_such_key' doesn't exist in table 't1'
+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,
+ KEY `a` (`a`) IGNORED,
+ KEY `b` (`b`),
+ KEY `c` (`c`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+alter table t1
+alter key if exists no_such_key not ignored,
+alter key if exists c not ignored ;
+Warnings:
+Note 1176 Key 'no_such_key' doesn't exist in table 't1'
+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,
+ KEY `a` (`a`) IGNORED,
+ KEY `b` (`b`),
+ KEY `c` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
diff --git a/mysql-test/main/ignored_index.test b/mysql-test/main/ignored_index.test
new file mode 100644
index 00000000000..a3d46fe6046
--- /dev/null
+++ b/mysql-test/main/ignored_index.test
@@ -0,0 +1,464 @@
+--echo #
+--echo # MDEV-7317: Make an index ignorable to the optimizer
+--echo #
+
+
+--echo # Test of ALTER INDEX syntax.
+
+CREATE TABLE t1 ( a INT, KEY (a) );
+SHOW KEYS FROM t1;
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW KEYS FROM t1;
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+SHOW KEYS FROM t1;
+DROP TABLE t1;
+
+--echo # Test of CREATE INDEX syntax with IGNORED indexes.
+
+CREATE TABLE t1 ( a INT, b INT );
+CREATE INDEX a_ignorable ON t1(a) IGNORED;
+CREATE INDEX b_not_ignorable ON t1(a) NOT IGNORED;
+CREATE INDEX a_b_ignorable ON t1(a, b) IGNORED;
+SHOW INDEXES FROM t1;
+DROP TABLE t1;
+
+--echo # Test that IGNORED indexes are not used.
+
+CREATE TABLE t1 ( a INT, KEY (a) );
+CREATE TABLE t2 ( a INT, KEY (a) IGNORED );
+
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
+INSERT INTO t2 SELECT * FROM t1;
+
+ANALYZE TABLE t1, t2;
+
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t1;
+
+EXPLAIN SELECT a FROM t2;
+ALTER TABLE t2 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t2;
+
+DROP TABLE t1, t2;
+
+--echo # Test that renaming an index does not change ignorability and vice versa.
+
+CREATE TABLE t1 (
+ a INT, INDEX (a),
+ b INT, INDEX (b) IGNORED
+);
+
+SHOW INDEXES FROM t1;
+
+ALTER TABLE t1 RENAME INDEX a TO a1;
+ALTER TABLE t1 RENAME INDEX b TO b1;
+
+SHOW INDEXES FROM t1;
+
+ALTER TABLE t1 ALTER INDEX a1 IGNORED;
+ALTER TABLE t1 ALTER INDEX b1 NOT IGNORED;
+
+SHOW INDEXES FROM t1;
+
+DROP TABLE t1;
+
+--echo # Test of SHOW CREATE TABLE.
+
+CREATE TABLE t1 (
+ a INT,
+ b INT,
+ c INT,
+ INDEX (a) NOT IGNORED,
+ INDEX (b) IGNORED,
+ INDEX (c)
+);
+
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+--echo # Test that primary key indexes can't be made ignorable.
+
+--error ER_PK_INDEX_CANT_BE_IGNORED
+CREATE TABLE t1 ( a INT, PRIMARY KEY (a) IGNORED );
+--error ER_PARSE_ERROR
+CREATE TABLE t1 ( a INT PRIMARY KEY IGNORED );
+--error ER_PARSE_ERROR
+CREATE TABLE t1 ( a INT KEY IGNORED );
+--error ER_PARSE_ERROR
+ALTER TABLE t1 ALTER INDEX PRIMARY IGNORED;
+
+CREATE TABLE t1(a INT NOT NULL);
+--error ER_PK_INDEX_CANT_BE_IGNORED
+ALTER TABLE t1 ADD PRIMARY KEY (a) IGNORED;
+
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (
+ a INT, KEY (a),
+ b INT, KEY (b) IGNORED
+);
+
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORED;
+
+DROP TABLE t1;
+
+
+CREATE TABLE t1 (
+ a INT, KEY (a),
+ b INT, KEY (b) IGNORED
+);
+
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX no_such_index TO x;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ALTER INDEX no_such_index IGNORED;
+
+
+--echo #
+--echo # Repeated alter actions. Should work.
+--echo #
+ALTER TABLE t1 ALTER INDEX a IGNORED, ALTER INDEX a NOT IGNORED;
+SHOW INDEXES FROM t1;
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED, ALTER INDEX b IGNORED;
+SHOW INDEXES FROM t1;
+
+
+--echo #
+--echo # Various combinations of RENAME INDEX and ALTER INDEX ... IGNORED.
+--echo #
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX a TO x, RENAME INDEX x TO a;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX x IGNORED;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 RENAME INDEX a TO x, ALTER INDEX a NOT IGNORED;
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED, RENAME INDEX a TO x;
+
+
+--echo #
+--echo # Various algorithms and their effects.
+--echo #
+
+INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3);
+ANALYZE TABLE t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a IGNORED, ALGORITHM = COPY;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED, ALGORITHM = INPLACE;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a IGNORED, ALGORITHM = DEFAULT;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--enable_info
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+--disable_info
+ANALYZE TABLE t1;
+SHOW INDEXES FROM t1;
+
+--error ER_KEY_DOES_NOT_EXISTS
+ALTER TABLE t1 ADD INDEX ab(a, b), ALTER INDEX ab IGNORED;
+
+DROP TABLE t1;
+
+
+--echo #
+--echo # The first NOT NULL UNIQUE index may of course be IGNORED if it is
+--echo # not promoted to a primary key
+--echo #
+
+CREATE TABLE t1 (
+ a INT NOT NULL,
+ b INT NOT NULL PRIMARY KEY,
+ UNIQUE KEY (a) IGNORED
+);
+SHOW INDEXES FROM t1;
+DROP TABLE t1;
+
+--echo # The check above applies only to the first NOT NULL UNIQUE index.
+CREATE TABLE t1 (
+ a INT NOT NULL,
+ b INT NOT NULL,
+ UNIQUE KEY (a),
+ UNIQUE KEY (b) IGNORED
+);
+SHOW INDEXES FROM t1;
+DROP TABLE t1;
+
+--error ER_PK_INDEX_CANT_BE_IGNORED
+CREATE TABLE t1 ( a INT NOT NULL, UNIQUE KEY (a) IGNORED);
+
+
+CREATE TEMPORARY TABLE t1 ( a INT, KEY (a) IGNORED);
+INSERT INTO t1 VALUES (0), (1), (2), (3);
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # IGNORED fulltext indexes.
+--echo #
+CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
+INSERT INTO t1 VALUES('Some data', 'for full-text search');
+ANALYZE TABLE t1;
+
+let $query=
+EXPLAIN SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ("collections");
+
+--eval $query
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+
+--error ER_FT_MATCHING_KEY_NOT_FOUND
+--eval $query
+
+DROP TABLE t1;
+
+
+--echo #
+--echo # IGNORED indexes on AUTO_INCREMENT columns.
+--echo #
+CREATE TABLE t1 ( a INT AUTO_INCREMENT, KEY ( a ) );
+INSERT INTO t1 VALUES (), (), ();
+ANALYZE TABLE t1;
+
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # IGNORED spatial indexes
+--echo #
+
+
+CREATE TABLE t1 (
+ fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ g GEOMETRY NOT NULL,
+ SPATIAL KEY key1(g)
+);
+
+--disable_query_log
+let $1=150;
+let $2=150;
+while ($1)
+{
+ eval INSERT INTO t1 (g) VALUES (GeomFromText('LineString($1 $1, $2 $2)'));
+ dec $1;
+ inc $2;
+}
+--enable_query_log
+
+let $query= EXPLAIN SELECT fid, AsText(g) FROM t1
+WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))'));
+
+eval $query;
+ALTER TABLE t1 ALTER INDEX key1 IGNORED;
+SHOW INDEXES FROM t1;
+eval $query;
+
+DROP TABLE t1;
+
+CREATE TABLE t1 ( a INT GENERATED ALWAYS AS (1), KEY key1(a));
+INSERT INTO t1 VALUES (),(),();
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+ALTER TABLE t1 ALTER INDEX key1 IGNORED;
+SHOW INDEXES FROM t1;
+EXPLAIN SELECT a FROM t1;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Partitioning on keys with an IGNORED index, IGNORED indexes over
+--echo # partitioned tables.
+--echo #
+
+--source include/have_partition.inc
+
+CREATE TABLE t1 (
+ a CHAR(2) NOT NULL,
+ b CHAR(2) NOT NULL,
+ c INT(10) UNSIGNED NOT NULL,
+ d VARCHAR(255) DEFAULT NULL,
+ e VARCHAR(1000) DEFAULT NULL,
+ KEY (a) IGNORED,
+ KEY (b)
+) PARTITION BY KEY (a) PARTITIONS 20;
+
+
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343');
+
+ANALYZE TABLE t1;
+
+EXPLAIN SELECT a FROM t1;
+EXPLAIN SELECT b FROM t1;
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+ALTER TABLE t1 ALTER INDEX a NOT IGNORED;
+EXPLAIN SELECT a FROM t1;
+EXPLAIN SELECT * FROM t1 WHERE a = '04';
+
+ALTER TABLE t1 ALTER INDEX b IGNORED;
+EXPLAIN SELECT b FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Using FORCE INDEX for an IGNORED index
+--echo #
+
+CREATE TABLE t1(a INT, key k1(a));
+INSERT INTO t1 VALUES (1),(2),(3);
+
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+ALTER TABLE t1 ALTER INDEX k1 IGNORED;
+SHOW CREATE TABLE t1;
+--error ER_KEY_DOES_NOT_EXISTS
+EXPLAIN SELECT * FROM t1 FORCE INDEX(k1);
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25075: Ignorable index makes the resulting CREATE TABLE invalid
+--echo #
+
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+show create table t1;
+
+DROP TABLE t1;
+
+CREATE TABLE t1 ( a INT, KEY (a) IGNORED);
+show create table t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Tests to check usage of IGNORED keyword
+--echo #
+
+CREATE TABLE IGNORED(a INT);
+DROP TABLE IGNORED;
+
+CREATE TABLE t1(a INT);
+SELECT * FROM t1 IGNORED;
+
+DELIMITER |;
+
+CREATE FUNCTION f1(a INT) RETURNS INT
+BEGIN
+ DECLARE IGNORED INT DEFAULT 0;
+ RETURN 0;
+END|
+
+CREATE FUNCTION f2(a INT) RETURNS INT
+BEGIN
+ DECLARE IGNORED INT DEFAULT 0;
+ DECLARE x INT DEFAULT 0;
+ SET x= IGNORED;
+ RETURN 0;
+END|
+
+DELIMITER ;|
+DROP TABLE t1;
+
+DROP FUNCTION f1;
+DROP FUNCTION f2;
+
+DELIMITER |;
+CREATE PROCEDURE test_sp()
+BEGIN
+ ignored:
+ LOOP
+ LEAVE ignored;
+ END LOOP;
+END|
+
+DELIMITER ;|
+DROP PROCEDURE test_sp;
+
+DELIMITER |;
+--error ER_UNKNOWN_SYSTEM_VARIABLE
+CREATE PROCEDURE test_sp()
+BEGIN
+ set @@ignored= 1;
+END|
+DELIMITER ;|
+
+DELIMITER |;
+--error ER_UNKNOWN_SYSTEM_VARIABLE
+CREATE PROCEDURE proc()
+BEGIN
+ SET IGNORED= a+b;
+END |
+DELIMITER ;|
+
+--echo #
+--echo # ALLOWING ALTER KEY syntax in ALTER TABLE
+--echo #
+
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER KEY a IGNORED;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25078, part #2: allow IF EXISTS
+--echo #
+
+create table t1 (a int, b int, c int, key(a), key(b), key(c));
+alter table t1 alter key if exists no_such_key ignored;
+alter table t1 alter key if exists a ignored;
+show create table t1;
+alter table t1
+ alter key if exists no_such_key ignored,
+ alter key if exists c ignored ;
+show create table t1;
+alter table t1
+ alter key if exists no_such_key not ignored,
+ alter key if exists c not ignored ;
+show create table t1;
+drop table t1;
+
+
diff --git a/mysql-test/main/ignored_index_innodb.result b/mysql-test/main/ignored_index_innodb.result
new file mode 100644
index 00000000000..cc7af31ef97
--- /dev/null
+++ b/mysql-test/main/ignored_index_innodb.result
@@ -0,0 +1,7 @@
+create table t1 (a int, b int, key a1(a)) engine=innodb;
+insert into t1 values (1,1),(2,2),(3,3);
+set alter_algorithm='instant';
+alter table t1 alter index a1 ignored;
+alter table t1 alter index a1 not ignored;
+set alter_algorithm=default;
+drop table t1;
diff --git a/mysql-test/main/ignored_index_innodb.test b/mysql-test/main/ignored_index_innodb.test
new file mode 100644
index 00000000000..c25cdc8d928
--- /dev/null
+++ b/mysql-test/main/ignored_index_innodb.test
@@ -0,0 +1,16 @@
+--source include/have_innodb.inc
+
+#
+# Check if marking index as [not] ignored is an instant operation with InnoDB
+#
+create table t1 (a int, b int, key a1(a)) engine=innodb;
+insert into t1 values (1,1),(2,2),(3,3);
+
+set alter_algorithm='instant';
+alter table t1 alter index a1 ignored;
+
+alter table t1 alter index a1 not ignored;
+
+set alter_algorithm=default;
+drop table t1;
+
diff --git a/mysql-test/main/index_merge_innodb.result b/mysql-test/main/index_merge_innodb.result
index 775ef3d01e5..ada2abdc0d6 100644
--- a/mysql-test/main/index_merge_innodb.result
+++ b/mysql-test/main/index_merge_innodb.result
@@ -6,6 +6,8 @@ SET DEFAULT_STORAGE_ENGINE = InnoDB;
set @optimizer_switch_save= @@optimizer_switch;
set optimizer_switch='index_merge_sort_intersection=off';
set optimizer_switch='rowid_filter=off';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
#---------------- Index merge test 2 -------------------------------------------
create table t1
(
@@ -815,8 +817,6 @@ set optimizer_switch=@tmp_optimizer_switch;
# on optimized builds
#
SET @save_sort_buffer_size=@@sort_buffer_size;
-SET @save_innodb_file_format= @@innodb_file_format;
-SET @save_innodb_large_prefix= @@innodb_large_prefix;
SET sort_buffer_size=2048;
CREATE TABLE t1 (
a VARCHAR(1024) CHARACTER SET UTF8 PRIMARY KEY,
@@ -837,3 +837,4 @@ a b c
DROP TABLE t1;
SET sort_buffer_size= @save_sort_buffer_size;
disconnect disable_purge;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/index_merge_innodb.test b/mysql-test/main/index_merge_innodb.test
index c0918fec79f..e8ebb6b2a64 100644
--- a/mysql-test/main/index_merge_innodb.test
+++ b/mysql-test/main/index_merge_innodb.test
@@ -27,6 +27,9 @@ set @optimizer_switch_save= @@optimizer_switch;
set optimizer_switch='index_merge_sort_intersection=off';
set optimizer_switch='rowid_filter=off';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
+
# The first two tests are disabled because of non deterministic explain output.
# If include/index_merge1.inc can be enabled for InnoDB and all other
# storage engines, please remove the subtest for Bug#21277 from
@@ -206,8 +209,6 @@ set optimizer_switch=@tmp_optimizer_switch;
--echo #
SET @save_sort_buffer_size=@@sort_buffer_size;
-SET @save_innodb_file_format= @@innodb_file_format;
-SET @save_innodb_large_prefix= @@innodb_large_prefix;
SET sort_buffer_size=2048;
CREATE TABLE t1 (
@@ -224,3 +225,4 @@ DROP TABLE t1;
SET sort_buffer_size= @save_sort_buffer_size;
disconnect disable_purge;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/information_schema.result b/mysql-test/main/information_schema.result
index aded33a1e73..0ce5cbea37d 100644
--- a/mysql-test/main/information_schema.result
+++ b/mysql-test/main/information_schema.result
@@ -13,7 +13,8 @@ select * from information_schema.SCHEMATA where schema_name > 'm';
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
select schema_name from information_schema.schemata;
schema_name
@@ -21,6 +22,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
show databases like 't%';
Database (t%)
@@ -31,6 +33,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
show databases where `database` = 't%';
Database
@@ -203,11 +206,11 @@ table_name
t1
t4
select * from information_schema.STATISTICS where TABLE_SCHEMA = "mysqltest";
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysqltest t1 1 mysqltest string_data 1 b A NULL NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysqltest t1 1 mysqltest string_data 1 b A NULL NULL NULL YES BTREE NO
show keys from t3 where Key_name = "a_data";
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a_data 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a_data 1 a A NULL NULL NULL YES BTREE NO
show tables like 't%';
Tables_in_test (t%)
t2
@@ -224,10 +227,10 @@ Field Type Collation Null Key Default Extra Privileges Comment
a int(11) NULL YES MUL NULL select,insert,update,references
show full columns from mysql.db like "Insert%";
Field Type Collation Null Key Default Extra Privileges Comment
-Insert_priv enum('N','Y') utf8_general_ci NO N select,insert,update,references
+Insert_priv enum('N','Y') utf8mb3_general_ci NO N select,insert,update,references
show full columns from v1;
Field Type Collation Null Key Default Extra Privileges Comment
-c varchar(64) utf8_general_ci NO NULL select,insert,update,references
+c varchar(64) utf8mb3_general_ci NO NULL select,insert,update,references
select * from information_schema.COLUMNS where table_name="t1"
and column_name= "a";
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 IS_GENERATED GENERATION_EXPRESSION
@@ -370,12 +373,12 @@ test sub1
drop view v1;
connect user1,localhost,mysqltest_1,,;
connection user1;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
ROUTINE_NAME ROUTINE_DEFINITION
show create function sub1;
ERROR 42000: FUNCTION sub1 does not exist
connection user3;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
ROUTINE_NAME ROUTINE_DEFINITION
sel2 NULL
sub1 NULL
@@ -383,13 +386,13 @@ connection default;
grant all privileges on test.* to mysqltest_1@localhost;
connect user2,localhost,mysqltest_1,,;
connection user2;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
ROUTINE_NAME ROUTINE_DEFINITION
sel2 NULL
sub1 NULL
create function sub2(i int) returns int
return i+1;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
ROUTINE_NAME ROUTINE_DEFINITION
sel2 NULL
sub1 NULL
@@ -425,6 +428,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
explain select * from v0;
id select_type table type possible_keys key key_len ref rows Extra
@@ -459,8 +463,8 @@ latin1_spanish_ci
latin1_swedish_nopad_ci
latin1_nopad_bin
show keys from v4;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-select * from information_schema.views where TABLE_NAME like "v%";
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+select * from information_schema.views where TABLE_NAME like "v%" AND TABLE_SCHEMA <> 'sys';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
def test v0 select `information_schema`.`schemata`.`SCHEMA_NAME` AS `c` from `information_schema`.`schemata` NONE NO root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
def test v1 select `information_schema`.`tables`.`TABLE_NAME` AS `c` from `information_schema`.`tables` where `information_schema`.`tables`.`TABLE_NAME` = 'v1' NONE NO root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
@@ -565,7 +569,7 @@ create table t1(a int);
create view v1 (c) as select a from t1 with check option;
create view v2 (c) as select a from t1 WITH LOCAL CHECK OPTION;
create view v3 (c) as select a from t1 WITH CASCADED CHECK OPTION;
-select * from information_schema.views;
+select * from information_schema.views where table_schema <> 'sys';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION ALGORITHM
def mysql user select `mysql`.`global_priv`.`Host` AS `Host`,`mysql`.`global_priv`.`User` AS `User`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.plugin') in ('mysql_native_password','mysql_old_password'),ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.authentication_string'),''),'') AS `Password`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 1,'Y','N') AS `Select_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 2,'Y','N') AS `Insert_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 4,'Y','N') AS `Update_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 8,'Y','N') AS `Delete_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 16,'Y','N') AS `Create_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 32,'Y','N') AS `Drop_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 64,'Y','N') AS `Reload_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 128,'Y','N') AS `Shutdown_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 256,'Y','N') AS `Process_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 512,'Y','N') AS `File_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 1024,'Y','N') AS `Grant_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 2048,'Y','N') AS `References_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 4096,'Y','N') AS `Index_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 8192,'Y','N') AS `Alter_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 16384,'Y','N') AS `Show_db_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 32768,'Y','N') AS `Super_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 65536,'Y','N') AS `Create_tmp_table_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 131072,'Y','N') AS `Lock_tables_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 262144,'Y','N') AS `Execute_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 524288,'Y','N') AS `Repl_slave_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 1048576,'Y','N') AS `Repl_client_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 2097152,'Y','N') AS `Create_view_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 4194304,'Y','N') AS `Show_view_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 8388608,'Y','N') AS `Create_routine_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 16777216,'Y','N') AS `Alter_routine_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 33554432,'Y','N') AS `Create_user_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 67108864,'Y','N') AS `Event_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 134217728,'Y','N') AS `Trigger_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 268435456,'Y','N') AS `Create_tablespace_priv`,if(json_value(`mysql`.`global_priv`.`Priv`,'$.access') & 536870912,'Y','N') AS `Delete_history_priv`,elt(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.ssl_type'),0) + 1,'','ANY','X509','SPECIFIED') AS `ssl_type`,ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.ssl_cipher'),'') AS `ssl_cipher`,ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.x509_issuer'),'') AS `x509_issuer`,ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.x509_subject'),'') AS `x509_subject`,cast(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.max_questions'),0) as unsigned) AS `max_questions`,cast(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.max_updates'),0) as unsigned) AS `max_updates`,cast(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.max_connections'),0) as unsigned) AS `max_connections`,cast(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.max_user_connections'),0) as signed) AS `max_user_connections`,ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.plugin'),'') AS `plugin`,ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.authentication_string'),'') AS `authentication_string`,if(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.password_last_changed'),1) = 0,'Y','N') AS `password_expired`,elt(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.is_role'),0) + 1,'N','Y') AS `is_role`,ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.default_role'),'') AS `default_role`,cast(ifnull(json_value(`mysql`.`global_priv`.`Priv`,'$.max_statement_time'),0.0) as decimal(12,6)) AS `max_statement_time` from `mysql`.`global_priv` NONE YES mariadb.sys@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
def test v1 select `test`.`t1`.`a` AS `c` from `test`.`t1` CASCADED YES root@localhost DEFINER latin1 latin1_swedish_ci UNDEFINED
@@ -609,7 +613,7 @@ CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL,
`DESCRIPTION` varchar(60) NOT NULL,
`MAXLEN` bigint(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
set names latin2;
SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets;
Table Create Table
@@ -618,7 +622,7 @@ CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL,
`DESCRIPTION` varchar(60) NOT NULL,
`MAXLEN` bigint(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
set names latin1;
create table t1 select * from information_schema.CHARACTER_SETS
where CHARACTER_SET_NAME like "latin1";
@@ -633,7 +637,7 @@ t1 CREATE TABLE `t1` (
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL,
`DESCRIPTION` varchar(60) NOT NULL,
`MAXLEN` bigint(3) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
drop table t1;
create view v1 as select * from information_schema.TABLES;
drop view v1;
@@ -669,7 +673,7 @@ proc security_type enum('INVOKER','DEFINER')
proc param_list blob
proc returns longblob
proc body longblob
-proc definer char(141)
+proc definer varchar(384)
proc created timestamp
proc modified timestamp
proc sql_mode 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
@@ -693,7 +697,7 @@ user
drop view v1;
create view vo as select 'a' union select 'a';
show index from vo;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
select * from information_schema.TABLE_CONSTRAINTS where
TABLE_NAME= "vo";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
@@ -886,6 +890,20 @@ information_schema TRIGGERS ACTION_CONDITION
information_schema TRIGGERS ACTION_STATEMENT
information_schema VIEWS VIEW_DEFINITION
mysql global_priv Priv
+sys innodb_lock_waits waiting_query
+sys innodb_lock_waits blocking_query
+sys processlist current_statement
+sys processlist last_statement
+sys schema_auto_increment_columns column_type
+sys schema_table_lock_waits waiting_query
+sys session current_statement
+sys session last_statement
+sys statement_analysis query
+sys statements_with_errors_or_warnings query
+sys statements_with_full_table_scans query
+sys statements_with_runtimes_in_95th_percentile query
+sys statements_with_sorting query
+sys statements_with_temp_tables query
mysql user Password
mysql user ssl_cipher
mysql user x509_issuer
@@ -893,6 +911,17 @@ mysql user x509_subject
mysql user plugin
mysql user authentication_string
mysql user default_role
+sys x$processlist current_statement
+sys x$processlist last_statement
+sys x$schema_table_lock_waits waiting_query
+sys x$session current_statement
+sys x$session last_statement
+sys x$statement_analysis query
+sys x$statements_with_errors_or_warnings query
+sys x$statements_with_full_table_scans query
+sys x$statements_with_runtimes_in_95th_percentile query
+sys x$statements_with_sorting query
+sys x$statements_with_temp_tables query
select table_name, column_name, data_type from information_schema.columns
where data_type = 'datetime' and table_name not like 'innodb_%'
order by binary table_name, ordinal_position;
@@ -922,6 +951,9 @@ event execute_at datetime
event last_executed datetime
event starts datetime
event ends datetime
+x$innodb_lock_waits wait_started datetime
+x$innodb_lock_waits waiting_trx_started datetime
+x$innodb_lock_waits blocking_trx_started datetime
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES A
WHERE NOT EXISTS
(SELECT * FROM INFORMATION_SCHEMA.COLUMNS B
@@ -1125,7 +1157,7 @@ drop procedure if exists p2;
create procedure p1 () modifies sql data set @a = 5;
create procedure p2 () set @a = 5;
select sql_data_access from information_schema.routines
-where specific_name like 'p%';
+where specific_name like 'p%' and routine_schema = 'test';
sql_data_access
MODIFIES SQL DATA
CONTAINS SQL
@@ -1133,7 +1165,7 @@ drop procedure p1;
drop procedure p2;
show create database information_schema;
Database Create Database
-information_schema CREATE DATABASE `information_schema` /*!40100 DEFAULT CHARACTER SET utf8 */
+information_schema CREATE DATABASE `information_schema` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
create table t1(f1 LONGBLOB, f2 LONGTEXT);
select column_name,data_type,CHARACTER_OCTET_LENGTH,
CHARACTER_MAXIMUM_LENGTH
@@ -1251,8 +1283,8 @@ describe t1;
Field Type Null Key Default Extra
f1 int(11) YES MUL NULL
show indexes 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 f1 1 f1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 f1 1 f1 A NULL NULL NULL YES BTREE NO
drop table t1;
create table t1(f1 binary(32), f2 varbinary(64));
select character_maximum_length, character_octet_length
@@ -1266,7 +1298,7 @@ INSERT INTO t1 SET f1 = 1, f2 = 'Schoenenbourg', f3 = 1;
CREATE FUNCTION func2() RETURNS BIGINT RETURN 1;
CREATE FUNCTION func1() RETURNS BIGINT
BEGIN
-RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.VIEWS);
+RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA <> 'sys');
END//
CREATE VIEW v1 AS SELECT 1 FROM t1
WHERE f3 = (SELECT func2 ());
@@ -1423,9 +1455,109 @@ create table t2 (f1 int, f2 int);
create view v2 as select f1+1 as a, f2 as b from t2;
select table_name, is_updatable from information_schema.views order by table_name;
table_name is_updatable
+host_summary NO
+host_summary_by_file_io NO
+host_summary_by_file_io_type YES
+host_summary_by_stages YES
+host_summary_by_statement_latency NO
+host_summary_by_statement_type YES
+innodb_buffer_stats_by_schema NO
+innodb_buffer_stats_by_table NO
+innodb_lock_waits NO
+io_by_thread_by_latency NO
+io_global_by_file_by_bytes YES
+io_global_by_file_by_latency YES
+io_global_by_wait_by_bytes YES
+io_global_by_wait_by_latency YES
+latest_file_io YES
+memory_by_host_by_current_bytes NO
+memory_by_thread_by_current_bytes NO
+memory_by_user_by_current_bytes NO
+memory_global_by_current_bytes YES
+memory_global_total NO
+metrics NO
+processlist NO
+ps_check_lost_instrumentation YES
+schema_auto_increment_columns NO
+schema_index_statistics YES
+schema_object_overview NO
+schema_redundant_indexes NO
+schema_tables_with_full_table_scans YES
+schema_table_lock_waits NO
+schema_table_statistics NO
+schema_table_statistics_with_buffer NO
+schema_unused_indexes YES
+session YES
+session_ssl_status YES
+statements_with_errors_or_warnings YES
+statements_with_full_table_scans YES
+statements_with_runtimes_in_95th_percentile YES
+statements_with_sorting YES
+statements_with_temp_tables YES
+statement_analysis YES
user YES
+user_summary NO
+user_summary_by_file_io NO
+user_summary_by_file_io_type YES
+user_summary_by_stages YES
+user_summary_by_statement_latency NO
+user_summary_by_statement_type YES
v1 NO
v2 YES
+version NO
+waits_by_host_by_latency YES
+waits_by_user_by_latency YES
+waits_global_by_latency YES
+wait_classes_global_by_avg_latency NO
+wait_classes_global_by_latency NO
+x$host_summary NO
+x$host_summary_by_file_io NO
+x$host_summary_by_file_io_type YES
+x$host_summary_by_stages YES
+x$host_summary_by_statement_latency NO
+x$host_summary_by_statement_type YES
+x$innodb_buffer_stats_by_schema NO
+x$innodb_buffer_stats_by_table NO
+x$innodb_lock_waits NO
+x$io_by_thread_by_latency NO
+x$io_global_by_file_by_bytes YES
+x$io_global_by_file_by_latency YES
+x$io_global_by_wait_by_bytes YES
+x$io_global_by_wait_by_latency YES
+x$latest_file_io YES
+x$memory_by_host_by_current_bytes NO
+x$memory_by_thread_by_current_bytes NO
+x$memory_by_user_by_current_bytes NO
+x$memory_global_by_current_bytes YES
+x$memory_global_total NO
+x$processlist NO
+x$ps_digest_95th_percentile_by_avg_us NO
+x$ps_digest_avg_latency_distribution NO
+x$ps_schema_table_statistics_io NO
+x$schema_flattened_keys NO
+x$schema_index_statistics YES
+x$schema_tables_with_full_table_scans YES
+x$schema_table_lock_waits NO
+x$schema_table_statistics NO
+x$schema_table_statistics_with_buffer NO
+x$session YES
+x$statements_with_errors_or_warnings YES
+x$statements_with_full_table_scans YES
+x$statements_with_runtimes_in_95th_percentile YES
+x$statements_with_sorting YES
+x$statements_with_temp_tables YES
+x$statement_analysis YES
+x$user_summary NO
+x$user_summary_by_file_io NO
+x$user_summary_by_file_io_type YES
+x$user_summary_by_stages YES
+x$user_summary_by_statement_latency NO
+x$user_summary_by_statement_type YES
+x$waits_by_host_by_latency YES
+x$waits_by_user_by_latency YES
+x$waits_global_by_latency YES
+x$wait_classes_global_by_avg_latency NO
+x$wait_classes_global_by_latency NO
delete from v1;
drop view v1,v2;
drop table t1,t2;
@@ -1614,7 +1746,7 @@ information_schema
SELECT TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='mysql' and TABLE_NAME= 'db';
TABLE_COLLATION
-utf8_bin
+utf8mb3_bin
select * from information_schema.columns where table_schema = NULL;
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 IS_GENERATED GENERATION_EXPRESSION
select * from `information_schema`.`COLUMNS` where `TABLE_NAME` = NULL;
@@ -1634,9 +1766,9 @@ CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME UNIQUE_CONSTRAINT_CATALOG U
select * from information_schema.schemata where schema_name = NULL;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
select * from `information_schema`.`STATISTICS` where `TABLE_SCHEMA` = NULL;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
select * from `information_schema`.`STATISTICS` where `TABLE_NAME` = NULL;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
select * from information_schema.tables where table_schema = NULL;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT MAX_INDEX_LENGTH TEMPORARY
select * from information_schema.tables where table_catalog = NULL;
@@ -2372,16 +2504,16 @@ drop table t1;
SET SQL_MODE= 'EMPTY_STRING_IS_NULL';
CREATE OR REPLACE TABLE t1 AS SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE 1 = 0;
SHOW returned: CREATE TABLE `t1` (
- `TABLE_NAME` varchar(64) CHARACTER SET utf8 NOT NULL
+ `TABLE_NAME` varchar(64) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE `t1` (
- `TABLE_NAME` varchar(64) CHARACTER SET utf8 NOT NULL
+ `TABLE_NAME` varchar(64) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `TABLE_NAME` varchar(64) CHARACTER SET utf8 NOT NULL
+ `TABLE_NAME` varchar(64) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
SET SQL_MODE=DEFAULT;
diff --git a/mysql-test/main/information_schema.test b/mysql-test/main/information_schema.test
index fa27dcdf8f3..27f5dd6103d 100644
--- a/mysql-test/main/information_schema.test
+++ b/mysql-test/main/information_schema.test
@@ -1,5 +1,6 @@
# This test uses grants, which can't get tested for embedded server
-- source include/not_embedded.inc
+-- source include/have_perfschema.inc
# check that CSV engine was compiled in, as the result of the test depends
# on the presence of the log tables (which are CSV-based).
@@ -187,19 +188,19 @@ drop view v1;
connect (user1,localhost,mysqltest_1,,);
connection user1;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
--error ER_SP_DOES_NOT_EXIST
show create function sub1;
connection user3;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
connection default;
grant all privileges on test.* to mysqltest_1@localhost;
connect (user2,localhost,mysqltest_1,,);
connection user2;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
create function sub2(i int) returns int
return i+1;
-select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
+select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES WHERE ROUTINE_SCHEMA <> 'sys';
show create procedure sel2;
show create function sub1;
show create function sub2;
@@ -233,7 +234,7 @@ where COLLATION_NAME like "latin1%";
select * from v4;
show keys from v4;
--sorted_result
-select * from information_schema.views where TABLE_NAME like "v%";
+select * from information_schema.views where TABLE_NAME like "v%" AND TABLE_SCHEMA <> 'sys';
drop view v0, v1, v2, v3, v4;
#
@@ -285,7 +286,7 @@ create view v1 (c) as select a from t1 with check option;
create view v2 (c) as select a from t1 WITH LOCAL CHECK OPTION;
create view v3 (c) as select a from t1 WITH CASCADED CHECK OPTION;
--sorted_result
-select * from information_schema.views;
+select * from information_schema.views where table_schema <> 'sys';
grant select (a) on test.t1 to joe@localhost with grant option;
select * from INFORMATION_SCHEMA.COLUMN_PRIVILEGES;
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
@@ -671,7 +672,7 @@ drop procedure if exists p2;
create procedure p1 () modifies sql data set @a = 5;
create procedure p2 () set @a = 5;
select sql_data_access from information_schema.routines
-where specific_name like 'p%';
+where specific_name like 'p%' and routine_schema = 'test';
drop procedure p1;
drop procedure p2;
@@ -835,7 +836,7 @@ CREATE FUNCTION func2() RETURNS BIGINT RETURN 1;
delimiter //;
CREATE FUNCTION func1() RETURNS BIGINT
BEGIN
- RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.VIEWS);
+ RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA <> 'sys');
END//
delimiter ;//
diff --git a/mysql-test/main/information_schema_all_engines-master.opt b/mysql-test/main/information_schema_all_engines-master.opt
index 7ba5aa5b8b3..fc12532351b 100644
--- a/mysql-test/main/information_schema_all_engines-master.opt
+++ b/mysql-test/main/information_schema_all_engines-master.opt
@@ -13,5 +13,4 @@
--loose-innodb-sys-foreign-cols
--loose-innodb-sys-tables
--loose-innodb-sys-tablestats
---loose-innodb-mutexes
--loose-innodb-tablespaces-encryption
diff --git a/mysql-test/main/information_schema_all_engines.result b/mysql-test/main/information_schema_all_engines.result
index 2e377b254e4..23a853e363c 100644
--- a/mysql-test/main/information_schema_all_engines.result
+++ b/mysql-test/main/information_schema_all_engines.result
@@ -29,7 +29,6 @@ INNODB_CMP_RESET
INNODB_LOCKS
INNODB_LOCK_WAITS
INNODB_METRICS
-INNODB_MUTEXES
INNODB_SYS_COLUMNS
INNODB_SYS_FIELDS
INNODB_SYS_FOREIGN
@@ -111,7 +110,6 @@ INNODB_CMP_RESET page_size
INNODB_LOCKS lock_id
INNODB_LOCK_WAITS requesting_trx_id
INNODB_METRICS NAME
-INNODB_MUTEXES NAME
INNODB_SYS_COLUMNS TABLE_ID
INNODB_SYS_FIELDS INDEX_ID
INNODB_SYS_FOREIGN ID
@@ -193,7 +191,6 @@ INNODB_CMP_RESET page_size
INNODB_LOCKS lock_id
INNODB_LOCK_WAITS requesting_trx_id
INNODB_METRICS NAME
-INNODB_MUTEXES NAME
INNODB_SYS_COLUMNS TABLE_ID
INNODB_SYS_FIELDS INDEX_ID
INNODB_SYS_FOREIGN ID
@@ -280,7 +277,6 @@ INNODB_CMP_RESET information_schema.INNODB_CMP_RESET 1
INNODB_LOCKS information_schema.INNODB_LOCKS 1
INNODB_LOCK_WAITS information_schema.INNODB_LOCK_WAITS 1
INNODB_METRICS information_schema.INNODB_METRICS 1
-INNODB_MUTEXES information_schema.INNODB_MUTEXES 1
INNODB_SYS_COLUMNS information_schema.INNODB_SYS_COLUMNS 1
INNODB_SYS_FIELDS information_schema.INNODB_SYS_FIELDS 1
INNODB_SYS_FOREIGN information_schema.INNODB_SYS_FOREIGN 1
@@ -350,7 +346,6 @@ Database: information_schema
| INNODB_LOCKS |
| INNODB_LOCK_WAITS |
| INNODB_METRICS |
-| INNODB_MUTEXES |
| INNODB_SYS_COLUMNS |
| INNODB_SYS_FIELDS |
| INNODB_SYS_FOREIGN |
@@ -422,7 +417,6 @@ Database: INFORMATION_SCHEMA
| INNODB_LOCKS |
| INNODB_LOCK_WAITS |
| INNODB_METRICS |
-| INNODB_MUTEXES |
| INNODB_SYS_COLUMNS |
| INNODB_SYS_FIELDS |
| INNODB_SYS_FOREIGN |
@@ -469,5 +463,5 @@ Wildcard: inf_rmation_schema
| information_schema |
SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') GROUP BY TABLE_SCHEMA;
table_schema count(*)
-information_schema 67
+information_schema 66
mysql 31
diff --git a/mysql-test/main/information_schema_db.test b/mysql-test/main/information_schema_db.test
index 7cf8c0801e6..1dd0f84bc09 100644
--- a/mysql-test/main/information_schema_db.test
+++ b/mysql-test/main/information_schema_db.test
@@ -35,12 +35,14 @@ grant all privileges on `inf%`.* to 'mysqltest_1'@'localhost';
grant all privileges on `mbase`.* to 'mysqltest_1'@'localhost';
create table t1 (f1 int);
delimiter |;
+--enable_prepare_warnings
create function func1(curr_int int) returns int
begin
declare ret_val int;
select max(f1) from t1 into ret_val;
return ret_val;
end|
+--disable_prepare_warnings
delimiter ;|
create view v1 as select f1 from t1 where f1 = func1(f1);
create function func2() returns int return 1;
diff --git a/mysql-test/main/information_schema_parameters.result b/mysql-test/main/information_schema_parameters.result
index 81fed4c1ae4..c0f2eda5427 100644
--- a/mysql-test/main/information_schema_parameters.result
+++ b/mysql-test/main/information_schema_parameters.result
@@ -19,7 +19,7 @@ PARAMETERS CREATE TEMPORARY TABLE `PARAMETERS` (
`COLLATION_NAME` varchar(64),
`DTD_IDENTIFIER` longtext NOT NULL,
`ROUTINE_TYPE` varchar(9) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SELECT * FROM information_schema.columns
WHERE table_schema = 'information_schema'
AND table_name = 'parameters'
@@ -37,8 +37,8 @@ CHARACTER_OCTET_LENGTH 1536
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(512)
COLUMN_KEY
EXTRA
@@ -59,8 +59,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -81,8 +81,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -125,8 +125,8 @@ CHARACTER_OCTET_LENGTH 15
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(5)
COLUMN_KEY
EXTRA
@@ -147,8 +147,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -169,8 +169,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -301,8 +301,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -323,8 +323,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -345,8 +345,8 @@ CHARACTER_OCTET_LENGTH 4294967295
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE longtext
COLUMN_KEY
EXTRA
@@ -367,8 +367,8 @@ CHARACTER_OCTET_LENGTH 27
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(9)
COLUMN_KEY
EXTRA
@@ -521,8 +521,8 @@ RETURN CONCAT('XYZ, ' ,s);
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_SCHEMA = 'i_s_parameters_test' AND SPECIFIC_NAME = 'test_func5';
SPECIFIC_CATALOG SPECIFIC_SCHEMA SPECIFIC_NAME ORDINAL_POSITION PARAMETER_MODE PARAMETER_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_TYPE
-def i_s_parameters_test test_func5 0 NULL NULL varchar 30 90 NULL NULL NULL utf8 utf8_general_ci varchar(30) FUNCTION
-def i_s_parameters_test test_func5 1 IN s char 20 60 NULL NULL NULL utf8 utf8_general_ci char(20) FUNCTION
+def i_s_parameters_test test_func5 0 NULL NULL varchar 30 90 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(30) FUNCTION
+def i_s_parameters_test test_func5 1 IN s char 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(20) FUNCTION
DROP DATABASE i_s_parameters_test;
USE test;
#
diff --git a/mysql-test/main/information_schema_routines.result b/mysql-test/main/information_schema_routines.result
index 65779351289..6f9b4c7e6aa 100644
--- a/mysql-test/main/information_schema_routines.result
+++ b/mysql-test/main/information_schema_routines.result
@@ -32,11 +32,11 @@ ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
`LAST_ALTERED` datetime NOT NULL,
`SQL_MODE` varchar(8192) NOT NULL,
`ROUTINE_COMMENT` longtext NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SELECT * FROM information_schema.columns
WHERE table_schema = 'information_schema'
AND table_name = 'routines'
@@ -54,8 +54,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -76,8 +76,8 @@ CHARACTER_OCTET_LENGTH 1536
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(512)
COLUMN_KEY
EXTRA
@@ -98,8 +98,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -120,8 +120,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -142,8 +142,8 @@ CHARACTER_OCTET_LENGTH 39
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(13)
COLUMN_KEY
EXTRA
@@ -164,8 +164,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -296,8 +296,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -318,8 +318,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -340,8 +340,8 @@ CHARACTER_OCTET_LENGTH 4294967295
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE longtext
COLUMN_KEY
EXTRA
@@ -362,8 +362,8 @@ CHARACTER_OCTET_LENGTH 24
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(8)
COLUMN_KEY
EXTRA
@@ -384,8 +384,8 @@ CHARACTER_OCTET_LENGTH 4294967295
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE longtext
COLUMN_KEY
EXTRA
@@ -406,8 +406,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -428,8 +428,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -450,8 +450,8 @@ CHARACTER_OCTET_LENGTH 24
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(8)
COLUMN_KEY
EXTRA
@@ -472,8 +472,8 @@ CHARACTER_OCTET_LENGTH 9
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(3)
COLUMN_KEY
EXTRA
@@ -494,8 +494,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -516,8 +516,8 @@ CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(64)
COLUMN_KEY
EXTRA
@@ -538,8 +538,8 @@ CHARACTER_OCTET_LENGTH 21
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(7)
COLUMN_KEY
EXTRA
@@ -604,8 +604,8 @@ CHARACTER_OCTET_LENGTH 24576
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(8192)
COLUMN_KEY
EXTRA
@@ -626,8 +626,8 @@ CHARACTER_OCTET_LENGTH 4294967295
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE longtext
COLUMN_KEY
EXTRA
@@ -643,14 +643,14 @@ ORDINAL_POSITION 28
COLUMN_DEFAULT NULL
IS_NULLABLE NO
DATA_TYPE varchar
-CHARACTER_MAXIMUM_LENGTH 189
-CHARACTER_OCTET_LENGTH 567
+CHARACTER_MAXIMUM_LENGTH 384
+CHARACTER_OCTET_LENGTH 1152
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
-COLUMN_TYPE varchar(189)
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
+COLUMN_TYPE varchar(384)
COLUMN_KEY
EXTRA
PRIVILEGES #
@@ -670,8 +670,8 @@ CHARACTER_OCTET_LENGTH 96
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(32)
COLUMN_KEY
EXTRA
@@ -692,8 +692,8 @@ CHARACTER_OCTET_LENGTH 96
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(32)
COLUMN_KEY
EXTRA
@@ -714,8 +714,8 @@ CHARACTER_OCTET_LENGTH 96
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
DATETIME_PRECISION NULL
-CHARACTER_SET_NAME utf8
-COLLATION_NAME utf8_general_ci
+CHARACTER_SET_NAME utf8mb3
+COLLATION_NAME utf8mb3_general_ci
COLUMN_TYPE varchar(32)
COLUMN_KEY
EXTRA
@@ -752,7 +752,7 @@ CREATED datetime NO NULL
LAST_ALTERED datetime NO NULL
SQL_MODE varchar(8192) NO NULL
ROUTINE_COMMENT longtext NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -849,5 +849,5 @@ RETURN CONCAT('XYZ, ' ,s);
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'i_s_routines_test' AND ROUTINE_NAME = 'test_func5';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
-test_func5 def i_s_routines_test test_func5 FUNCTION varchar 30 90 NULL NULL NULL utf8 utf8_general_ci varchar(30) SQL RETURN CONCAT('XYZ, ' ,s) NULL NULL SQL NO CONTAINS SQL NULL DEFINER <created> <modified> root@localhost latin1 latin1_swedish_ci utf8_general_ci
+test_func5 def i_s_routines_test test_func5 FUNCTION varchar 30 90 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(30) SQL RETURN CONCAT('XYZ, ' ,s) NULL NULL SQL NO CONTAINS SQL NULL DEFINER <created> <modified> root@localhost latin1 latin1_swedish_ci utf8mb3_general_ci
DROP DATABASE i_s_routines_test;
diff --git a/mysql-test/main/init_file_longline_3816.result b/mysql-test/main/init_file_longline_3816.result
index 0155f764592..f670f67ccb8 100644
--- a/mysql-test/main/init_file_longline_3816.result
+++ b/mysql-test/main/init_file_longline_3816.result
@@ -1,3 +1,3 @@
select count(*) from t4;
count(*)
-0
+193
diff --git a/mysql-test/main/innodb_ext_key.result b/mysql-test/main/innodb_ext_key.result
index 0d3e27e5bf0..5b99fa4e30b 100644
--- a/mysql-test/main/innodb_ext_key.result
+++ b/mysql-test/main/innodb_ext_key.result
@@ -602,6 +602,17 @@ INSERT INTO t3 VALUES
(89,'text-8008',''),(90,'text-9008',''),(91,'text-9',''),(92,'text-1009',''),
(93,'text-2009',''),(94,'text-3009',''),(95,'text-4009',''),(96,'text-5009',''),
(97,'text-6009',''),(98,'text-7009',''),(99,'text-8009',''),(100,'text-9009','');
+ANALYZE TABLE t1,t2,t3;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'page_restrictions'
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+test.t3 analyze status Engine-independent statistics collected
+test.t3 analyze Warning Engine-independent statistics are not collected for column 'old_text'
+test.t3 analyze Warning Engine-independent statistics are not collected for column 'old_flags'
+test.t3 analyze status OK
EXPLAIN
SELECT * FROM t1, t2 IGNORE INDEX (PRIMARY), t3
WHERE page_id=rev_page AND rev_text_id=old_id AND page_namespace=4 AND page_title='Sandbox'
diff --git a/mysql-test/main/innodb_ext_key.test b/mysql-test/main/innodb_ext_key.test
index 77eda0df6f6..f1cf6658f0b 100644
--- a/mysql-test/main/innodb_ext_key.test
+++ b/mysql-test/main/innodb_ext_key.test
@@ -456,6 +456,7 @@ INSERT INTO t3 VALUES
(89,'text-8008',''),(90,'text-9008',''),(91,'text-9',''),(92,'text-1009',''),
(93,'text-2009',''),(94,'text-3009',''),(95,'text-4009',''),(96,'text-5009',''),
(97,'text-6009',''),(98,'text-7009',''),(99,'text-8009',''),(100,'text-9009','');
+ANALYZE TABLE t1,t2,t3;
EXPLAIN
diff --git a/mysql-test/main/innodb_mysql_lock.result b/mysql-test/main/innodb_mysql_lock.result
index 25cf2882cd0..6ca332018ca 100644
--- a/mysql-test/main/innodb_mysql_lock.result
+++ b/mysql-test/main/innodb_mysql_lock.result
@@ -12,6 +12,8 @@ connect con3,localhost,root,,;
connection con1;
set @@autocommit=0;
CREATE TABLE t1(s1 INT UNIQUE) ENGINE=innodb;
+INSERT INTO t1 VALUES (100);
+COMMIT;
INSERT INTO t1 VALUES (1);
connection con2;
set @@autocommit=0;
diff --git a/mysql-test/main/innodb_mysql_lock.test b/mysql-test/main/innodb_mysql_lock.test
index 6e746468dba..5ee688b1d6e 100644
--- a/mysql-test/main/innodb_mysql_lock.test
+++ b/mysql-test/main/innodb_mysql_lock.test
@@ -25,6 +25,11 @@ connect (con3,localhost,root,,);
connection con1;
set @@autocommit=0;
CREATE TABLE t1(s1 INT UNIQUE) ENGINE=innodb;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent DML won't happen on the table
+INSERT INTO t1 VALUES (100);
+COMMIT;
+
INSERT INTO t1 VALUES (1);
connection con2;
diff --git a/mysql-test/main/innodb_mysql_lock2.test b/mysql-test/main/innodb_mysql_lock2.test
index b983fd8dc7a..09298a900b1 100644
--- a/mysql-test/main/innodb_mysql_lock2.test
+++ b/mysql-test/main/innodb_mysql_lock2.test
@@ -71,6 +71,7 @@ insert into t5 values (1);
create view v1 as select i from t1;
create view v2 as select j from t2 where j in (select i from t1);
create procedure p1(k int) insert into t2 values (k);
+--enable_prepare_warnings
delimiter |;
create function f1() returns int
begin
@@ -192,6 +193,7 @@ begin
set new.l= j + 1;
end|
delimiter ;|
+--disable_prepare_warnings
--echo #
--echo # Set common variables to be used by scripts called below.
diff --git a/mysql-test/main/innodb_utf8.test b/mysql-test/main/innodb_utf8.test
index e52019588b0..b6ea12b02bb 100644
--- a/mysql-test/main/innodb_utf8.test
+++ b/mysql-test/main/innodb_utf8.test
@@ -3,7 +3,7 @@
#
--source include/have_innodb.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
# Setup
diff --git a/mysql-test/main/invisible_field.test b/mysql-test/main/invisible_field.test
index 558ca7aa3a2..7fd22704fcb 100644
--- a/mysql-test/main/invisible_field.test
+++ b/mysql-test/main/invisible_field.test
@@ -251,6 +251,7 @@ DROP TABLE t1;
create or replace table t1 (a int, b int invisible);
insert into t1 values (1),(2);
+--enable_prepare_warnings
select * from t1 into outfile 'f';
load data infile 'f' into table t1;
select a,b from t1;
@@ -277,6 +278,7 @@ drop table t1;
--echo #
create table t1 (a int, b int invisible);
insert delayed into t1 values (1);
+--disable_prepare_warnings
# cleanup
drop table t1;
diff --git a/mysql-test/main/invisible_field_debug.result b/mysql-test/main/invisible_field_debug.result
index 582c935333c..4cbdb31e155 100644
--- a/mysql-test/main/invisible_field_debug.result
+++ b/mysql-test/main/invisible_field_debug.result
@@ -249,10 +249,10 @@ b
alter table t1 add index(a);
alter table t1 add index(a,b);
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 A NULL NULL NULL YES BTREE
-t1 1 a_2 1 a A NULL NULL NULL YES BTREE
-t1 1 a_2 2 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 a_2 1 a A NULL NULL NULL YES BTREE NO
+t1 1 a_2 2 b A NULL NULL NULL YES BTREE NO
drop table t1;
set debug_dbug= "+d,test_pseudo_invisible";
Create table t1( a int default(99) invisible, b int);
@@ -280,7 +280,7 @@ ERROR 42000: Key column 'invisible' doesn't exist in table
alter table t1 add index(b,invisible);
ERROR 42000: Key column 'invisible' doesn't exist in table
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
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
set debug_dbug= "+d,test_completely_invisible";
Create table t1( a int default(99) invisible, b int);
@@ -308,17 +308,17 @@ ERROR 42000: Key column 'invisible' doesn't exist in table
alter table t1 add index(b,invisible);
ERROR 42000: Key column 'invisible' doesn't exist in table
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
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
set debug_dbug= "+d,test_completely_invisible,test_invisible_index";
Create table t1( a int default(99) , b int,c int, index(b));
set debug_dbug=@old_debug;
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 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
select * from INFORMATION_SCHEMA.STATISTICS where TABLE_SCHEMA ='test' and table_name='t1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 1 test b 1 b A NULL NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 1 test b 1 b A NULL NULL NULL YES BTREE NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -359,8 +359,8 @@ invisible a b
9 7 7
set debug_dbug=@old_debug;
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 b 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
create index a1 on t1(invisible);
ERROR 42000: Key column 'invisible' doesn't exist in table
set debug_dbug= "+d,test_completely_invisible,test_invisible_index";
@@ -374,10 +374,10 @@ explain select * from t1 where invisible =9;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL invisible_2 NULL NULL NULL 7 Using where
show indexes in t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 1 b 1 b A NULL NULL NULL YES BTREE
-t1 1 invisible 1 c A NULL NULL NULL YES BTREE
-t1 1 invisible_2 1 invisible A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
+t1 1 invisible 1 c A NULL NULL NULL YES BTREE NO
+t1 1 invisible_2 1 invisible A NULL NULL NULL YES BTREE NO
drop table t1;
set @old_debug= @@debug_dbug;
CREATE TABLE t1 (i INT );
diff --git a/mysql-test/main/join.result b/mysql-test/main/join.result
index b9543fc2c43..11b7ecad3ee 100644
--- a/mysql-test/main/join.result
+++ b/mysql-test/main/join.result
@@ -757,8 +757,8 @@ statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statist
columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT
from information_schema.statistics join information_schema.columns using(table_name,column_name) where table_name='global_priv';
TABLE_NAME COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLLATION SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT TABLE_CATALOG TABLE_SCHEMA COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA COLUMN_COMMENT
-global_priv Host def mysql 0 mysql PRIMARY 1 A NULL NULL BTREE def mysql '' NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI
-global_priv User def mysql 0 mysql PRIMARY 2 A NULL NULL BTREE def mysql '' NO char 80 240 NULL NULL utf8 utf8_bin char(80) PRI
+global_priv Host def mysql 0 mysql PRIMARY 1 A NULL NULL BTREE def mysql '' NO char 255 765 NULL NULL utf8mb3 utf8mb3_bin char(255) PRI
+global_priv User def mysql 0 mysql PRIMARY 2 A NULL NULL BTREE def mysql '' NO char 128 384 NULL NULL utf8mb3 utf8mb3_bin char(128) PRI
Warnings:
Warning 1286 Unknown storage engine 'InnoDB'
Warning 1286 Unknown storage engine 'InnoDB'
@@ -3340,9 +3340,9 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
set myisam_stats_method=@tmp1;
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 0 PRIMARY 1 pk A 1010 NULL NULL BTREE
-t1 0 a 1 a A 1010 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 pk A 1010 NULL NULL BTREE NO
+t1 0 a 1 a A 1010 NULL NULL YES BTREE NO
# t1 must use eq_ref(t1.a=t0.a) and rows must be 1 (and not 45):
explain select * from t0,t1 where t0.a=t1.a;
id select_type table type possible_keys key key_len ref rows Extra
diff --git a/mysql-test/main/join_cache.result b/mysql-test/main/join_cache.result
index 79c5b7923bd..0fbb73f56fe 100644
--- a/mysql-test/main/join_cache.result
+++ b/mysql-test/main/join_cache.result
@@ -5993,14 +5993,14 @@ create table t3 (c3 int);
insert into t1 values (1), (2);
insert into t2 values (1), (2);
insert into t3 values (2);
+set @counter=0;
explain
select count(*) from t1 straight_join t2
where c1 = c2-0 and c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
-2 UNCACHEABLE SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
-set @counter=0;
+2 UNCACHEABLE SUBQUERY t3 system NULL NULL NULL NULL 1
select count(*) from t1 straight_join t2
where c1 = c2-0 and c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1);
count(*)
diff --git a/mysql-test/main/join_cache.test b/mysql-test/main/join_cache.test
index b4271f648e3..4b659345db4 100644
--- a/mysql-test/main/join_cache.test
+++ b/mysql-test/main/join_cache.test
@@ -3998,12 +3998,12 @@ insert into t1 values (1), (2);
insert into t2 values (1), (2);
insert into t3 values (2);
+set @counter=0;
+
explain
select count(*) from t1 straight_join t2
where c1 = c2-0 and c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1);
-set @counter=0;
-
select count(*) from t1 straight_join t2
where c1 = c2-0 and c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1);
diff --git a/mysql-test/main/join_outer_innodb.result b/mysql-test/main/join_outer_innodb.result
index 09a37a29702..6f87048cdc1 100644
--- a/mysql-test/main/join_outer_innodb.result
+++ b/mysql-test/main/join_outer_innodb.result
@@ -1,3 +1,5 @@
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
INDEX (name)) ENGINE=InnoDB;
CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
@@ -515,3 +517,4 @@ UPDATE t1 LEFT JOIN t2 ON t1.c1 = t2.c2 AND t2.c1 = 3 SET t1.c3 = RAND()*10;
COMMIT;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
DROP TABLE t1,t2;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/join_outer_innodb.test b/mysql-test/main/join_outer_innodb.test
index 6b332f3d155..d1a8b0c4ab4 100644
--- a/mysql-test/main/join_outer_innodb.test
+++ b/mysql-test/main/join_outer_innodb.test
@@ -4,6 +4,8 @@
--source include/have_innodb.inc
--source include/default_optimizer_switch.inc
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
#
# Test for bug #17164: ORed FALSE blocked conversion of outer join into join
@@ -391,3 +393,4 @@ COMMIT;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
DROP TABLE t1,t2;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/key.result b/mysql-test/main/key.result
index 78a2f42c477..5d84068d8af 100644
--- a/mysql-test/main/key.result
+++ b/mysql-test/main/key.result
@@ -148,12 +148,12 @@ a 2
drop table t1;
create table t1 (a int not null unique, b int unique, c int, d int not null primary key, key(c), e int not null unique);
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 0 PRIMARY 1 d A 0 NULL NULL BTREE
-t1 0 a 1 a A 0 NULL NULL BTREE
-t1 0 e 1 e A 0 NULL NULL BTREE
-t1 0 b 1 b A NULL NULL NULL YES BTREE
-t1 1 c 1 c A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 d A 0 NULL NULL BTREE NO
+t1 0 a 1 a A 0 NULL NULL BTREE NO
+t1 0 e 1 e A 0 NULL NULL BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES BTREE NO
+t1 1 c 1 c A NULL NULL NULL YES BTREE NO
drop table t1;
CREATE TABLE t1 (c CHAR(10) NOT NULL,i INT NOT NULL AUTO_INCREMENT,
UNIQUE (c,i));
@@ -242,8 +242,8 @@ create table t1 (c varchar(30) character set utf8, t text character set utf8, un
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
- `t` text CHARACTER SET utf8 DEFAULT NULL,
+ `c` varchar(30) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `t` text CHARACTER SET utf8mb3 DEFAULT NULL,
UNIQUE KEY `c` (`c`(2)),
UNIQUE KEY `t` (`t`(3))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
diff --git a/mysql-test/main/keywords.result b/mysql-test/main/keywords.result
index db08dbbe741..483a8f7e7e8 100644
--- a/mysql-test/main/keywords.result
+++ b/mysql-test/main/keywords.result
@@ -753,62 +753,62 @@ CREATE FUNCTION test.year() RETURNS OOPS; -- Unknown data type: 'OOPS'
CREATE FUNCTION test.create() RETURNS OOPS; -- Unknown data type: 'OOPS'
CALL p2('DROP FUNCTION $(VAR)');
--------
-DROP FUNCTION non_keyword; -- This command is not supported in the pre
+DROP FUNCTION non_keyword; -- FUNCTION test.non_keyword does not exist
--------
-DROP FUNCTION lpad; -- This command is not supported in the pre
+DROP FUNCTION lpad; -- FUNCTION test.lpad does not exist
--------
-DROP FUNCTION rpad; -- This command is not supported in the pre
+DROP FUNCTION rpad; -- FUNCTION test.rpad does not exist
--------
-DROP FUNCTION adddate; -- This command is not supported in the pre
+DROP FUNCTION adddate; -- FUNCTION test.adddate does not exist
--------
-DROP FUNCTION substr; -- This command is not supported in the pre
+DROP FUNCTION substr; -- FUNCTION test.substr does not exist
--------
-DROP FUNCTION substring; -- This command is not supported in the pre
+DROP FUNCTION substring; -- FUNCTION test.substring does not exist
--------
-DROP FUNCTION trim_oracle; -- This command is not supported in the pre
+DROP FUNCTION trim_oracle; -- FUNCTION test.trim_oracle does not exist
--------
-DROP FUNCTION ascii; -- This command is not supported in the pre
+DROP FUNCTION ascii; -- FUNCTION test.ascii does not exist
--------
DROP FUNCTION replace; -- ..syntax.. near 'replace' at line 1
--------
-DROP FUNCTION weight_string; -- This command is not supported in the pre
+DROP FUNCTION weight_string; -- FUNCTION test.weight_string does not exi
--------
DROP FUNCTION char; -- ..syntax.. near 'char' at line 1
--------
-DROP FUNCTION trim; -- This command is not supported in the pre
+DROP FUNCTION trim; -- FUNCTION test.trim does not exist
--------
-DROP FUNCTION year; -- This command is not supported in the pre
+DROP FUNCTION year; -- FUNCTION test.year does not exist
--------
DROP FUNCTION create; -- ..syntax.. near 'create' at line 1
CALL p2('DROP FUNCTION test.$(VAR)');
--------
-DROP FUNCTION test.non_keyword; -- This command is not supported in the pre
+DROP FUNCTION test.non_keyword; -- FUNCTION test.non_keyword does not exist
--------
-DROP FUNCTION test.lpad; -- This command is not supported in the pre
+DROP FUNCTION test.lpad; -- FUNCTION test.lpad does not exist
--------
-DROP FUNCTION test.rpad; -- This command is not supported in the pre
+DROP FUNCTION test.rpad; -- FUNCTION test.rpad does not exist
--------
-DROP FUNCTION test.adddate; -- This command is not supported in the pre
+DROP FUNCTION test.adddate; -- FUNCTION test.adddate does not exist
--------
-DROP FUNCTION test.substr; -- This command is not supported in the pre
+DROP FUNCTION test.substr; -- FUNCTION test.substr does not exist
--------
-DROP FUNCTION test.substring; -- This command is not supported in the pre
+DROP FUNCTION test.substring; -- FUNCTION test.substring does not exist
--------
-DROP FUNCTION test.trim_oracle; -- This command is not supported in the pre
+DROP FUNCTION test.trim_oracle; -- FUNCTION test.trim_oracle does not exist
--------
-DROP FUNCTION test.ascii; -- This command is not supported in the pre
+DROP FUNCTION test.ascii; -- FUNCTION test.ascii does not exist
--------
-DROP FUNCTION test.replace; -- This command is not supported in the pre
+DROP FUNCTION test.replace; -- FUNCTION test.replace does not exist
--------
-DROP FUNCTION test.weight_string; -- This command is not supported in the pre
+DROP FUNCTION test.weight_string; -- FUNCTION test.weight_string does not exi
--------
-DROP FUNCTION test.char; -- This command is not supported in the pre
+DROP FUNCTION test.char; -- FUNCTION test.char does not exist
--------
-DROP FUNCTION test.trim; -- This command is not supported in the pre
+DROP FUNCTION test.trim; -- FUNCTION test.trim does not exist
--------
-DROP FUNCTION test.year; -- This command is not supported in the pre
+DROP FUNCTION test.year; -- FUNCTION test.year does not exist
--------
-DROP FUNCTION test.create; -- This command is not supported in the pre
+DROP FUNCTION test.create; -- FUNCTION test.create does not exist
DROP TABLE t1;
DROP PROCEDURE p1;
DROP PROCEDURE p2;
diff --git a/mysql-test/main/locale.result b/mysql-test/main/locale.result
index f136e9e99ab..d29482ceffa 100644
--- a/mysql-test/main/locale.result
+++ b/mysql-test/main/locale.result
@@ -111,9 +111,9 @@ Warnings:
Note 1265 Data truncated for column 'd' at row 1
SET lc_time_names=ru_RU;
SELECT c FROM t1 WHERE DAYNAME(d)<>c;
-ERROR HY000: Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation '<>'
+ERROR HY000: Illegal mix of collations (utf8mb3_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation '<>'
SELECT c FROM t1 WHERE MONTHNAME(d)<>c;
-ERROR HY000: Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation '<>'
+ERROR HY000: Illegal mix of collations (utf8mb3_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation '<>'
SET lc_time_names=en_US;
SELECT c FROM t1 WHERE DAYNAME(d)<>c;
c
@@ -238,7 +238,7 @@ a a1 b b1
10 Oct October 10 Окт ОктÑÐ±Ñ€Ñ 123,456,789.00 123'456'789,00
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 date_format('2001-10-02','%c %b %M') AS `a`,date_format('2001-10-02','%c %b %M','ru_RU') AS `a1`,format(123456789,2) AS `b`,format(123456789,2,'rm_CH') AS `b1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select date_format('2001-10-02','%c %b %M') AS `a`,date_format('2001-10-02','%c %b %M','ru_RU') AS `a1`,format(123456789,2) AS `b`,format(123456789,2,'rm_CH') AS `b1` utf8mb3 utf8mb3_general_ci
drop view v1;
#
# End of 10.2 tests
diff --git a/mysql-test/main/lock.result b/mysql-test/main/lock.result
index 7abeaf035ee..d0adc923563 100644
--- a/mysql-test/main/lock.result
+++ b/mysql-test/main/lock.result
@@ -535,3 +535,25 @@ DROP TABLE t;
#
# End of 10.5 tests
#
+#
+# MDEV-19198 Assertion `(create_info->tmp_table()) || ....`
+# failed in mysql_create_like_table
+#
+CREATE TABLE t1 (c INT);
+CREATE TABLE t2 (c INT);
+LOCK TABLES t1 WRITE, t2 READ;
+CREATE TABLE IF NOT EXISTS t1 LIKE t2;
+Warnings:
+Note 1050 Table 't1' already exists
+UNLOCK TABLES;
+LOCK TABLES t1 READ , t2 READ;
+CREATE TABLE IF NOT EXISTS t1 LIKE t2;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+CREATE TABLE IF NOT EXISTS t1 LIKE t2;
+Warnings:
+Note 1050 Table 't1' already exists
+DROP TABLES t1,t2;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/lock.test b/mysql-test/main/lock.test
index 8f2435160c3..3e21fb891b8 100644
--- a/mysql-test/main/lock.test
+++ b/mysql-test/main/lock.test
@@ -651,3 +651,28 @@ DROP TABLE t;
--echo #
--echo # End of 10.5 tests
--echo #
+
+--echo #
+--echo # MDEV-19198 Assertion `(create_info->tmp_table()) || ....`
+--echo # failed in mysql_create_like_table
+--echo #
+
+CREATE TABLE t1 (c INT);
+CREATE TABLE t2 (c INT);
+
+LOCK TABLES t1 WRITE, t2 READ;
+CREATE TABLE IF NOT EXISTS t1 LIKE t2;
+UNLOCK TABLES;
+
+LOCK TABLES t1 READ , t2 READ;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+CREATE TABLE IF NOT EXISTS t1 LIKE t2;
+UNLOCK TABLES;
+
+CREATE TABLE IF NOT EXISTS t1 LIKE t2;
+
+DROP TABLES t1,t2;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/lock_kill.test b/mysql-test/main/lock_kill.test
index 2c1396e5ff3..5cf67fd3bc8 100644
--- a/mysql-test/main/lock_kill.test
+++ b/mysql-test/main/lock_kill.test
@@ -17,8 +17,10 @@ LOCK TABLE t1 WRITE;
eval KILL $conid;
--enable_query_log
--connection con1
+--disable_warnings
--error 0,2006,2013,ER_CONNECTION_KILLED
reap;
+--enable_warnings
--connection default
--disconnect con1
DROP TABLE t1;
@@ -35,8 +37,10 @@ LOCK TABLE t1 WRITE, t2 WRITE;
eval KILL $conid;
--enable_query_log
--connection con1
+--disable_warnings
--error 0,2006,2013,ER_CONNECTION_KILLED
reap;
+--enable_warnings
--connection default
--disconnect con1
DROP TABLE t1, t2;
diff --git a/mysql-test/main/lock_sync.test b/mysql-test/main/lock_sync.test
index ed0ae19f921..b2cb0bc058c 100644
--- a/mysql-test/main/lock_sync.test
+++ b/mysql-test/main/lock_sync.test
@@ -82,6 +82,7 @@ create view v1 as select i from t1;
create view v2 as select j from t2 where j in (select i from t1);
create procedure p1(k int) insert into t2 values (k);
delimiter |;
+--enable_prepare_warnings
create function f1() returns int
begin
declare j int;
@@ -223,6 +224,8 @@ begin
end|
delimiter ;|
+--disable_prepare_warnings
+
--echo #
--echo # Set common variables to be used by the scripts
--echo # called below.
diff --git a/mysql-test/main/locking_clause.result b/mysql-test/main/locking_clause.result
new file mode 100644
index 00000000000..d2ebfe4799f
--- /dev/null
+++ b/mysql-test/main/locking_clause.result
@@ -0,0 +1,164 @@
+CREATE TABLE t1 ( a INT, b INT );
+INSERT INTO t1 VALUES (1, 1);
+CREATE VIEW v1 AS SELECT * FROM t1;
+CREATE TABLE t2 ( a INT );
+INSERT INTO t2 VALUES (1);
+#
+# The new non-standard keywords should still be useable as identifiers.
+# The standard ones should not.
+#
+CREATE TABLE t ( of INT );
+CREATE TABLE t0 ( skip INT, locked INT, nowait INT );
+DROP TABLE t, t0;
+CREATE PROCEDURE p0() BEGIN of: LOOP LEAVE of; END LOOP of; END|
+CREATE PROCEDURE p1() BEGIN skip: LOOP LEAVE skip; END LOOP skip; END|
+CREATE PROCEDURE p2() BEGIN locked: LOOP LEAVE locked; END LOOP locked; END|
+CREATE PROCEDURE p3() BEGIN nowait: LOOP LEAVE nowait; END LOOP nowait; END|
+DROP PROCEDURE p0;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP PROCEDURE p3;
+#
+# Test of the syntax.
+#
+#
+# UPDATE ...
+#
+SELECT * FROM t1 FOR UPDATE;
+a b
+1 1
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+a b
+1 1
+SELECT * FROM t1 FOR UPDATE SKIP LOCKED;
+a b
+1 1
+#
+# Dual locking clauses
+#
+SELECT * FROM t1 JOIN t2 FOR UPDATE;
+a b a
+1 1 1
+SELECT * FROM t1 STRAIGHT_JOIN t2 FOR UPDATE;
+a b a
+1 1 1
+#
+# Derived tables and views.
+#
+SELECT 1 FROM ( SELECT 1 ) AS t2 FOR UPDATE;
+1
+1
+SELECT 1 FROM v1 FOR UPDATE;
+1
+1
+#
+# Test of syntax errors.
+#
+SELECT * FROM t1 FOR SHARE WAIT WAIT;
+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 'SHARE WAIT WAIT' at line 1
+SELECT * FROM t1 FOR SHARE WAIT NOWAIT;
+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 'SHARE WAIT NOWAIT' at line 1
+SELECT * FROM t1 FOR SHARE WAIT SKIP LOCKED;
+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 'SHARE WAIT SKIP LOCKED' at line 1
+SELECT * FROM t1 FOR SHARE WAIT 3 SKIP LOCKED;
+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 'SHARE WAIT 3 SKIP LOCKED' at line 1
+SELECT * FROM t1 FOR SHARE NOWAIT SKIP LOCKED;
+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 'SHARE NOWAIT SKIP LOCKED' at line 1
+SELECT 1 FOR UPDATE UNION SELECT 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 'UNION SELECT 2' at line 1
+SELECT 1 LOCK IN SHARE MODE UNION SELECT 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 'UNION SELECT 2' at line 1
+SELECT 1 FOR SHARE UNION SELECT 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 'SHARE UNION SELECT 2' at line 1
+SELECT * FROM t1 LEFT JOIN t2 FOR UPDATE;
+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 'FOR UPDATE' at line 1
+SELECT * FROM t1 LEFT JOIN t2 FOR SHARE;
+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 'FOR SHARE' at line 1
+SELECT * FROM t1 LEFT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2;
+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 'FOR SHARE OF t1 FOR UPDATE OF t2' at line 1
+SELECT * FROM t1 RIGHT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2;
+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 'FOR SHARE OF t1 FOR UPDATE OF t2' at line 1
+#
+# Test of error messages.
+#
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 ( a INT, b INT );
+INSERT INTO t1 VALUES (10, 10);
+SELECT MIN(a) FROM t1 FOR UPDATE SKIP LOCKED;
+MIN(a)
+1
+SELECT MAX(a) FROM t1 FOR UPDATE SKIP LOCKED;
+MAX(a)
+10
+SELECT SUM(a) FROM t1 FOR UPDATE SKIP LOCKED;
+SUM(a)
+11
+SELECT MIN(a) FROM t1 FOR UPDATE NOWAIT;
+MIN(a)
+1
+SELECT MAX(a) FROM t1 FOR UPDATE NOWAIT;
+MAX(a)
+10
+SELECT SUM(a) FROM t1 FOR UPDATE NOWAIT;
+SUM(a)
+11
+SELECT DISTINCT * FROM t1 FOR UPDATE SKIP LOCKED;
+a b
+1 1
+10 10
+SELECT DISTINCT * FROM t1 FOR UPDATE NOWAIT;
+a b
+1 1
+10 10
+SELECT MIN(b) FROM t1 GROUP BY a FOR UPDATE SKIP LOCKED;
+MIN(b)
+1
+10
+#
+# Regression testing.
+#
+DROP DATABASE db1;
+DROP VIEW v1;
+DROP TABLE t1, t2;
+#
+# Bug#25972285: UNCLEAR ERROR MESSAGE FOR NOWAIT
+#
+CREATE USER test@localhost;
+GRANT CREATE, SELECT, UPDATE on *.* to test@localhost;
+CREATE USER test2@localhost;
+GRANT CREATE, SELECT, UPDATE on *.* to test2@localhost;
+CREATE TABLE t1 ( a INT ) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ( 1 );
+connect con1, localhost, test, , test;
+BEGIN;
+SELECT * FROM t1 WHERE a = 2 FOR UPDATE ;
+a
+connect con2,localhost,test2,,test;
+BEGIN;
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+COMMIT;
+connection default;
+disconnect con1;
+disconnect con2;
+DROP TABLE t1;
+DROP USER test@localhost;
+DROP USER test2@localhost;
+#
+# Bug#30237291: "SELECT ... INTO VAR_NAME FOR UPDATE" NOT WORKING IN
+# MYSQL 8
+#
+SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE;
+Warnings:
+Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+SELECT 1 FROM DUAL LIMIT 1 FOR UPDATE INTO @var;
+Warnings:
+Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE INTO @var;
+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 'INTO @var' at line 1
+SELECT 1 UNION SELECT 1 FOR UPDATE INTO @var;
+Warnings:
+Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+SELECT 1 UNION SELECT 1 INTO @var FOR UPDATE;
+Warnings:
+Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
diff --git a/mysql-test/main/locking_clause.test b/mysql-test/main/locking_clause.test
new file mode 100644
index 00000000000..acba190b29f
--- /dev/null
+++ b/mysql-test/main/locking_clause.test
@@ -0,0 +1,163 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 ( a INT, b INT );
+INSERT INTO t1 VALUES (1, 1);
+
+CREATE VIEW v1 AS SELECT * FROM t1;
+
+CREATE TABLE t2 ( a INT );
+INSERT INTO t2 VALUES (1);
+
+--echo #
+--echo # The new non-standard keywords should still be useable as identifiers.
+--echo # The standard ones should not.
+--echo #
+
+CREATE TABLE t ( of INT );
+CREATE TABLE t0 ( skip INT, locked INT, nowait INT );
+DROP TABLE t, t0;
+
+delimiter |;
+
+CREATE PROCEDURE p0() BEGIN of: LOOP LEAVE of; END LOOP of; END|
+CREATE PROCEDURE p1() BEGIN skip: LOOP LEAVE skip; END LOOP skip; END|
+CREATE PROCEDURE p2() BEGIN locked: LOOP LEAVE locked; END LOOP locked; END|
+CREATE PROCEDURE p3() BEGIN nowait: LOOP LEAVE nowait; END LOOP nowait; END|
+
+delimiter ;|
+
+DROP PROCEDURE p0;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP PROCEDURE p3;
+
+--echo #
+--echo # Test of the syntax.
+--echo #
+
+--echo #
+--echo # UPDATE ...
+--echo #
+SELECT * FROM t1 FOR UPDATE;
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+SELECT * FROM t1 FOR UPDATE SKIP LOCKED;
+
+--echo #
+--echo # Dual locking clauses
+--echo #
+SELECT * FROM t1 JOIN t2 FOR UPDATE;
+SELECT * FROM t1 STRAIGHT_JOIN t2 FOR UPDATE;
+
+--echo #
+--echo # Derived tables and views.
+--echo #
+SELECT 1 FROM ( SELECT 1 ) AS t2 FOR UPDATE;
+SELECT 1 FROM v1 FOR UPDATE;
+
+--echo #
+--echo # Test of syntax errors.
+--echo #
+
+--error ER_PARSE_ERROR
+SELECT * FROM t1 FOR SHARE WAIT WAIT;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 FOR SHARE WAIT NOWAIT;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 FOR SHARE WAIT SKIP LOCKED;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 FOR SHARE WAIT 3 SKIP LOCKED;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 FOR SHARE NOWAIT SKIP LOCKED;
+--error ER_PARSE_ERROR
+SELECT 1 FOR UPDATE UNION SELECT 2;
+--error ER_PARSE_ERROR
+SELECT 1 LOCK IN SHARE MODE UNION SELECT 2;
+--error ER_PARSE_ERROR
+SELECT 1 FOR SHARE UNION SELECT 2;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 LEFT JOIN t2 FOR UPDATE;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 LEFT JOIN t2 FOR SHARE;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 LEFT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2;
+--error ER_PARSE_ERROR
+SELECT * FROM t1 RIGHT JOIN t2 FOR SHARE OF t1 FOR UPDATE OF t2;
+
+--echo #
+--echo # Test of error messages.
+--echo #
+
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 ( a INT, b INT );
+INSERT INTO t1 VALUES (10, 10);
+
+SELECT MIN(a) FROM t1 FOR UPDATE SKIP LOCKED;
+SELECT MAX(a) FROM t1 FOR UPDATE SKIP LOCKED;
+SELECT SUM(a) FROM t1 FOR UPDATE SKIP LOCKED;
+
+SELECT MIN(a) FROM t1 FOR UPDATE NOWAIT;
+SELECT MAX(a) FROM t1 FOR UPDATE NOWAIT;
+SELECT SUM(a) FROM t1 FOR UPDATE NOWAIT;
+
+SELECT DISTINCT * FROM t1 FOR UPDATE SKIP LOCKED;
+SELECT DISTINCT * FROM t1 FOR UPDATE NOWAIT;
+
+SELECT MIN(b) FROM t1 GROUP BY a FOR UPDATE SKIP LOCKED;
+
+--echo #
+--echo # Regression testing.
+--echo #
+
+DROP DATABASE db1;
+DROP VIEW v1;
+DROP TABLE t1, t2;
+
+--echo #
+--echo # Bug#25972285: UNCLEAR ERROR MESSAGE FOR NOWAIT
+--echo #
+CREATE USER test@localhost;
+GRANT CREATE, SELECT, UPDATE on *.* to test@localhost;
+
+CREATE USER test2@localhost;
+GRANT CREATE, SELECT, UPDATE on *.* to test2@localhost;
+
+CREATE TABLE t1 ( a INT ) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ( 1 );
+
+connect (con1, localhost, test, , test);
+
+BEGIN;
+SELECT * FROM t1 WHERE a = 2 FOR UPDATE ;
+
+connect (con2,localhost,test2,,test);
+BEGIN;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+
+COMMIT;
+
+connection default;
+disconnect con1;
+disconnect con2;
+
+DROP TABLE t1;
+DROP USER test@localhost;
+DROP USER test2@localhost;
+
+--echo #
+--echo # Bug#30237291: "SELECT ... INTO VAR_NAME FOR UPDATE" NOT WORKING IN
+--echo # MYSQL 8
+--echo #
+
+--enable_prepare_warnings
+SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE;
+SELECT 1 FROM DUAL LIMIT 1 FOR UPDATE INTO @var;
+
+# Double INTO should fail:
+--error ER_PARSE_ERROR
+SELECT 1 FROM DUAL LIMIT 1 INTO @var FOR UPDATE INTO @var;
+
+SELECT 1 UNION SELECT 1 FOR UPDATE INTO @var;
+SELECT 1 UNION SELECT 1 INTO @var FOR UPDATE;
+--disable_prepare_warnings
diff --git a/mysql-test/main/log_tables.result b/mysql-test/main/log_tables.result
index 914bc06748e..e20d3db2daf 100644
--- a/mysql-test/main/log_tables.result
+++ b/mysql-test/main/log_tables.result
@@ -57,7 +57,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show fields from mysql.general_log;
Field Type Null Key Default Extra
event_time timestamp(6) NO current_timestamp(6) on update current_timestamp(6)
@@ -82,7 +82,7 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
show fields from mysql.slow_log;
Field Type Null Key Default Extra
start_time timestamp(6) NO current_timestamp(6) on update current_timestamp(6)
@@ -172,7 +172,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show create table mysql.slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -189,7 +189,7 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
alter table mysql.general_log engine=myisam;
alter table mysql.slow_log engine=myisam;
show create table mysql.general_log;
@@ -201,7 +201,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show create table mysql.slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -218,7 +218,7 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
set global general_log='ON';
set global slow_query_log='ON';
select * from mysql.general_log;
@@ -792,10 +792,11 @@ set @lparam = "000 001 002 003 004 005 006 007 008 009"
prepare long_query from "select ? as long_query";
execute long_query using @lparam;
set global general_log = off;
-select command_type, argument from mysql.general_log where thread_id = @thread_id;
-command_type argument
-Query set global general_log = on
-Query set @lparam = "000 001 002 003 004 005 006 007 008 009"
+select argument from mysql.general_log where thread_id = @thread_id
+AND (command_type = 'Query' OR command_type= 'Execute');
+argument
+set global general_log = on
+set @lparam = "000 001 002 003 004 005 006 007 008 009"
"010 011 012 013 014 015 016 017 018 019"
"020 021 022 023 024 025 026 027 028 029"
"030 031 032 033 034 035 036 037 038 039"
@@ -895,11 +896,10 @@ Query set @lparam = "000 001 002 003 004 005 006 007 008 009"
"970 971 972 973 974 975 976 977 978 979"
"980 981 982 983 984 985 986 987 988 989"
"990 991 992 993 994 995 996 997 998 999"
-Query prepare long_query from "select ? as long_query"
-Prepare select ? as long_query
-Query execute long_query using @lparam
-Execute select '000 001 002 003 004 005 006 007 008 009010 011 012 013 014 015 016 017 018 019020 021 022 023 024 025 026 027 028 029030 031 032 033 034 035 036 037 038 039040 041 042 043 044 045 046 047 048 049050 051 052 053 054 055 056 057 058 059060 061 062 063 064 065 066 067 068 069070 071 072 073 074 075 076 077 078 079080 081 082 083 084 085 086 087 088 089090 091 092 093 094 095 096 097 098 099100 101 102 103 104 105 106 107 108 109110 111 112 113 114 115 116 117 118 119120 121 122 123 124 125 126 127 128 129130 131 132 133 134 135 136 137 138 139140 141 142 143 144 145 146 147 148 149150 151 152 153 154 155 156 157 158 159160 161 162 163 164 165 166 167 168 169170 171 172 173 174 175 176 177 178 179180 181 182 183 184 185 186 187 188 189190 191 192 193 194 195 196 197 198 199200 201 202 203 204 205 206 207 208 209210 211 212 213 214 215 216 217 218 219220 221 222 223 224 225 226 227 228 229230 231 232 233 234 235 236 237 238 239240 241 242 243 244 245 246 247 248 249250 251 252 253 254 255 256 257 258 259260 261 262 263 264 265 266 267 268 269270 271 272 273 274 275 276 277 278 279280 281 282 283 284 285 286 287 288 289290 291 292 293 294 295 296 297 298 299300 301 302 303 304 305 306 307 308 309310 311 312 313 314 315 316 317 318 319320 321 322 323 324 325 326 327 328 329330 331 332 333 334 335 336 337 338 339340 341 342 343 344 345 346 347 348 349350 351 352 353 354 355 356 357 358 359360 361 362 363 364 365 366 367 368 369370 371 372 373 374 375 376 377 378 379380 381 382 383 384 385 386 387 388 389390 391 392 393 394 395 396 397 398 399400 401 402 403 404 405 406 407 408 409410 411 412 413 414 415 416 417 418 419420 421 422 423 424 425 426 427 428 429430 431 432 433 434 435 436 437 438 439440 441 442 443 444 445 446 447 448 449450 451 452 453 454 455 456 457 458 459460 461 462 463 464 465 466 467 468 469470 471 472 473 474 475 476 477 478 479480 481 482 483 484 485 486 487 488 489490 491 492 493 494 495 496 497 498 499500 501 502 503 504 505 506 507 508 509510 511 512 513 514 515 516 517 518 519520 521 522 523 524 525 526 527 528 529530 531 532 533 534 535 536 537 538 539540 541 542 543 544 545 546 547 548 549550 551 552 553 554 555 556 557 558 559560 561 562 563 564 565 566 567 568 569570 571 572 573 574 575 576 577 578 579580 581 582 583 584 585 586 587 588 589590 591 592 593 594 595 596 597 598 599600 601 602 603 604 605 606 607 608 609610 611 612 613 614 615 616 617 618 619620 621 622 623 624 625 626 627 628 629630 631 632 633 634 635 636 637 638 639640 641 642 643 644 645 646 647 648 649650 651 652 653 654 655 656 657 658 659660 661 662 663 664 665 666 667 668 669670 671 672 673 674 675 676 677 678 679680 681 682 683 684 685 686 687 688 689690 691 692 693 694 695 696 697 698 699700 701 702 703 704 705 706 707 708 709710 711 712 713 714 715 716 717 718 719720 721 722 723 724 725 726 727 728 729730 731 732 733 734 735 736 737 738 739740 741 742 743 744 745 746 747 748 749750 751 752 753 754 755 756 757 758 759760 761 762 763 764 765 766 767 768 769770 771 772 773 774 775 776 777 778 779780 781 782 783 784 785 786 787 788 789790 791 792 793 794 795 796 797 798 799800 801 802 803 804 805 806 807 808 809810 811 812 813 814 815 816 817 818 819820 821 822 823 824 825 826 827 828 829830 831 832 833 834 835 836 837 838 839840 841 842 843 844 845 846 847 848 849850 851 852 853 854 855 856 857 858 859860 861 862 863 864 865 866 867 868 869870 871 872 873 874 875 876 877 878 879880 881 882 883 884 885 886 887 888 889890 891 892 893 894 895 896 897 898 899900 901 902 903 904 905 906 907 908 909910 911 912 913 914 915 916 917 918 919920 921 922 923 924 925 926 927 928 929930 931 932 933 934 935 936 937 938 939940 941 942 943 944 945 946 947 948 949950 951 952 953 954 955 956 957 958 959960 961 962 963 964 965 966 967 968 969970 971 972 973 974 975 976 977 978 979980 981 982 983 984 985 986 987 988 989990 991 992 993 994 995 996 997 998 999' as long_query
-Query set global general_log = off
+prepare long_query from "select ? as long_query"
+execute long_query using @lparam
+select '000 001 002 003 004 005 006 007 008 009010 011 012 013 014 015 016 017 018 019020 021 022 023 024 025 026 027 028 029030 031 032 033 034 035 036 037 038 039040 041 042 043 044 045 046 047 048 049050 051 052 053 054 055 056 057 058 059060 061 062 063 064 065 066 067 068 069070 071 072 073 074 075 076 077 078 079080 081 082 083 084 085 086 087 088 089090 091 092 093 094 095 096 097 098 099100 101 102 103 104 105 106 107 108 109110 111 112 113 114 115 116 117 118 119120 121 122 123 124 125 126 127 128 129130 131 132 133 134 135 136 137 138 139140 141 142 143 144 145 146 147 148 149150 151 152 153 154 155 156 157 158 159160 161 162 163 164 165 166 167 168 169170 171 172 173 174 175 176 177 178 179180 181 182 183 184 185 186 187 188 189190 191 192 193 194 195 196 197 198 199200 201 202 203 204 205 206 207 208 209210 211 212 213 214 215 216 217 218 219220 221 222 223 224 225 226 227 228 229230 231 232 233 234 235 236 237 238 239240 241 242 243 244 245 246 247 248 249250 251 252 253 254 255 256 257 258 259260 261 262 263 264 265 266 267 268 269270 271 272 273 274 275 276 277 278 279280 281 282 283 284 285 286 287 288 289290 291 292 293 294 295 296 297 298 299300 301 302 303 304 305 306 307 308 309310 311 312 313 314 315 316 317 318 319320 321 322 323 324 325 326 327 328 329330 331 332 333 334 335 336 337 338 339340 341 342 343 344 345 346 347 348 349350 351 352 353 354 355 356 357 358 359360 361 362 363 364 365 366 367 368 369370 371 372 373 374 375 376 377 378 379380 381 382 383 384 385 386 387 388 389390 391 392 393 394 395 396 397 398 399400 401 402 403 404 405 406 407 408 409410 411 412 413 414 415 416 417 418 419420 421 422 423 424 425 426 427 428 429430 431 432 433 434 435 436 437 438 439440 441 442 443 444 445 446 447 448 449450 451 452 453 454 455 456 457 458 459460 461 462 463 464 465 466 467 468 469470 471 472 473 474 475 476 477 478 479480 481 482 483 484 485 486 487 488 489490 491 492 493 494 495 496 497 498 499500 501 502 503 504 505 506 507 508 509510 511 512 513 514 515 516 517 518 519520 521 522 523 524 525 526 527 528 529530 531 532 533 534 535 536 537 538 539540 541 542 543 544 545 546 547 548 549550 551 552 553 554 555 556 557 558 559560 561 562 563 564 565 566 567 568 569570 571 572 573 574 575 576 577 578 579580 581 582 583 584 585 586 587 588 589590 591 592 593 594 595 596 597 598 599600 601 602 603 604 605 606 607 608 609610 611 612 613 614 615 616 617 618 619620 621 622 623 624 625 626 627 628 629630 631 632 633 634 635 636 637 638 639640 641 642 643 644 645 646 647 648 649650 651 652 653 654 655 656 657 658 659660 661 662 663 664 665 666 667 668 669670 671 672 673 674 675 676 677 678 679680 681 682 683 684 685 686 687 688 689690 691 692 693 694 695 696 697 698 699700 701 702 703 704 705 706 707 708 709710 711 712 713 714 715 716 717 718 719720 721 722 723 724 725 726 727 728 729730 731 732 733 734 735 736 737 738 739740 741 742 743 744 745 746 747 748 749750 751 752 753 754 755 756 757 758 759760 761 762 763 764 765 766 767 768 769770 771 772 773 774 775 776 777 778 779780 781 782 783 784 785 786 787 788 789790 791 792 793 794 795 796 797 798 799800 801 802 803 804 805 806 807 808 809810 811 812 813 814 815 816 817 818 819820 821 822 823 824 825 826 827 828 829830 831 832 833 834 835 836 837 838 839840 841 842 843 844 845 846 847 848 849850 851 852 853 854 855 856 857 858 859860 861 862 863 864 865 866 867 868 869870 871 872 873 874 875 876 877 878 879880 881 882 883 884 885 886 887 888 889890 891 892 893 894 895 896 897 898 899900 901 902 903 904 905 906 907 908 909910 911 912 913 914 915 916 917 918 919920 921 922 923 924 925 926 927 928 929930 931 932 933 934 935 936 937 938 939940 941 942 943 944 945 946 947 948 949950 951 952 953 954 955 956 957 958 959960 961 962 963 964 965 966 967 968 969970 971 972 973 974 975 976 977 978 979980 981 982 983 984 985 986 987 988 989990 991 992 993 994 995 996 997 998 999' as long_query
+set global general_log = off
deallocate prepare long_query;
set global general_log = @old_general_log;
DROP TABLE IF EXISTS log_count;
diff --git a/mysql-test/main/log_tables.test b/mysql-test/main/log_tables.test
index 537bd843af8..22db93bd1ed 100644
--- a/mysql-test/main/log_tables.test
+++ b/mysql-test/main/log_tables.test
@@ -988,7 +988,8 @@ prepare long_query from "select ? as long_query";
execute long_query using @lparam;
--enable_result_log
set global general_log = off;
-select command_type, argument from mysql.general_log where thread_id = @thread_id;
+select argument from mysql.general_log where thread_id = @thread_id
+AND (command_type = 'Query' OR command_type= 'Execute');
deallocate prepare long_query;
set global general_log = @old_general_log;
diff --git a/mysql-test/main/log_tables_upgrade.result b/mysql-test/main/log_tables_upgrade.result
index 8d7b08a11bd..ccdd726cb82 100644
--- a/mysql-test/main/log_tables_upgrade.result
+++ b/mysql-test/main/log_tables_upgrade.result
@@ -46,6 +46,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -55,6 +155,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/long_host.result b/mysql-test/main/long_host.result
new file mode 100644
index 00000000000..4c479e36fa9
--- /dev/null
+++ b/mysql-test/main/long_host.result
@@ -0,0 +1,159 @@
+# check user
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_3456789;
+ERROR HY000: String 'user5678901_345678902_345678903_345678904_345678905_345678906_34567...' is too long for user name (should be no longer than 128)
+SELECT host, user FROM mysql.user where user like "user56789%";
+Host User
+% user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678
+drop user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_3456;
+ERROR HY000: String 'host5678901_345678902_345678903_345678904_345678905_345678906_34567...' is too long for host name (should be no longer than 255)
+SELECT host, user FROM mysql.user where user like "user56789%";
+Host User
+host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345 user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678
+create database mariadbtestdb;
+create database mariadbtestdb2;
+create table mariadbtestdb.t1 (a int, b int);
+create table mariadbtestdb2.t2 (a int);
+create table mariadbtestdb.t3 (a int);
+SET @saved_dbug = @@GLOBAL.debug_dbug;
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_long_host,getaddrinfo_fake_good_ipv4";
+# check connect
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select current_user();
+current_user()
+user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345
+# check global privileges
+select * from mariadbtestdb.t1;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't1'
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+connection default;
+grant SELECT ON *.* TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select * from mariadbtestdb.t1;
+a b
+select * from mariadbtestdb2.t2;
+a
+# check revoke
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select * from mariadbtestdb.t1;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't1'
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+# check data base privileges
+connection default;
+grant SELECT ON mariadbtestdb.* TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select * from mariadbtestdb.t1;
+a b
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+select * from mariadbtestdb.t3;
+a
+# check table privileges
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+grant SELECT ON mariadbtestdb.t1 TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select * from mariadbtestdb.t1;
+a b
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+select * from mariadbtestdb.t3;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't3'
+# check column privileges
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+grant SELECT (a) ON mariadbtestdb.t1 TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select * from mariadbtestdb.t1;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't1'
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+select * from mariadbtestdb.t3;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't3'
+select a from mariadbtestdb.t1;
+a
+# check role
+connection default;
+CREATE ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+CREATE ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_3456789;
+ERROR HY000: String 'role5678901_345678902_345678903_345678904_345678905_345678906_34567...' is too long for user name (should be no longer than 128)
+grant SELECT (a) ON mariadbtestdb.t1 TO role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+grant role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678 to user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,;
+connection con1;
+select * from mariadbtestdb.t1;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't1'
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+select * from mariadbtestdb.t3;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't3'
+select a from mariadbtestdb.t1;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't1'
+SELECT CURRENT_ROLE;
+CURRENT_ROLE
+NULL
+SET ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+SELECT CURRENT_ROLE;
+CURRENT_ROLE
+role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678
+select * from mariadbtestdb.t1;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't1'
+select * from mariadbtestdb2.t2;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't2'
+select * from mariadbtestdb.t3;
+ERROR 42000: SELECT command denied to user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345' for table 't3'
+select a from mariadbtestdb.t1;
+a
+# check procedure
+create procedure foo()
+select a from mariadbtestdb.t1;
+show create procedure foo;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678`@`host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345` PROCEDURE `foo`()
+select a from mariadbtestdb.t1 latin1 latin1_swedish_ci latin1_swedish_ci
+connection default;
+select Host,Db,User,Routine_name,Routine_type,Grantor,Proc_priv from mysql.procs_priv where Routine_name="foo";
+Host Db User Routine_name Routine_type Grantor Proc_priv
+host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345 test user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678 foo PROCEDURE user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345 Execute,Alter Routine
+connection default;
+disconnect con1;
+drop procedure foo;
+SET @@GLOBAL.debug_dbug = @saved_dbug;
+drop user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+DROP ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+drop database mariadbtestdb;
+drop database mariadbtestdb2;
+#
+# MDEV-24968: Assertion `magic < 1<<26' failed in get_magic_sort
+#
+create user u1@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907%';
+drop user u1@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907%';
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_34%';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_34%';
+create user '5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'%';
+drop user '5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'%';
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'h%s%5%7%9%1%3%5%7%9%2%3%5%7%9%3%3%5%7%9%4%3%5%7%9%5%3%5%7%9%6%3%5%7%9%7%3%5%7%9%8%3%5%7%9%9%3%5%7%9%0%3%5%7%';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'h%s%5%7%9%1%3%5%7%9%2%3%5%7%9%3%3%5%7%9%4%3%5%7%9%5%3%5%7%9%6%3%5%7%9%7%3%5%7%9%8%3%5%7%9%9%3%5%7%9%0%3%5%7%';
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%';
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????';
diff --git a/mysql-test/main/long_host.test b/mysql-test/main/long_host.test
new file mode 100644
index 00000000000..f176279749a
--- /dev/null
+++ b/mysql-test/main/long_host.test
@@ -0,0 +1,196 @@
+
+--source include/have_debug_sync.inc
+--source include/not_embedded.inc
+
+--echo # check user
+
+# User 128 characters
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+# User 129 characters
+--error ER_WRONG_STRING_LENGTH
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_3456789;
+
+SELECT host, user FROM mysql.user where user like "user56789%";
+drop user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+
+# Host 255 characters
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+
+# Host 256 characters
+--error ER_WRONG_STRING_LENGTH
+create user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_3456;
+
+SELECT host, user FROM mysql.user where user like "user56789%";
+
+create database mariadbtestdb;
+create database mariadbtestdb2;
+create table mariadbtestdb.t1 (a int, b int);
+create table mariadbtestdb2.t2 (a int);
+create table mariadbtestdb.t3 (a int);
+
+
+SET @saved_dbug = @@GLOBAL.debug_dbug;
+set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_long_host,getaddrinfo_fake_good_ipv4";
+
+--echo # check connect
+
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+select current_user();
+
+--echo # check global privileges
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+
+connection default;
+grant SELECT ON *.* TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+select * from mariadbtestdb.t1;
+select * from mariadbtestdb2.t2;
+
+
+--echo # check revoke
+
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+
+
+--echo # check data base privileges
+
+connection default;
+grant SELECT ON mariadbtestdb.* TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+select * from mariadbtestdb.t3;
+
+--echo # check table privileges
+
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+grant SELECT ON mariadbtestdb.t1 TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t3;
+
+--echo # check column privileges
+
+connection default;
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+grant SELECT (a) ON mariadbtestdb.t1 TO user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+disconnect con1;
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t3;
+select a from mariadbtestdb.t1;
+
+--echo # check role
+
+connection default;
+
+# Role 128 characters
+CREATE ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+
+# Role 129 characters
+--error ER_WRONG_STRING_LENGTH
+CREATE ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_3456789;
+
+grant SELECT (a) ON mariadbtestdb.t1 TO role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+
+REVOKE ALL PRIVILEGES, GRANT OPTION FROM user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+
+grant role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678 to user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+
+disconnect con1;
+connect (con1,"127.0.0.1","user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678",,test,$MASTER_MYPORT,);
+connection con1;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t3;
+--error ER_TABLEACCESS_DENIED_ERROR
+select a from mariadbtestdb.t1;
+
+SELECT CURRENT_ROLE;
+SET ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+SELECT CURRENT_ROLE;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t1;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb2.t2;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mariadbtestdb.t3;
+select a from mariadbtestdb.t1;
+
+
+--echo # check procedure
+
+create procedure foo()
+ select a from mariadbtestdb.t1;
+show create procedure foo;
+
+connection default;
+select Host,Db,User,Routine_name,Routine_type,Grantor,Proc_priv from mysql.procs_priv where Routine_name="foo";
+
+
+connection default;
+disconnect con1;
+drop procedure foo;
+
+SET @@GLOBAL.debug_dbug = @saved_dbug;
+
+drop user user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678@host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_345;
+DROP ROLE role5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678;
+drop database mariadbtestdb;
+drop database mariadbtestdb2;
+
+--echo #
+--echo # MDEV-24968: Assertion `magic < 1<<26' failed in get_magic_sort
+--echo #
+
+create user u1@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907%';
+drop user u1@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907%';
+
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_34%';
+
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'host5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678913_345678914_345678915_345678916_345678917_345678918_345678919_345678920_345678921_345678922_345678923_345678924_345678925_34%';
+
+create user '5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'%';
+drop user '5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'%';
+
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'h%s%5%7%9%1%3%5%7%9%2%3%5%7%9%3%3%5%7%9%4%3%5%7%9%5%3%5%7%9%6%3%5%7%9%7%3%5%7%9%8%3%5%7%9%9%3%5%7%9%0%3%5%7%';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'h%s%5%7%9%1%3%5%7%9%2%3%5%7%9%3%3%5%7%9%4%3%5%7%9%5%3%5%7%9%6%3%5%7%9%7%3%5%7%9%8%3%5%7%9%9%3%5%7%9%0%3%5%7%';
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%';
+
+create user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????';
+drop user 'user5678901_345678902_345678903_345678904_345678905_345678906_345678907_345678908_345678909_345678910_345678911_345678912_345678'@'???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????';
diff --git a/mysql-test/main/long_unique.result b/mysql-test/main/long_unique.result
index 73c3977b24d..a2484f59202 100644
--- a/mysql-test/main/long_unique.result
+++ b/mysql-test/main/long_unique.result
@@ -37,6 +37,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
MyISAM file: DATADIR/test/t1
Record format: Packed
@@ -51,8 +52,8 @@ select TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION,COLUMN
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 COLUMN_COMMENT IS_GENERATED GENERATION_EXPRESSION
def test t1 a 1 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob UNI NEVER NULL
select * from information_schema.statistics where table_schema = 'test' and table_name = 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 0 test a 1 a A NULL NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 0 test a 1 a A NULL NULL NULL YES HASH NO
select * from information_schema.key_column_usage where table_schema= 'test' and table_name= 't1';
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
@@ -210,8 +211,8 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `db_row_hash_1` (`db_row_hash_1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
#add column with unique index on blob ;
alter table t1 add column a blob unique;
show create table t1;
@@ -239,9 +240,9 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`aa`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES HASH NO
# try to change the blob unique datatype;
#this will change index to b tree;
alter table t1 modify column aa int ;
@@ -257,9 +258,9 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`aa`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES BTREE NO
alter table t1 add column clm blob unique;
#try changing the name ;
alter table t1 change column clm clm_changed blob;
@@ -277,10 +278,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `clm` (`clm_changed`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES BTREE
-t1 0 clm 1 clm_changed A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES BTREE NO
+t1 0 clm 1 clm_changed A NULL NULL NULL YES HASH NO
#now drop the unique key;
alter table t1 drop key clm;
show create table t1;
@@ -296,17 +297,17 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`aa`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 a 1 aa A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 a 1 aa A NULL NULL NULL YES BTREE NO
drop table t1;
create table t1 (a TEXT CHARSET latin1 COLLATE latin1_german2_ci unique);
desc t1;
Field Type Null Key Default Extra
a text YES UNI NULL
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 0 a 1 a A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
insert into t1 values ('ae');
insert into t1 values ('AE');
ERROR 23000: Duplicate entry 'AE' for key 'a'
@@ -318,9 +319,9 @@ Field Type Null Key Default Extra
a int(11) NO PRI NULL
b blob YES UNI NULL
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 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t1 0 b 1 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
insert into t1 values(1,1),(2,2),(3,3);
insert into t1 values(1,1);
ERROR 23000: Duplicate entry '1' for key 'b'
@@ -355,11 +356,11 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `e` (`e`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
MyISAM file: DATADIR/test/t1
Record format: Packed
@@ -381,11 +382,11 @@ def test t1 c 3 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob UNI NE
def test t1 d 4 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text UNI NEVER NULL
def test t1 e 5 NULL YES varchar 3000 3000 NULL NULL NULL latin1 latin1_swedish_ci varchar(3000) UNI NEVER NULL
select * from information_schema.statistics where table_schema = 'test' and table_name = 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 0 test a 1 a A NULL NULL NULL YES HASH
-def test t1 0 test c 1 c A NULL NULL NULL YES HASH
-def test t1 0 test d 1 d A NULL NULL NULL YES HASH
-def test t1 0 test e 1 e A NULL NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 0 test a 1 a A NULL NULL NULL YES HASH NO
+def test t1 0 test c 1 c A NULL NULL NULL YES HASH NO
+def test t1 0 test d 1 d A NULL NULL NULL YES HASH NO
+def test t1 0 test e 1 e A NULL NULL NULL YES HASH NO
select * from information_schema.key_column_usage where table_schema= 'test' and table_name= 't1';
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def test a def test t1 a 1 NULL NULL NULL NULL
@@ -548,11 +549,11 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `e` (`e`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
#add column with unique index on blob;
alter table t1 add column a blob unique;
show create table t1;
@@ -573,12 +574,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 a 1 a A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
#try to change the blob unique column name;
#this will change index to b tree;
alter table t1 modify column a int , modify column e int;
@@ -600,12 +601,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 add column clm1 blob unique,add column clm2 blob unique;
#try changing the name;
alter table t1 change column clm1 clm_changed1 blob, change column clm2 clm_changed2 blob;
@@ -631,14 +632,14 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `clm2` (`clm_changed2`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
-t1 0 clm1 1 clm_changed1 A NULL NULL NULL YES HASH
-t1 0 clm2 1 clm_changed2 A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
+t1 0 clm1 1 clm_changed1 A NULL NULL NULL YES HASH NO
+t1 0 clm2 1 clm_changed2 A NULL NULL NULL YES HASH NO
#now drop the unique key;
alter table t1 drop key clm1, drop key clm2;
show create table t1;
@@ -661,12 +662,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `d` (`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE
-t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE
-t1 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 d 1 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 db_row_hash_1 1 db_row_hash_1 A NULL NULL NULL YES BTREE NO
+t1 0 db_row_hash_2 1 db_row_hash_2 A NULL NULL NULL YES BTREE NO
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 d 1 d A NULL NULL NULL YES HASH NO
drop table t1;
#now the table with key on multiple columns; the ultimate test;
create table t1(a blob, b int , c varchar(2000) , d text , e varchar(3000) , f longblob , g int , h text ,
@@ -702,21 +703,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
MyISAM file: DATADIR/test/t1
Record format: Packed
@@ -741,21 +742,21 @@ def test t1 f 6 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL
def test t1 g 7 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def test t1 h 8 NULL YES text 65535 65535 NULL NULL NULL latin1 latin1_swedish_ci text NEVER NULL
select * from information_schema.statistics where table_schema = 'test' and table_name = 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 0 test a 1 a A NULL NULL NULL YES HASH
-def test t1 0 test a 2 b A NULL NULL NULL YES HASH
-def test t1 0 test a 3 c A NULL NULL NULL YES HASH
-def test t1 0 test c 1 c A NULL NULL NULL YES HASH
-def test t1 0 test c 2 d A NULL NULL NULL YES HASH
-def test t1 0 test c 3 e A NULL NULL NULL YES HASH
-def test t1 0 test e 1 e A NULL NULL NULL YES HASH
-def test t1 0 test e 2 f A NULL NULL NULL YES HASH
-def test t1 0 test e 3 g A NULL NULL NULL YES HASH
-def test t1 0 test e 4 h A NULL NULL NULL YES HASH
-def test t1 0 test b 1 b A NULL NULL NULL YES HASH
-def test t1 0 test b 2 d A NULL NULL NULL YES HASH
-def test t1 0 test b 3 g A NULL NULL NULL YES HASH
-def test t1 0 test b 4 h A NULL NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 0 test a 1 a A NULL NULL NULL YES HASH NO
+def test t1 0 test a 2 b A NULL NULL NULL YES HASH NO
+def test t1 0 test a 3 c A NULL NULL NULL YES HASH NO
+def test t1 0 test c 1 c A NULL NULL NULL YES HASH NO
+def test t1 0 test c 2 d A NULL NULL NULL YES HASH NO
+def test t1 0 test c 3 e A NULL NULL NULL YES HASH NO
+def test t1 0 test e 1 e A NULL NULL NULL YES HASH NO
+def test t1 0 test e 2 f A NULL NULL NULL YES HASH NO
+def test t1 0 test e 3 g A NULL NULL NULL YES HASH NO
+def test t1 0 test e 4 h A NULL NULL NULL YES HASH NO
+def test t1 0 test b 1 b A NULL NULL NULL YES HASH NO
+def test t1 0 test b 2 d A NULL NULL NULL YES HASH NO
+def test t1 0 test b 3 g A NULL NULL NULL YES HASH NO
+def test t1 0 test b 4 h A NULL NULL NULL YES HASH NO
select * from information_schema.key_column_usage where table_schema= 'test' and table_name= 't1';
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
def test a def test t1 a 1 NULL NULL NULL NULL
@@ -858,21 +859,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
alter table t1 drop column db_row_hash_7 , drop column db_row_hash_5 ,
drop column db_row_hash_1, drop column db_row_hash_2 ;
show create table t1;
@@ -892,21 +893,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#try to change column names;
alter table t1 change column a aa blob , change column b bb blob , change column d dd blob;
show create table t1;
@@ -926,21 +927,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`bb`,`dd`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 aa A NULL NULL NULL YES HASH
-t1 0 a 2 bb A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 dd A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 bb A NULL NULL NULL YES HASH
-t1 0 b 2 dd A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 aa A NULL NULL NULL YES HASH NO
+t1 0 a 2 bb A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 dd A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 bb A NULL NULL NULL YES HASH NO
+t1 0 b 2 dd A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
alter table t1 change column aa a blob , change column bb b blob , change column dd d blob;
show create table t1;
Table Create Table
@@ -959,21 +960,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#now we will change the data type to int and varchar limit so that we no longer require hash_index;
#on key a_b_c;
alter table t1 modify column a varchar(20) , modify column b varchar(20) , modify column c varchar(20);
@@ -994,21 +995,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES BTREE
-t1 0 a 2 b A NULL NULL NULL YES BTREE
-t1 0 a 3 c A NULL NULL NULL YES BTREE
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES BTREE NO
+t1 0 a 2 b A NULL NULL NULL YES BTREE NO
+t1 0 a 3 c A NULL NULL NULL YES BTREE NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#change it back;
alter table t1 modify column a blob , modify column b blob , modify column c blob;
show create table t1;
@@ -1028,21 +1029,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
-t1 0 c 3 e A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 f A NULL NULL NULL YES HASH
-t1 0 e 3 g A NULL NULL NULL YES HASH
-t1 0 e 4 h A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
+t1 0 c 3 e A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 f A NULL NULL NULL YES HASH NO
+t1 0 e 3 g A NULL NULL NULL YES HASH NO
+t1 0 e 4 h A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
#try to delete blob column in unique;
truncate table t1;
#now try to delete keys;
@@ -1062,14 +1063,14 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`,`g`,`h`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
-t1 0 b 3 g A NULL NULL NULL YES HASH
-t1 0 b 4 h A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
+t1 0 b 3 g A NULL NULL NULL YES HASH NO
+t1 0 b 4 h A NULL NULL NULL YES HASH NO
drop table t1;
#now alter table containing some data basically some tests with ignore;
create table t1 (a blob);
@@ -1096,8 +1097,8 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
drop table t1;
#Now with multiple keys;
create table t1(a blob , b blob, c blob , d blob , e int);
@@ -1134,12 +1135,12 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 e 1 e A NULL NULL NULL YES BTREE
-t1 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 c A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 e 1 e A NULL NULL NULL YES BTREE NO
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 c A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 d A NULL NULL NULL YES HASH NO
drop table t1;
#visibility of db_row_hash
create table t1 (a blob unique , b blob unique);
@@ -1230,8 +1231,8 @@ desc t1;
Field Type Null Key Default Extra
a blob YES UNI NULL
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 0 a 1 a A NULL 3000 NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL 3000 NULL YES HASH NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -1262,11 +1263,11 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `c` (`c`(4500),`d`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL 3500 NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL 4500 NULL YES HASH
-t1 0 c 2 d A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL 3500 NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL 4500 NULL YES HASH NO
+t1 0 c 2 d A NULL NULL NULL YES HASH NO
drop table t1;
#ext bug
create table t1(a int primary key, b blob unique, c int, d blob , index(c));
diff --git a/mysql-test/main/long_unique_big.result b/mysql-test/main/long_unique_big.result
index 2ec84e510cb..541b5759e9d 100644
--- a/mysql-test/main/long_unique_big.result
+++ b/mysql-test/main/long_unique_big.result
@@ -17,10 +17,10 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `b` (`b`,`c`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 c A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 c A NULL NULL NULL YES HASH NO
insert into t1 values(concat(repeat('sachin',10000000),'1'),concat(repeat('sachin',10000000),'1'),
concat(repeat('sachin',10000000),'1'));
insert into t1 values(concat(repeat('sachin',10000000),'2'),concat(repeat('sachin',10000000),'2'),
diff --git a/mysql-test/main/long_unique_bugs.result b/mysql-test/main/long_unique_bugs.result
index 709ed929fba..659fdde236b 100644
--- a/mysql-test/main/long_unique_bugs.result
+++ b/mysql-test/main/long_unique_bugs.result
@@ -82,6 +82,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
insert into t1 values(1,1);
ERROR 23000: Duplicate entry '1' for key 'a'
DROP TABLE t1;
@@ -128,6 +129,7 @@ Null
Index_type BTREE
Comment
Index_comment
+Ignored NO
ALTER TABLE t1 ADD INDEX (pk);
DROP TABLE t1;
CREATE TABLE t1 (b int, a varchar(4000));
@@ -267,7 +269,7 @@ disconnect con1;
connection default;
DROP TABLE t1, t2;
CREATE TABLE t1 (a TEXT, UNIQUE(a)) ENGINE=Aria;
-ERROR 42000: Specified key was too long; max key length is 2000 bytes
+ERROR 42000: Specified key was too long; max key length is 2300 bytes
create table t1(a int, unique(a) using hash);
#BULK insert > 100 rows (MI_MIN_ROWS_TO_DISABLE_INDEXES)
drop table t1;
@@ -280,14 +282,14 @@ DROP TABLE t1, t2;
SET binlog_row_image= FULL;
CREATE TABLE t1 (a int, b VARCHAR(1000), UNIQUE (a,b)) ENGINE=MyISAM;
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 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
CREATE TABLE t2 (a varchar(900), b VARCHAR(900), UNIQUE (a,b)) ENGINE=MyISAM;
show index from t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 a 1 a A NULL NULL NULL YES HASH
-t2 0 a 2 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 a 1 a A NULL NULL NULL YES HASH NO
+t2 0 a 2 b A NULL NULL NULL YES HASH NO
DROP TABLE t1,t2;
#
# MDEV-26453 Assertion `0' failed in row_upd_sec_index_entry & corruption
diff --git a/mysql-test/main/long_unique_update.result b/mysql-test/main/long_unique_update.result
index b508583f47c..1741ec5310a 100644
--- a/mysql-test/main/long_unique_update.result
+++ b/mysql-test/main/long_unique_update.result
@@ -24,6 +24,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
insert into t1 values(1),(2),(3),(4),(5);
select * from t1;
a
@@ -69,10 +70,10 @@ drop table t1;
#test 2;
create table t1 (a int primary key, b blob unique , c int unique );
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 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t1 0 c 1 c A NULL NULL NULL YES BTREE
-t1 0 b 1 b A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t1 0 c 1 c A NULL NULL NULL YES BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6),(7,7,7);
select * from t1 limit 3;
a b c
@@ -129,10 +130,10 @@ drop table t1;
#test 3;
create table t1 (a blob unique, b blob unique , c blob unique);
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 c 1 c A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 c 1 c A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),(6,6,6),(7,7,7);
select * from t1 limit 3;
a b c
@@ -226,21 +227,21 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `a` (`a`,`b`,`c`,`d`,`e`,`f`,`g`) USING HASH
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t1 0 b_2 1 b A NULL NULL NULL YES BTREE
-t1 0 b_2 2 f A NULL NULL NULL YES BTREE
-t1 0 b 1 b A NULL NULL NULL YES HASH
-t1 0 b 2 c A NULL NULL NULL YES HASH
-t1 0 e 1 e A NULL NULL NULL YES HASH
-t1 0 e 2 g A NULL NULL NULL YES HASH
-t1 0 a 1 a A NULL NULL NULL HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
-t1 0 a 4 d A NULL NULL NULL YES HASH
-t1 0 a 5 e A NULL NULL NULL YES HASH
-t1 0 a 6 f A NULL NULL NULL YES HASH
-t1 0 a 7 g A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t1 0 b_2 1 b A NULL NULL NULL YES BTREE NO
+t1 0 b_2 2 f A NULL NULL NULL YES BTREE NO
+t1 0 b 1 b A NULL NULL NULL YES HASH NO
+t1 0 b 2 c A NULL NULL NULL YES HASH NO
+t1 0 e 1 e A NULL NULL NULL YES HASH NO
+t1 0 e 2 g A NULL NULL NULL YES HASH NO
+t1 0 a 1 a A NULL NULL NULL HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
+t1 0 a 4 d A NULL NULL NULL YES HASH NO
+t1 0 a 5 e A NULL NULL NULL YES HASH NO
+t1 0 a 6 f A NULL NULL NULL YES HASH NO
+t1 0 a 7 g A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1,1,1,1,1),(2,2,2,2,2,2,2),(3,3,3,3,3,3,3),(4,4,4,4,4,4,4),
(5,5,5,5,5,5,5),(6,6,6,6,6,6,6),(7,7,7,7,7,7,7),(8,8,8,8,8,8,8),(9,9,9,9,9,9,9);
select * from t1 limit 3;
diff --git a/mysql-test/main/long_unique_using_hash.result b/mysql-test/main/long_unique_using_hash.result
index 987e11294ec..619b0f5baa5 100644
--- a/mysql-test/main/long_unique_using_hash.result
+++ b/mysql-test/main/long_unique_using_hash.result
@@ -13,6 +13,7 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
drop table t1;
create table t1(a blob , unique(a) using btree);
ERROR 42000: Specified key was too long; max key length is 1000 bytes
@@ -31,23 +32,24 @@ Null YES
Index_type HASH
Comment
Index_comment
+Ignored NO
drop table t1;
create table t1(a int ,b int , c int, unique(a, b, c) using hash);
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 0 a 1 a A NULL NULL NULL YES HASH
-t1 0 a 2 b A NULL NULL NULL YES HASH
-t1 0 a 3 c A NULL NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a A NULL NULL NULL YES HASH NO
+t1 0 a 2 b A NULL NULL NULL YES HASH NO
+t1 0 a 3 c A NULL NULL NULL YES HASH NO
insert into t1 values(1,1,1);
insert into t1 values(1,1,1);
ERROR 23000: Duplicate entry '1-1-1' for key 'a'
drop table t1;
create table t1(a int ,b int , c int, unique(a, b, c) using hash) engine=memory;
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 0 a 1 a NULL NULL NULL NULL YES HASH
-t1 0 a 2 b NULL NULL NULL NULL YES HASH
-t1 0 a 3 c NULL 0 NULL NULL YES HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 a 1 a NULL NULL NULL NULL YES HASH NO
+t1 0 a 2 b NULL NULL NULL NULL YES HASH NO
+t1 0 a 3 c NULL 0 NULL NULL YES HASH NO
insert into t1 values(1,1,1);
insert into t1 values(1,1,1);
ERROR 23000: Duplicate entry '1-1-1' for key 'a'
diff --git a/mysql-test/main/lowercase_fs_off.result b/mysql-test/main/lowercase_fs_off.result
index 3e9aa7cc239..0d79db02fc7 100644
--- a/mysql-test/main/lowercase_fs_off.result
+++ b/mysql-test/main/lowercase_fs_off.result
@@ -137,6 +137,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -147,6 +247,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/lowercase_fs_off.test b/mysql-test/main/lowercase_fs_off.test
index 879a1eabc25..ab46d2ac650 100644
--- a/mysql-test/main/lowercase_fs_off.test
+++ b/mysql-test/main/lowercase_fs_off.test
@@ -4,6 +4,7 @@
#
-- source include/have_case_sensitive_file_system.inc
-- source include/not_embedded.inc
+-- source include/have_perfschema.inc
set GLOBAL sql_mode="";
set LOCAL sql_mode="";
diff --git a/mysql-test/main/lowercase_table5.result b/mysql-test/main/lowercase_table5.result
index 9adfd0590a8..de46db3593b 100644
--- a/mysql-test/main/lowercase_table5.result
+++ b/mysql-test/main/lowercase_table5.result
@@ -1,13 +1,13 @@
CREATE DATABASE mysql_TEST CHARACTER SET utf8;
SHOW CREATE DATABASE mysql_TEST;
Database Create Database
-mysql_TEST CREATE DATABASE `mysql_TEST` /*!40100 DEFAULT CHARACTER SET utf8 */
+mysql_TEST CREATE DATABASE `mysql_TEST` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
CREATE DATABASE mysql_test CHARACTER SET latin2;
SHOW CREATE DATABASE mysql_test;
Database Create Database
mysql_test CREATE DATABASE `mysql_test` /*!40100 DEFAULT CHARACTER SET latin2 */
SHOW CREATE DATABASE mysql_TEST;
Database Create Database
-mysql_TEST CREATE DATABASE `mysql_TEST` /*!40100 DEFAULT CHARACTER SET utf8 */
+mysql_TEST CREATE DATABASE `mysql_TEST` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
DROP DATABASE mysql_test;
DROP DATABASE mysql_TEST;
diff --git a/mysql-test/main/mdl.result b/mysql-test/main/mdl.result
index fbf80312ac0..343895803b2 100644
--- a/mysql-test/main/mdl.result
+++ b/mysql-test/main/mdl.result
@@ -8,20 +8,23 @@
CREATE TABLE t1(a INT) ENGINE=InnoDB;
CREATE TABLE t3(a INT) ENGINE=myisam;
LOCK TABLES t1 WRITE CONCURRENT, t1 AS t2 READ;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_TRANS_DML Backup lock
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
UNLOCK TABLES;
LOCK TABLES t1 AS t2 READ, t1 WRITE CONCURRENT;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_TRANS_DML Backup lock
MDL_SHARED_WRITE Table metadata lock test t1
MDL_SHARED_READ_ONLY Table metadata lock test t1
UNLOCK TABLES;
LOCK TABLES t1 WRITE CONCURRENT, t3 WRITE;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_DDL Backup lock
MDL_BACKUP_DML Backup lock
@@ -30,7 +33,8 @@ MDL_SHARED_NO_READ_WRITE Table metadata lock test t3
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
UNLOCK TABLES;
LOCK TABLES t3 WRITE, t1 WRITE CONCURRENT;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_DDL Backup lock
MDL_BACKUP_DML Backup lock
@@ -39,7 +43,8 @@ MDL_SHARED_NO_READ_WRITE Table metadata lock test t3
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
UNLOCK TABLES;
LOCK TABLES t1 WRITE, mysql.user WRITE;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_DDL Backup lock
MDL_SHARED_NO_READ_WRITE Table metadata lock mysql user
@@ -67,7 +72,8 @@ connection locker;
insert into t1 values (1);
connection default;
connection default;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_FTWRL2 Backup lock
MDL_SHARED_WRITE Table metadata lock test t1
@@ -80,7 +86,8 @@ connection locker;
insert into t3 values (2);
connection default;
connection default;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
MDL_BACKUP_FTWRL2 Backup lock
MDL_SHARED_WRITE Table metadata lock test t3
diff --git a/mysql-test/main/mdl.test b/mysql-test/main/mdl.test
index 0c1b7a13a0c..f7fac0a062d 100644
--- a/mysql-test/main/mdl.test
+++ b/mysql-test/main/mdl.test
@@ -12,19 +12,24 @@
CREATE TABLE t1(a INT) ENGINE=InnoDB;
CREATE TABLE t3(a INT) ENGINE=myisam;
LOCK TABLES t1 WRITE CONCURRENT, t1 AS t2 READ;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
UNLOCK TABLES;
LOCK TABLES t1 AS t2 READ, t1 WRITE CONCURRENT;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
UNLOCK TABLES;
LOCK TABLES t1 WRITE CONCURRENT, t3 WRITE;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
UNLOCK TABLES;
LOCK TABLES t3 WRITE, t1 WRITE CONCURRENT;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
UNLOCK TABLES;
LOCK TABLES t1 WRITE, mysql.user WRITE;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
UNLOCK TABLES;
--error ER_CANT_LOCK_LOG_TABLE
LOCK TABLES mysql.general_log WRITE;
@@ -55,7 +60,8 @@ let $wait_condition=
where state = "Waiting for backup lock";
--source include/wait_condition.inc
connection default;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
unlock tables;
connection locker;
--reap
@@ -72,7 +78,8 @@ let $wait_condition=
where state = "Waiting for backup lock";
--source include/wait_condition.inc
connection default;
-SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info;
+SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info
+WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
unlock tables;
connection locker;
--reap
diff --git a/mysql-test/main/merge.result b/mysql-test/main/merge.result
index 0d6f387a7bc..d1950d03939 100644
--- a/mysql-test/main/merge.result
+++ b/mysql-test/main/merge.result
@@ -760,10 +760,10 @@ a b c
1 1 1
1 1 0
show index from t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a 1 a A NULL NULL NULL YES BTREE
-t3 1 a 2 b A NULL NULL NULL YES BTREE
-t3 1 a 3 c A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a 1 a A NULL NULL NULL YES BTREE NO
+t3 1 a 2 b A NULL NULL NULL YES BTREE NO
+t3 1 a 3 c A NULL NULL NULL YES BTREE NO
drop table t1, t2, t3;
CREATE TABLE t1 ( a INT AUTO_INCREMENT PRIMARY KEY, b VARCHAR(10), UNIQUE (b) )
ENGINE=MyISAM;
diff --git a/mysql-test/main/merge.test b/mysql-test/main/merge.test
index 888b41b24bd..99cce370beb 100644
--- a/mysql-test/main/merge.test
+++ b/mysql-test/main/merge.test
@@ -2200,8 +2200,10 @@ DROP TABLE tm1, t1;
CREATE TABLE t1 (c1 INT) ENGINE=MyISAM;
CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1)
INSERT_METHOD=LAST;
+--enable_prepare_warnings
CREATE TRIGGER tm1_ai AFTER INSERT ON tm1
FOR EACH ROW SELECT max(c1) FROM t1 INTO @var;
+--disable_prepare_warnings
LOCK TABLE tm1 WRITE, t1 WRITE;
INSERT INTO tm1 VALUES (1);
SELECT * FROM tm1;
@@ -2223,8 +2225,10 @@ CREATE TABLE t4 (c1 INT) ENGINE=MyISAM;
CREATE TABLE t5 (c1 INT) ENGINE=MyISAM;
CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1,t2,t3,t4,t5)
INSERT_METHOD=LAST;
+--enable_prepare_warnings
CREATE TRIGGER t2_au AFTER UPDATE ON t2
FOR EACH ROW SELECT MAX(c1) FROM t1 INTO @var;
+--disable_prepare_warnings
CREATE FUNCTION f1() RETURNS INT
RETURN (SELECT MAX(c1) FROM t4);
LOCK TABLE tm1 WRITE, t1 WRITE, t2 WRITE, t3 WRITE, t4 WRITE, t5 WRITE;
diff --git a/mysql-test/main/mix2_myisam.result b/mysql-test/main/mix2_myisam.result
index 5a228f63502..5534511255d 100644
--- a/mysql-test/main/mix2_myisam.result
+++ b/mysql-test/main/mix2_myisam.result
@@ -170,10 +170,10 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 0 PRIMARY 1 id A # NULL NULL BTREE
-t1 1 parent_id 1 parent_id A # NULL NULL BTREE
-t1 1 level 1 level A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A # NULL NULL BTREE NO
+t1 1 parent_id 1 parent_id A # NULL NULL BTREE NO
+t1 1 level 1 level A # NULL NULL BTREE NO
drop table t1;
CREATE TABLE t1 (
gesuchnr int(11) DEFAULT '0' NOT NULL,
@@ -214,8 +214,8 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 skr 1 a A # NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 skr 1 a A # NULL NULL YES BTREE NO
drop table t1;
create table t1 (a int,b varchar(20),key(a)) engine=MyISAM;
insert into t1 values (1,""), (2,"testing");
@@ -261,13 +261,13 @@ key(a),primary key(a,b), unique(c),key(a),unique(b)) ENGINE = MyISAM;
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
-t1 0 PRIMARY 2 b A # NULL NULL BTREE
-t1 0 c 1 c A # NULL NULL BTREE
-t1 0 b 1 b A # NULL NULL BTREE
-t1 1 a 1 a A # NULL NULL BTREE
-t1 1 a_2 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 b A # NULL NULL BTREE NO
+t1 0 c 1 c A # NULL NULL BTREE NO
+t1 0 b 1 b A # NULL NULL BTREE NO
+t1 1 a 1 a A # NULL NULL BTREE NO
+t1 1 a_2 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1)) ENGINE = MEMORY;
alter table t1 engine=MyISAM;
@@ -639,8 +639,8 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 0 PRIMARY 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (i int, j int ) ENGINE=MyISAM;
insert into t1 values (1,2);
@@ -1957,7 +1957,7 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
@@ -2009,7 +2009,7 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `v` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set default_storage_engine=MEMORY;
diff --git a/mysql-test/main/mrr_icp_extra.result b/mysql-test/main/mrr_icp_extra.result
index f0c284762c6..a8c9bfc201a 100644
--- a/mysql-test/main/mrr_icp_extra.result
+++ b/mysql-test/main/mrr_icp_extra.result
@@ -758,7 +758,7 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
diff --git a/mysql-test/main/myisam.result b/mysql-test/main/myisam.result
index a2a9d4854ee..5c551a25afa 100644
--- a/mysql-test/main/myisam.result
+++ b/mysql-test/main/myisam.result
@@ -40,16 +40,16 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status Table is already up to date
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 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
drop table t1;
create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) engine=myisam;
insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
@@ -339,13 +339,13 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 b 1 b A 5 NULL NULL YES BTREE
-t1 1 c 1 c A 5 NULL NULL YES BTREE
-t1 1 a 1 a A 1 NULL NULL BTREE
-t1 1 a 2 b A 5 NULL NULL YES BTREE
-t1 1 c_2 1 c A 5 NULL NULL YES BTREE
-t1 1 c_2 2 a A 5 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 5 NULL NULL YES BTREE NO
+t1 1 c 1 c A 5 NULL NULL YES BTREE NO
+t1 1 a 1 a A 1 NULL NULL BTREE NO
+t1 1 a 2 b A 5 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 5 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 5 NULL NULL BTREE NO
explain select * from t1,t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
@@ -363,13 +363,13 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 b 1 b A 10 NULL NULL YES BTREE
-t1 1 c 1 c A 10 NULL NULL YES BTREE
-t1 1 a 1 a A 10 NULL NULL BTREE
-t1 1 a 2 b A 10 NULL NULL YES BTREE
-t1 1 c_2 1 c A 10 NULL NULL YES BTREE
-t1 1 c_2 2 a A 10 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 10 NULL NULL YES BTREE NO
+t1 1 c 1 c A 10 NULL NULL YES BTREE NO
+t1 1 a 1 a A 10 NULL NULL BTREE NO
+t1 1 a 2 b A 10 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 10 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 10 NULL NULL BTREE NO
explain select * from t1,t2 where t1.b=t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL b NULL NULL NULL 2 Using where
@@ -379,13 +379,13 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 b 1 b A 5 NULL NULL YES BTREE
-t1 1 c 1 c A 5 NULL NULL YES BTREE
-t1 1 a 1 a A 1 NULL NULL BTREE
-t1 1 a 2 b A 5 NULL NULL YES BTREE
-t1 1 c_2 1 c A 5 NULL NULL YES BTREE
-t1 1 c_2 2 a A 5 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 5 NULL NULL YES BTREE NO
+t1 1 c 1 c A 5 NULL NULL YES BTREE NO
+t1 1 a 1 a A 1 NULL NULL BTREE NO
+t1 1 a 2 b A 5 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 5 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 5 NULL NULL BTREE NO
explain select * from t1,t2 force index(c) where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 2
@@ -613,29 +613,29 @@ test.t1 2924214226
drop table t1,t2;
create table t1 (a int, key (a));
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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
create table t2 (a int);
set @@rand_seed1=31415926,@@rand_seed2=2718281828;
insert t1 select * from t2;
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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
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 A 1000 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 1000 NULL NULL YES BTREE NO
alter table t1 engine=heap;
alter table t1 disable keys;
Warnings:
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
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL 500 NULL NULL YES HASH NO
drop table t1,t2;
create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
insert into t1 values (null,''), (null,'');
@@ -679,16 +679,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
set myisam_stats_method=nulls_equal;
set @save_use_stat_tables = @@use_stat_tables;
set @@use_stat_tables = COMPLEMENTARY;
@@ -702,16 +702,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
set @@use_stat_tables = @save_use_stat_tables;
set myisam_stats_method=DEFAULT;
show variables like 'myisam_stats_method';
@@ -724,16 +724,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
drop table t1;
set myisam_stats_method=nulls_ignored;
show variables like 'myisam_stats_method';
@@ -754,22 +754,22 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 2 NULL NULL YES BTREE
-t1 1 a 2 b A 4 NULL NULL YES BTREE
-t1 1 a 3 c A 4 NULL NULL YES BTREE
-t1 1 a 4 d A 4 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
+t1 1 a 2 b A 4 NULL NULL YES BTREE NO
+t1 1 a 3 c A 4 NULL NULL YES BTREE NO
+t1 1 a 4 d A 4 NULL NULL YES BTREE NO
delete from t1;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 0 NULL NULL YES BTREE
-t1 1 a 2 b A 0 NULL NULL YES BTREE
-t1 1 a 3 c A 0 NULL NULL YES BTREE
-t1 1 a 4 d A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 0 NULL NULL YES BTREE NO
+t1 1 a 2 b A 0 NULL NULL YES BTREE NO
+t1 1 a 3 c A 0 NULL NULL YES BTREE NO
+t1 1 a 4 d A 0 NULL NULL YES BTREE NO
set myisam_stats_method=DEFAULT;
drop table t1;
set @@use_stat_tables = @save_use_stat_tables;
@@ -1673,7 +1673,7 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
@@ -1725,7 +1725,7 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `v` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set statement sql_mode='' for
@@ -1815,13 +1815,13 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
alter table t1 disable keys;
alter table t1 enable keys;
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 A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
drop table t1;
create table t1 (c1 int) engine=myisam pack_keys=0;
create table t2 (c1 int) engine=myisam pack_keys=1;
@@ -2403,7 +2403,7 @@ KEY (c2)
MyISAM file: MYSQLD_DATADIR/test/t1
Record format: Packed
-Character set: utf8_general_ci (33)
+Character set: utf8mb3_general_ci (33)
Data records: 0 Deleted blocks: 0
Recordlength: 94
@@ -2630,7 +2630,7 @@ End of 5.1 tests
# even if myisam-recover is OFF
#
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
# Test that we can exchange a crashed partition with a table
SELECT @@global.myisam_recover_options;
@@ -2644,8 +2644,8 @@ FLUSH TABLES;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check warning 1 client is using or hasn't closed the table properly
-test.t1 check error Size of indexfile is: 1024 Should be: 2048
-test.t1 check warning Size of datafile is: 14 Should be: 7
+test.t1 check error Size of indexfile is: 1024 Should be: 2048
+test.t1 check warning Size of datafile is: 14 Should be: 7
test.t1 check error Corrupt
# Alter table should report error and not auto-repair the table.
ALTER TABLE t1 ENGINE = MyISAM;
@@ -2654,8 +2654,8 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check warning Table is marked as crashed
test.t1 check warning 1 client is using or hasn't closed the table properly
-test.t1 check error Size of indexfile is: 1024 Should be: 2048
-test.t1 check warning Size of datafile is: 14 Should be: 7
+test.t1 check error Size of indexfile is: 1024 Should be: 2048
+test.t1 check warning Size of datafile is: 14 Should be: 7
test.t1 check error Corrupt
DROP TABLE t1;
#
diff --git a/mysql-test/main/myisam.test b/mysql-test/main/myisam.test
index 5ed63f50f49..2ae4da671e6 100644
--- a/mysql-test/main/myisam.test
+++ b/mysql-test/main/myisam.test
@@ -1758,7 +1758,7 @@ DROP TABLE t1;
--echo #
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
let $MYSQLD_DATADIR = `SELECT @@datadir`;
diff --git a/mysql-test/main/myisam_crash_before_flush_keys.result b/mysql-test/main/myisam_crash_before_flush_keys.result
index 7d929ffb644..5b501241a2c 100644
--- a/mysql-test/main/myisam_crash_before_flush_keys.result
+++ b/mysql-test/main/myisam_crash_before_flush_keys.result
@@ -4,7 +4,7 @@
# Don't test this under valgrind, memory leaks will occur
# Binary must be compiled with debug for crash to occur
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
flush tables;
SET GLOBAL delay_key_write=ALL;
CREATE TABLE t1(a INT,
@@ -17,7 +17,7 @@ SET SESSION debug_dbug="d,crash_before_flush_keys";
# Write file to make mysql-test-run.pl expect crash
# Run the crashing query
FLUSH TABLE t1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# Write file to make mysql-test-run.pl start the server
# Turn on reconnect
# Call script that will poll the server waiting for
@@ -25,6 +25,6 @@ ERROR HY000: Lost connection to MySQL server during query
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check warning 1 client is using or hasn't closed the table properly
-test.t1 check error Size of indexfile is: 1024 Should be: 3072
+test.t1 check error Size of indexfile is: 1024 Should be: 3072
test.t1 check error Corrupt
DROP TABLE t1;
diff --git a/mysql-test/main/myisam_crash_before_flush_keys.test b/mysql-test/main/myisam_crash_before_flush_keys.test
index 8df81f73ec0..791e43b0c9b 100644
--- a/mysql-test/main/myisam_crash_before_flush_keys.test
+++ b/mysql-test/main/myisam_crash_before_flush_keys.test
@@ -9,7 +9,7 @@
--source include/have_debug.inc
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
flush tables;
# Avoid CrashReporter popup on Mac
--source include/not_crashrep.inc
diff --git a/mysql-test/main/myisam_debug.test b/mysql-test/main/myisam_debug.test
index fcb134c0400..2659a3f9347 100644
--- a/mysql-test/main/myisam_debug.test
+++ b/mysql-test/main/myisam_debug.test
@@ -48,10 +48,12 @@ let $wait_condition=
INFO = "INSERT INTO t1(id) SELECT id FROM t2";
--source include/wait_condition.inc
+--enable_prepare_warnings
SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE STATE = 'wait_in_enable_indexes' AND
INFO = "INSERT INTO t1(id) SELECT id FROM t2"
INTO @thread_id;
+--disable_prepare_warnings
KILL QUERY @thread_id;
CHECK TABLE t1;
diff --git a/mysql-test/main/myisam_recover.result b/mysql-test/main/myisam_recover.result
index da96682186c..87fe754d072 100644
--- a/mysql-test/main/myisam_recover.result
+++ b/mysql-test/main/myisam_recover.result
@@ -17,7 +17,7 @@ connection con1;
# Minimal values.
#
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
set @save_table_open_cache=@@table_open_cache;
set global table_open_cache=256;
@@ -69,9 +69,9 @@ flush table t1;
# check table is needed to mark the table as crashed.
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Size of datafile is: 42 Should be: 21
-test.t1 check error Record-count is not ok; is 6 Should be: 3
-test.t1 check warning Found 6 key parts. Should be: 3
+test.t1 check warning Size of datafile is: 42 Should be: 21
+test.t1 check error Record-count is not ok; is 6 Should be: 3
+test.t1 check warning Found 6 key parts. Should be: 3
test.t1 check error Corrupt
#
# At this point we have a merge table t1_mrg pointing to t1,
@@ -122,9 +122,9 @@ flush table t1;
# Check table is needed to mark the table as crashed.
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Size of datafile is: 14 Should be: 7
-test.t1 check error Record-count is not ok; is 2 Should be: 1
-test.t1 check warning Found 2 key parts. Should be: 1
+test.t1 check warning Size of datafile is: 14 Should be: 7
+test.t1 check error Record-count is not ok; is 2 Should be: 1
+test.t1 check warning Found 2 key parts. Should be: 1
test.t1 check error Corrupt
# At this point we have a corrupt t1
set autocommit = 0;
diff --git a/mysql-test/main/myisam_recover.test b/mysql-test/main/myisam_recover.test
index 9056b219148..6fe250197d5 100644
--- a/mysql-test/main/myisam_recover.test
+++ b/mysql-test/main/myisam_recover.test
@@ -22,7 +22,7 @@ connection con1;
--echo #
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
set @save_table_open_cache=@@table_open_cache;
diff --git a/mysql-test/main/mysql.result b/mysql-test/main/mysql.result
index ec2760ce8a7..75b1a01ee4e 100644
--- a/mysql-test/main/mysql.result
+++ b/mysql-test/main/mysql.result
@@ -172,14 +172,14 @@ ERROR 1049 (42000) at line 1: Unknown database 'invalid'
ERROR 1049 (42000) at line 1: Unknown database 'invalid'
Test connect with dbname + hostname
Test connect with dbname + _invalid_ hostname
-ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
-ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
+ERROR 2005 (HY000) at line 1: Unknown server host 'invalid_hostname' (errno)
+ERROR 2005 (HY000) at line 1: Unknown server host 'invalid_hostname' (errno)
The commands reported in the bug report
-ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
+ERROR 2005 (HY000) at line 1: Unknown server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
Too long dbname
ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...'
Too long hostname
-ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
+ERROR 2005 (HY000) at line 1: Unknown server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
1
1
ERROR at line 1: DELIMITER cannot contain a backslash character
@@ -208,7 +208,7 @@ COUNT (*)
1
COUNT (*)
1
-ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errno)
+ERROR 2005 (HY000) at line 1: Unknown server host 'invalid_hostname' (errno)
End of 5.0 tests
WARNING: --server-arg option not supported in this configuration.
*************************** 1. row ***************************
@@ -538,7 +538,7 @@ a
#
# End of 10.1 tests
#
-ERROR 1300 (HY000) at line 2: Invalid utf8 character string: 'test\xF0\x9F\x98\x81'
+ERROR 1300 (HY000) at line 2: Invalid utf8mb3 character string: 'test\xF0\x9F\x98\x81'
set GLOBAL sql_mode=default;
End of tests
diff --git a/mysql-test/main/mysql5613mysql.result b/mysql-test/main/mysql5613mysql.result
index 183af7211d3..7f4b358cdd0 100644
--- a/mysql-test/main/mysql5613mysql.result
+++ b/mysql-test/main/mysql5613mysql.result
@@ -5,56 +5,56 @@
SHOW CREATE TABLE columns_priv;
Table Create Table
columns_priv CREATE TABLE `columns_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Column_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Column privileges'
SELECT * FROM columns_priv LIMIT 0;
Host Db User Table_name Column_name Timestamp Column_priv
DROP TABLE columns_priv;
SHOW CREATE TABLE db;
Table Create Table
db CREATE TABLE `db` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`Db`,`User`),
KEY `User` (`User`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Database privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Database privileges'
SELECT * FROM db LIMIT 0;
Host Db User Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Grant_priv References_priv Index_priv Alter_priv Create_tmp_table_priv Lock_tables_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Execute_priv Event_priv Trigger_priv
DROP TABLE db;
SHOW CREATE TABLE event;
Table Create Table
event CREATE TABLE `event` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`body` longblob NOT NULL,
- `definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` char(77) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL,
`interval_field` 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') DEFAULT NULL,
@@ -66,27 +66,27 @@ event CREATE TABLE `event` (
`status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
`sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','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') NOT NULL DEFAULT '',
- `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `comment` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`originator` int(10) unsigned NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
PRIMARY KEY (`db`,`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Events'
SELECT * FROM event LIMIT 0;
db name body definer execute_at interval_value interval_field created modified last_executed starts ends status on_completion sql_mode comment originator time_zone character_set_client collation_connection db_collation body_utf8
DROP TABLE event;
SHOW CREATE TABLE func;
Table Create Table
func CREATE TABLE `func` (
- `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`ret` tinyint(1) NOT NULL DEFAULT 0,
- `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
- `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+ `dl` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `type` enum('function','aggregate') CHARACTER SET utf8mb3 NOT NULL,
PRIMARY KEY (`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='User defined functions'
SELECT * FROM func LIMIT 0;
name ret dl type
DROP TABLE func;
@@ -96,14 +96,14 @@ plugin CREATE TABLE `plugin` (
`name` varchar(64) NOT NULL DEFAULT '',
`dl` varchar(128) NOT NULL DEFAULT '',
PRIMARY KEY (`name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL plugins'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='MySQL plugins'
SELECT * FROM plugin LIMIT 0;
name dl
DROP TABLE plugin;
SHOW CREATE TABLE proc;
Table Create Table
proc CREATE TABLE `proc` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`type` enum('FUNCTION','PROCEDURE') NOT NULL,
`specific_name` char(64) NOT NULL DEFAULT '',
@@ -114,50 +114,50 @@ proc CREATE TABLE `proc` (
`param_list` blob NOT NULL,
`returns` longblob NOT NULL DEFAULT '',
`body` longblob NOT NULL,
- `definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` char(77) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','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') NOT NULL DEFAULT '',
- `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `comment` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
PRIMARY KEY (`db`,`name`,`type`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stored Procedures'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Stored Procedures'
SELECT * FROM proc LIMIT 0;
db name type specific_name language sql_data_access is_deterministic security_type param_list returns body definer created modified sql_mode comment character_set_client collation_connection db_collation body_utf8
DROP TABLE proc;
SHOW CREATE TABLE procs_priv;
Table Create Table
procs_priv CREATE TABLE `procs_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Routine_type` enum('FUNCTION','PROCEDURE') COLLATE utf8_bin NOT NULL,
- `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Routine_name` char(64) CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Routine_type` enum('FUNCTION','PROCEDURE') COLLATE utf8mb3_bin NOT NULL,
+ `Grantor` char(77) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
KEY `Grantor` (`Grantor`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Procedure privileges'
SELECT * FROM procs_priv LIMIT 0;
Host Db User Routine_name Routine_type Grantor Proc_priv Timestamp
DROP TABLE procs_priv;
SHOW CREATE TABLE proxies_priv;
Table Create Table
proxies_priv CREATE TABLE `proxies_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proxied_user` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proxied_host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proxied_user` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`With_grant` tinyint(1) NOT NULL DEFAULT 0,
- `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Grantor` char(77) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
KEY `Grantor` (`Grantor`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User proxy privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='User proxy privileges'
SELECT * FROM proxies_priv LIMIT 0;
Host User Proxied_host Proxied_user With_grant Grantor Timestamp
DROP TABLE proxies_priv;
@@ -174,24 +174,24 @@ servers CREATE TABLE `servers` (
`Wrapper` char(64) NOT NULL DEFAULT '',
`Owner` char(64) NOT NULL DEFAULT '',
PRIMARY KEY (`Server_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='MySQL Foreign Servers table'
SELECT * FROM servers LIMIT 0;
Server_name Host Db Username Password Port Socket Wrapper Owner
DROP TABLE servers;
SHOW CREATE TABLE tables_priv;
Table Create Table
tables_priv CREATE TABLE `tables_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Grantor` char(77) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
KEY `Grantor` (`Grantor`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Table privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Table privileges'
SELECT * FROM tables_priv LIMIT 0;
Host Db User Table_name Grantor Timestamp Table_priv Column_priv
DROP TABLE tables_priv;
@@ -201,7 +201,7 @@ time_zone_leap_second CREATE TABLE `time_zone_leap_second` (
`Transition_time` bigint(20) NOT NULL,
`Correction` int(11) NOT NULL,
PRIMARY KEY (`Transition_time`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Leap seconds information for time zones'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Leap seconds information for time zones'
SELECT * FROM time_zone_leap_second LIMIT 0;
Transition_time Correction
DROP TABLE time_zone_leap_second;
@@ -211,7 +211,7 @@ time_zone CREATE TABLE `time_zone` (
`Time_zone_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`Use_leap_seconds` enum('Y','N') NOT NULL DEFAULT 'N',
PRIMARY KEY (`Time_zone_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zones'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Time zones'
SELECT * FROM time_zone LIMIT 0;
Time_zone_id Use_leap_seconds
DROP TABLE time_zone;
@@ -221,7 +221,7 @@ time_zone_name CREATE TABLE `time_zone_name` (
`Name` char(64) NOT NULL,
`Time_zone_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`Name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zone names'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Time zone names'
SELECT * FROM time_zone_name LIMIT 0;
Name Time_zone_id
DROP TABLE time_zone_name;
@@ -232,7 +232,7 @@ time_zone_transition CREATE TABLE `time_zone_transition` (
`Transition_time` bigint(20) NOT NULL,
`Transition_type_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`Time_zone_id`,`Transition_time`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zone transitions'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Time zone transitions'
SELECT * FROM time_zone_transition LIMIT 0;
Time_zone_id Transition_time Transition_type_id
DROP TABLE time_zone_transition;
@@ -245,46 +245,46 @@ time_zone_transition_type CREATE TABLE `time_zone_transition_type` (
`Is_DST` tinyint(3) unsigned NOT NULL DEFAULT 0,
`Abbreviation` char(8) NOT NULL DEFAULT '',
PRIMARY KEY (`Time_zone_id`,`Transition_type_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Time zone transition types'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COMMENT='Time zone transition types'
SELECT * FROM time_zone_transition_type LIMIT 0;
Time_zone_id Transition_type_id Offset Is_DST Abbreviation
DROP TABLE time_zone_transition_type;
SHOW CREATE TABLE user;
Table Create Table
user CREATE TABLE `user` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Reload_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Shutdown_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Process_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `File_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_db_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Super_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Repl_client_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_user_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`ssl_cipher` blob NOT NULL,
`x509_issuer` blob NOT NULL,
`x509_subject` blob NOT NULL,
@@ -292,11 +292,11 @@ user CREATE TABLE `user` (
`max_updates` int(11) unsigned NOT NULL DEFAULT 0,
`max_connections` int(11) unsigned NOT NULL DEFAULT 0,
`max_user_connections` int(11) unsigned NOT NULL DEFAULT 0,
- `plugin` char(64) COLLATE utf8_bin DEFAULT '',
- `authentication_string` text COLLATE utf8_bin DEFAULT NULL,
- `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `plugin` char(64) COLLATE utf8mb3_bin DEFAULT '',
+ `authentication_string` text COLLATE utf8mb3_bin DEFAULT NULL,
+ `password_expired` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`User`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Users and global privileges'
SELECT * FROM user LIMIT 0;
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
DROP TABLE user;
diff --git a/mysql-test/main/mysql_client_test.test b/mysql-test/main/mysql_client_test.test
index 9fb7bcd81c9..bcb246a8a06 100644
--- a/mysql-test/main/mysql_client_test.test
+++ b/mysql-test/main/mysql_client_test.test
@@ -1,7 +1,5 @@
# This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc
-# need to have the dynamic loading turned on for the client plugin tests
---source include/have_plugin_auth.inc
# Run test with default character set
--source include/default_charset.inc
diff --git a/mysql-test/main/mysql_install_db_win.result b/mysql-test/main/mysql_install_db_win.result
index 31336847a38..2440ff351ea 100644
--- a/mysql-test/main/mysql_install_db_win.result
+++ b/mysql-test/main/mysql_install_db_win.result
@@ -1,12 +1,12 @@
Running bootstrap
+Creating my.ini file
Removing default user
Allowing remote access for user root
Setting root password
-Creating my.ini file
Creation of the database was successful
# Kill the server
# restart: --datadir=MYSQLTEST_VARDIR/tmp/ddir --loose-innodb
-connect root,localhost,root,foo;
+connect root,localhost,root,foo,mysql;
SELECT @@datadir;
@@datadir
DATADIR/
@@ -14,4 +14,18 @@ DATADIR/
1
FOUND 1 /is not empty. Only new or empty existing directories are accepted for --datadir/ in install.log
connection default;
+[mysqld]
+long_query_time=15.000000
+#slow_query_log_file=l:/errorlog/mariadb.slow.log
+slow_query_log_file=BASEDIR/data/slow_query_log_01.log
+datadir=BASEDIR/data
+server-id=1
+port=3307
+#tmpdir=C:/mysql_tmpdir
+tmpdir=BASEDIR/temp
+innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend
+innodb_log_group_home_dir=BASEDIR/data
+skip-name-resolve
+[client]
+port=3307
# restart
diff --git a/mysql-test/main/mysql_install_db_win.test b/mysql-test/main/mysql_install_db_win.test
index 3f0256e860e..ceb7293f611 100644
--- a/mysql-test/main/mysql_install_db_win.test
+++ b/mysql-test/main/mysql_install_db_win.test
@@ -9,7 +9,7 @@ exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R;
let $restart_parameters=--datadir=$ddir --loose-innodb;
--source include/start_mysqld.inc
-connect root,localhost,root,foo;
+connect (root,localhost,root,foo,mysql);
# Smoke test - check that we're actually using datadir
# we've created (i.e restart_parameters worked)
--replace_result $ddir DATADIR
@@ -44,5 +44,40 @@ rmdir $ddir;
let $restart_parameters=;
connection default;
+
+# Test --template option
+let _BASEDIR = $MYSQLTEST_VARDIR/tmp/basedir;
+perl;
+ use autodie;
+ open(IN, '<', "std_data/mysql_install_db_win.ini");
+ open(OUT, '>', "$ENV{MYSQLTEST_VARDIR}/tmp/mysql_install_db_win.ini");
+ while (<IN>) {
+ s/BASEDIR/$ENV{_BASEDIR}/g;
+ print OUT $_;
+ }
+ close IN;
+ close OUT
+EOF
+mkdir $_BASEDIR;
+mkdir $_BASEDIR/temp;
+
+# Run mysql_install_db.exe with config parameter
+--disable_result_log
+exec $MYSQL_INSTALL_DB_EXE -o --port=3307 --config=$MYSQLTEST_VARDIR/tmp/mysql_install_db_win.ini;
+--enable_result_log
+
+# dump the modified config in data directory
+perl;
+ use autodie;
+ open(IN, '<', "$ENV{_BASEDIR}/data/my.ini");
+ while (<IN>) {
+ s/$ENV{_BASEDIR}/BASEDIR/g;
+ # when testing on installation layout, client's plugin
+ # dir is added, but when testing in build dir.
+ print unless $_ =~ /plugin-dir/;
+ }
+ close IN;
+EOF
+rmdir $_BASEDIR;
--source include/start_mysqld.inc
diff --git a/mysql-test/main/mysql_json_mysql_upgrade.result b/mysql-test/main/mysql_json_mysql_upgrade.result
index 05863bb3591..768f7301463 100644
--- a/mysql-test/main/mysql_json_mysql_upgrade.result
+++ b/mysql-test/main/mysql_json_mysql_upgrade.result
@@ -57,6 +57,106 @@ Phase 2/7: Installing used storage engines... Skipped
installing plugin for MYSQL_JSON data type
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -66,6 +166,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.mysql_json_test Needs upgrade
test.mysql_json_test_big Needs upgrade
diff --git a/mysql-test/main/mysql_json_mysql_upgrade_with_plugin_loaded.result b/mysql-test/main/mysql_json_mysql_upgrade_with_plugin_loaded.result
index 0b2e7af84eb..0a24147bdea 100644
--- a/mysql-test/main/mysql_json_mysql_upgrade_with_plugin_loaded.result
+++ b/mysql-test/main/mysql_json_mysql_upgrade_with_plugin_loaded.result
@@ -57,6 +57,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -66,6 +166,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.mysql_json_test Needs upgrade
test.mysql_json_test_big Needs upgrade
diff --git a/mysql-test/main/mysql_locale_posix.result b/mysql-test/main/mysql_locale_posix.result
index 72a473bb89e..039e3ea442b 100644
--- a/mysql-test/main/mysql_locale_posix.result
+++ b/mysql-test/main/mysql_locale_posix.result
@@ -33,7 +33,7 @@ Database: ó
utf8
@@character_set_client
-utf8
+utf8mb3
Database: ó
+--------+
| Tables |
diff --git a/mysql-test/main/mysql_not_windows.result b/mysql-test/main/mysql_not_windows.result
index 96210a366a6..644b3a0f4f0 100644
--- a/mysql-test/main/mysql_not_windows.result
+++ b/mysql-test/main/mysql_not_windows.result
@@ -9,5 +9,5 @@ End of tests
2
X
3
-ERROR 1300 (HY000): Invalid utf8 character string: 'test\xF0\x9F\x98\x81 '
+ERROR 1300 (HY000): Invalid utf8mb3 character string: 'test\xF0\x9F\x98\x81 '
ERROR 1300 (HY000): Invalid binary character string: 'test\xF0\x9F\x98\x81 '
diff --git a/mysql-test/main/mysql_tzinfo_to_sql_symlink.result b/mysql-test/main/mysql_tzinfo_to_sql_symlink.result
index a9ada2d6fdb..c87aedcc247 100644
--- a/mysql-test/main/mysql_tzinfo_to_sql_symlink.result
+++ b/mysql-test/main/mysql_tzinfo_to_sql_symlink.result
@@ -1,41 +1,36 @@
-use mysql;
-RENAME TABLE time_zone TO time_zone_orig,
-time_zone_name TO time_zone_name_orig,
-time_zone_transition TO time_zone_transition_orig,
-time_zone_transition_type TO time_zone_transition_type_orig,
-time_zone_leap_second TO time_zone_leap_second_orig;
-CREATE TABLE time_zone LIKE time_zone_orig;
-CREATE TABLE time_zone_name LIKE time_zone_name_orig;
-CREATE TABLE time_zone_transition LIKE time_zone_transition_orig;
-CREATE TABLE time_zone_transition_type LIKE time_zone_transition_type_orig;
-CREATE TABLE time_zone_leap_second LIKE time_zone_leap_second_orig;
+CREATE TABLE time_zone LIKE mysql.time_zone;
+CREATE TABLE time_zone_name LIKE mysql.time_zone_name;
+CREATE TABLE time_zone_transition LIKE mysql.time_zone_transition;
+CREATE TABLE time_zone_transition_type LIKE mysql.time_zone_transition_type;
+CREATE TABLE time_zone_leap_second LIKE mysql.time_zone_leap_second;
#
# MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
#
# Verbose run
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=InnoDB;
-ALTER TABLE time_zone_name ENGINE=InnoDB;
-ALTER TABLE time_zone_transition ENGINE=InnoDB;
-ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_name'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition_type'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
-START TRANSACTION;
-ELSE
-TRUNCATE TABLE time_zone;
-TRUNCATE TABLE time_zone_name;
-TRUNCATE TABLE time_zone_transition;
-TRUNCATE TABLE time_zone_transition_type;
-END IF|
-\d ;
+/*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
+ time_zone_leap_second WRITE,
+ time_zone_name WRITE,
+ time_zone_transition WRITE,
+ time_zone_transition_type WRITE')*/;
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
+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.
@@ -43,7 +38,7 @@ Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/ignored.tab' as time zone. Sk
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
+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.
@@ -51,79 +46,58 @@ Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zo
Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
UNLOCK TABLES;
COMMIT;
-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;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=Aria;
-ALTER TABLE time_zone_name ENGINE=Aria;
-ALTER TABLE time_zone_transition ENGINE=Aria, ORDER BY Time_zone_id, Transition_time;
-ALTER TABLE time_zone_transition_type ENGINE=Aria, ORDER BY Time_zone_id, Transition_type_id;
-END IF|
-\d ;
-SELECT COUNT(*) FROM time_zone;
-COUNT(*)
-0
-SELECT COUNT(*) FROM time_zone_name;
-COUNT(*)
-0
-SELECT COUNT(*) FROM time_zone_transition;
-COUNT(*)
-0
-SELECT COUNT(*) FROM time_zone_transition_type;
-COUNT(*)
-0
-SELECT COUNT(*) FROM time_zone_leap_second;
-COUNT(*)
-0
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
+#
+# MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
+#
# Run on zoneinfo directory
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=InnoDB;
-ALTER TABLE time_zone_name ENGINE=InnoDB;
-ALTER TABLE time_zone_transition ENGINE=InnoDB;
-ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_name'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition_type'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
-START TRANSACTION;
-ELSE
-TRUNCATE TABLE time_zone;
-TRUNCATE TABLE time_zone_name;
-TRUNCATE TABLE time_zone_transition;
-TRUNCATE TABLE time_zone_transition_type;
-END IF|
-\d ;
+/*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
+ time_zone_leap_second WRITE,
+ time_zone_name WRITE,
+ time_zone_transition WRITE,
+ time_zone_transition_type WRITE')*/;
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
+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
+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.
UNLOCK TABLES;
COMMIT;
-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;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=Aria;
-ALTER TABLE time_zone_name ENGINE=Aria;
-ALTER TABLE time_zone_transition ENGINE=Aria, ORDER BY Time_zone_id, Transition_time;
-ALTER TABLE time_zone_transition_type ENGINE=Aria, ORDER BY Time_zone_id, Transition_type_id;
-END IF|
-\d ;
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
SELECT COUNT(*) FROM time_zone;
COUNT(*)
2
@@ -142,9 +116,13 @@ COUNT(*)
#
# Run on zoneinfo directory --skip-write-binlog
#
-set @prep1=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on' and variable_value='ON'), 'SET SESSION WSREP_ON=OFF', 'do 0');
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
+SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0;
-execute immediate @prep1;
+SET @wsrep_cannot_replicate_tz=0;
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -157,21 +135,23 @@ LOCK TABLES time_zone WRITE,
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
+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
+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.
UNLOCK TABLES;
COMMIT;
-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;
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
+SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
+execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
SELECT COUNT(*) FROM time_zone;
COUNT(*)
2
@@ -187,6 +167,19 @@ COUNT(*)
SELECT COUNT(*) FROM time_zone_leap_second;
COUNT(*)
0
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@SQL_LOG_BIN
+0 0 NULL 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 2
+COM_BEGIN 0
+COM_INSERT 6
+COM_LOCK_TABLES 1
+COM_TRUNCATE 4
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -195,38 +188,34 @@ TRUNCATE TABLE time_zone_leap_second;
#
# Testing with explicit timezonefile
#
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=InnoDB;
-ALTER TABLE time_zone_name ENGINE=InnoDB;
-ALTER TABLE time_zone_transition ENGINE=InnoDB;
-ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
-SELECT 'skip truncate tables';
-START TRANSACTION;
-ELSE
-SELECT 'skip truncate tables';
-END IF|
-\d ;
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_name'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition_type'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
+/*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
+ time_zone_leap_second WRITE,
+ time_zone_name WRITE,
+ time_zone_transition WRITE,
+ time_zone_transition_type WRITE')*/;
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
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
(@time_zone_id, 0, 0, 0, 'GMT')
;
UNLOCK TABLES;
COMMIT;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=Aria;
-ALTER TABLE time_zone_name ENGINE=Aria;
-ALTER TABLE time_zone_transition ENGINE=Aria, ORDER BY Time_zone_id, Transition_time;
-ALTER TABLE time_zone_transition_type ENGINE=Aria, ORDER BY Time_zone_id, Transition_type_id;
-END IF|
-\d ;
-skip truncate tables
-skip truncate tables
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
SELECT COUNT(*) FROM time_zone;
COUNT(*)
1
@@ -242,6 +231,19 @@ COUNT(*)
SELECT COUNT(*) FROM time_zone_leap_second;
COUNT(*)
0
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@SQL_LOG_BIN
+0 0 NULL 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 0
+COM_BEGIN 0
+COM_INSERT 3
+COM_LOCK_TABLES 1
+COM_TRUNCATE 0
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -250,10 +252,13 @@ TRUNCATE TABLE time_zone_leap_second;
#
# Testing with explicit timezonefile --skip-write-binlog
#
-set @prep1=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on' and variable_value='ON'), 'SET SESSION WSREP_ON=OFF', 'do 0');
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
+SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0;
-execute immediate @prep1;
-SELECT 'skip truncate tables';
+SET @wsrep_cannot_replicate_tz=0;
LOCK TABLES time_zone WRITE,
time_zone_leap_second WRITE,
time_zone_name WRITE,
@@ -262,26 +267,41 @@ LOCK TABLES time_zone WRITE,
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
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
(@time_zone_id, 0, 0, 0, 'GMT')
;
UNLOCK TABLES;
COMMIT;
+SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
+execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
SELECT COUNT(*) FROM time_zone;
COUNT(*)
-0
+1
SELECT COUNT(*) FROM time_zone_name;
COUNT(*)
-0
+1
SELECT COUNT(*) FROM time_zone_transition;
COUNT(*)
0
SELECT COUNT(*) FROM time_zone_transition_type;
COUNT(*)
-0
+1
SELECT COUNT(*) FROM time_zone_leap_second;
COUNT(*)
0
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@SQL_LOG_BIN
+0 0 NULL 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 0
+COM_BEGIN 0
+COM_INSERT 3
+COM_LOCK_TABLES 1
+COM_TRUNCATE 0
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -290,46 +310,33 @@ TRUNCATE TABLE time_zone_leap_second;
#
# Testing --leap
#
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=InnoDB;
-ALTER TABLE time_zone_name ENGINE=InnoDB;
-ALTER TABLE time_zone_transition ENGINE=InnoDB;
-ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
-SELECT 'skip truncate tables';
-START TRANSACTION;
-ELSE
-SELECT 'skip truncate tables';
-END IF|
-\d ;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone_leap_second ENGINE=InnoDB;
-END IF|
-\d ;
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_name'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition_type'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
+/*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
+ time_zone_leap_second WRITE,
+ time_zone_name WRITE,
+ time_zone_transition WRITE,
+ time_zone_transition_type WRITE')*/;
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_leap_second_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_leap_second'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_leap_second ENGINE=InnoDB', 'do 0');
TRUNCATE TABLE time_zone_leap_second;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone_leap_second ENGINE=Aria;
-END IF|
-\d ;
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_leap_second ENGINE=', @time_zone_leap_second_engine), 'do 0');
ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
UNLOCK TABLES;
COMMIT;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=Aria;
-ALTER TABLE time_zone_name ENGINE=Aria;
-ALTER TABLE time_zone_transition ENGINE=Aria, ORDER BY Time_zone_id, Transition_time;
-ALTER TABLE time_zone_transition_type ENGINE=Aria, ORDER BY Time_zone_id, Transition_type_id;
-END IF|
-\d ;
-skip truncate tables
-skip truncate tables
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
SELECT COUNT(*) FROM time_zone;
COUNT(*)
0
@@ -345,6 +352,19 @@ COUNT(*)
SELECT COUNT(*) FROM time_zone_leap_second;
COUNT(*)
0
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@SQL_LOG_BIN
+0 0 NULL 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 1
+COM_BEGIN 0
+COM_INSERT 0
+COM_LOCK_TABLES 1
+COM_TRUNCATE 1
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -353,10 +373,13 @@ TRUNCATE TABLE time_zone_leap_second;
#
# Testing --skip-write-binlog --leap
#
-set @prep1=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on' and variable_value='ON'), 'SET SESSION WSREP_ON=OFF', 'do 0');
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
+SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0;
-execute immediate @prep1;
-SELECT 'skip truncate tables';
+SET @wsrep_cannot_replicate_tz=0;
LOCK TABLES time_zone WRITE,
time_zone_leap_second WRITE,
time_zone_name WRITE,
@@ -366,8 +389,8 @@ TRUNCATE TABLE time_zone_leap_second;
ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
UNLOCK TABLES;
COMMIT;
-skip truncate tables
-skip truncate tables
+SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
+execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
SELECT COUNT(*) FROM time_zone;
COUNT(*)
0
@@ -383,16 +406,32 @@ COUNT(*)
SELECT COUNT(*) FROM time_zone_leap_second;
COUNT(*)
0
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@SQL_LOG_BIN
+0 0 NULL 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 1
+COM_BEGIN 0
+COM_INSERT 0
+COM_LOCK_TABLES 1
+COM_TRUNCATE 1
#
# MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
#
#
# Testing --skip-write-binlog
#
-set @prep1=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on' and variable_value='ON'), 'SET SESSION WSREP_ON=OFF', 'do 0');
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
+SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0;
-execute immediate @prep1;
-SELECT 'skip truncate tables';
+SET @wsrep_cannot_replicate_tz=0;
LOCK TABLES time_zone WRITE,
time_zone_leap_second WRITE,
time_zone_name WRITE,
@@ -401,15 +440,20 @@ LOCK TABLES time_zone WRITE,
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
+INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, `Offset`, Is_DST, Abbreviation) VALUES
(@time_zone_id, 0, 0, 0, 'GMT')
;
UNLOCK TABLES;
COMMIT;
-set @prep1=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on' and variable_value='ON'), 'SET SESSION WSREP_ON=OFF', 'do 0');
+SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
+execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_is_on, 'SET @save_wsrep_on=@@WSREP_ON, WSREP_ON=OFF', 'do 0');
+SET @save_sql_log_bin=@@SQL_LOG_BIN;
SET SESSION SQL_LOG_BIN=0;
-execute immediate @prep1;
-SELECT 'skip truncate tables';
+SET @wsrep_cannot_replicate_tz=0;
LOCK TABLES time_zone WRITE,
time_zone_leap_second WRITE,
time_zone_name WRITE,
@@ -419,51 +463,48 @@ TRUNCATE TABLE time_zone_leap_second;
ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
UNLOCK TABLES;
COMMIT;
+SET SESSION SQL_LOG_BIN=@save_sql_log_bin;
+execute immediate if(@wsrep_is_on, 'SET SESSION WSREP_ON=@save_wsrep_on', 'do 0');
#
# End of 10.2 tests
#
#
# MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL
#
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=InnoDB;
-ALTER TABLE time_zone_name ENGINE=InnoDB;
-ALTER TABLE time_zone_transition ENGINE=InnoDB;
-ALTER TABLE time_zone_transition_type ENGINE=InnoDB;
+set @wsrep_is_on=(select sum(VARIABLE_NAME='wsrep_on' AND SESSION_VALUE='ON') from information_schema.SYSTEM_VARIABLES);
+SELECT concat('%', GROUP_CONCAT(OPTION), '%') INTO @replicate_opt FROM (SELECT DISTINCT concat('REPLICATE_', UPPER(ENGINE)) AS OPTION FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME IN ('time_zone', 'time_zone_name', 'time_zone_transition', 'time_zone_transition_type', 'time_zone_leap_second') AND ENGINE in ('MyISAM', 'Aria')) AS o ORDER BY OPTION DESC;
+set @wsrep_cannot_replicate_tz=@wsrep_is_on AND (select sum(VARIABLE_NAME='wsrep_mode' and GLOBAL_VALUE NOT LIKE @replicate_opt) from information_schema.SYSTEM_VARIABLES);
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_name_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_name'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_name ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition ENGINE=InnoDB', 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, "select ENGINE into @time_zone_transition_type_engine from information_schema.TABLES where TABLE_SCHEMA=DATABASE() and TABLE_NAME='time_zone_transition_type'", 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, 'ALTER TABLE time_zone_transition_type ENGINE=InnoDB', 'do 0');
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
-START TRANSACTION;
-ELSE
-TRUNCATE TABLE time_zone;
-TRUNCATE TABLE time_zone_name;
-TRUNCATE TABLE time_zone_transition;
-TRUNCATE TABLE time_zone_transition_type;
-END IF|
-\d ;
+/*M!100602 execute immediate if(@wsrep_cannot_replicate_tz, 'start transaction', 'LOCK TABLES time_zone WRITE,
+ time_zone_leap_second WRITE,
+ time_zone_name WRITE,
+ time_zone_transition WRITE,
+ time_zone_transition_type WRITE')*/;
UNLOCK TABLES;
COMMIT;
-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;
-\d |
-IF (select count(*) from information_schema.global_variables where
-variable_name='wsrep_on' and variable_value='ON') = 1 THEN
-ALTER TABLE time_zone ENGINE=Aria;
-ALTER TABLE time_zone_name ENGINE=Aria;
-ALTER TABLE time_zone_transition ENGINE=Aria, ORDER BY Time_zone_id, Transition_time;
-ALTER TABLE time_zone_transition_type ENGINE=Aria, ORDER BY Time_zone_id, Transition_type_id;
-END IF|
-\d ;
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time');
+execute immediate if(@wsrep_cannot_replicate_tz, 'do 0','ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone ENGINE=', @time_zone_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_name ENGINE=', @time_zone_name_engine), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition ENGINE=', @time_zone_transition_engine, ', ORDER BY Time_zone_id, Transition_time'), 'do 0');
+execute immediate if(@wsrep_cannot_replicate_tz, concat('ALTER TABLE time_zone_transition_type ENGINE=', @time_zone_transition_type_engine, ', ORDER BY Time_zone_id, Transition_type_id'), 'do 0');
+DROP TABLE baseline;
DROP TABLE time_zone;
DROP TABLE time_zone_name;
DROP TABLE time_zone_transition;
DROP TABLE time_zone_transition_type;
DROP TABLE time_zone_leap_second;
-RENAME TABLE time_zone_orig TO time_zone,
-time_zone_name_orig TO time_zone_name,
-time_zone_transition_orig TO time_zone_transition,
-time_zone_transition_type_orig TO time_zone_transition_type,
-time_zone_leap_second_orig TO time_zone_leap_second;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/mysql_tzinfo_to_sql_symlink.test b/mysql-test/main/mysql_tzinfo_to_sql_symlink.test
index 8970bf88341..34df1281c38 100644
--- a/mysql-test/main/mysql_tzinfo_to_sql_symlink.test
+++ b/mysql-test/main/mysql_tzinfo_to_sql_symlink.test
@@ -1,18 +1,13 @@
+--source include/have_innodb.inc
--source include/have_symlink.inc
--source include/not_windows.inc
---source include/not_embedded.inc
+--source include/no_protocol.inc
-use mysql;
-RENAME TABLE time_zone TO time_zone_orig,
- time_zone_name TO time_zone_name_orig,
- time_zone_transition TO time_zone_transition_orig,
- time_zone_transition_type TO time_zone_transition_type_orig,
- time_zone_leap_second TO time_zone_leap_second_orig;
-CREATE TABLE time_zone LIKE time_zone_orig;
-CREATE TABLE time_zone_name LIKE time_zone_name_orig;
-CREATE TABLE time_zone_transition LIKE time_zone_transition_orig;
-CREATE TABLE time_zone_transition_type LIKE time_zone_transition_type_orig;
-CREATE TABLE time_zone_leap_second LIKE time_zone_leap_second_orig;
+CREATE TABLE time_zone LIKE mysql.time_zone;
+CREATE TABLE time_zone_name LIKE mysql.time_zone_name;
+CREATE TABLE time_zone_transition LIKE mysql.time_zone_transition;
+CREATE TABLE time_zone_transition_type LIKE mysql.time_zone_transition_type;
+CREATE TABLE time_zone_leap_second LIKE mysql.time_zone_leap_second;
--echo #
--echo # MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
@@ -27,16 +22,18 @@ CREATE TABLE time_zone_leap_second LIKE time_zone_leap_second_orig;
--echo # Verbose run
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_TZINFO_TO_SQL --verbose $MYSQLTEST_VARDIR/zoneinfo 2>&1
-SELECT COUNT(*) FROM time_zone;
-SELECT COUNT(*) FROM time_zone_name;
-SELECT COUNT(*) FROM time_zone_transition;
-SELECT COUNT(*) FROM time_zone_transition_type;
-SELECT COUNT(*) FROM time_zone_leap_second;
+
+--echo #
+--echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
+--echo #
--echo # Run on zoneinfo directory
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1
---exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>/dev/null | $MYSQL -S $MASTER_MYSOCK -u root mysql
+--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo > $MYSQL_TMP_DIR/tz.sql
+--disable_query_log
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
SELECT COUNT(*) FROM time_zone;
SELECT COUNT(*) FROM time_zone_name;
SELECT COUNT(*) FROM time_zone_transition;
@@ -49,13 +46,27 @@ SELECT COUNT(*) FROM time_zone_leap_second;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo 2>&1
---exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo 2>/dev/null | $MYSQL -S $MASTER_MYSOCK -u root mysql
+--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
+--disable_query_log
+CREATE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+
SELECT COUNT(*) FROM time_zone;
SELECT COUNT(*) FROM time_zone_name;
SELECT COUNT(*) FROM time_zone_transition;
SELECT COUNT(*) FROM time_zone_transition_type;
SELECT COUNT(*) FROM time_zone_leap_second;
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
# Below tests don't include TRUNCATE TABLE so clear them.
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
@@ -69,13 +80,27 @@ TRUNCATE TABLE time_zone_leap_second;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
---exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>/dev/null | $MYSQL -S $MASTER_MYSOCK -u root mysql
+--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+
SELECT COUNT(*) FROM time_zone;
SELECT COUNT(*) FROM time_zone_name;
SELECT COUNT(*) FROM time_zone_transition;
SELECT COUNT(*) FROM time_zone_transition_type;
SELECT COUNT(*) FROM time_zone_leap_second;
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -87,13 +112,27 @@ TRUNCATE TABLE time_zone_leap_second;
--echo #
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>&1
---exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo/GMT 2>/dev/null | $MYSQL -S $MASTER_MYSOCK -u root mysql
+--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo/GMT XXX 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+
SELECT COUNT(*) FROM time_zone;
SELECT COUNT(*) FROM time_zone_name;
SELECT COUNT(*) FROM time_zone_transition;
SELECT COUNT(*) FROM time_zone_transition_type;
SELECT COUNT(*) FROM time_zone_leap_second;
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -105,13 +144,27 @@ TRUNCATE TABLE time_zone_leap_second;
--echo #
--exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
---exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>/dev/null | $MYSQL -S $MASTER_MYSOCK -u root mysql
+--exec $MYSQL_TZINFO_TO_SQL --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+
SELECT COUNT(*) FROM time_zone;
SELECT COUNT(*) FROM time_zone_name;
SELECT COUNT(*) FROM time_zone_transition;
SELECT COUNT(*) FROM time_zone_transition_type;
SELECT COUNT(*) FROM time_zone_leap_second;
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
@@ -123,13 +176,27 @@ TRUNCATE TABLE time_zone_leap_second;
--echo #
--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>&1
---exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog --leap $MYSQLTEST_VARDIR/zoneinfo/GMT 2>/dev/null | $MYSQL -S $MASTER_MYSOCK -u root mysql
+--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog --leap $MYSQLTEST_VARDIR/zoneinfo/GMT > $MYSQL_TMP_DIR/tz.sql
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+
SELECT COUNT(*) FROM time_zone;
SELECT COUNT(*) FROM time_zone_name;
SELECT COUNT(*) FROM time_zone_transition;
SELECT COUNT(*) FROM time_zone_transition_type;
SELECT COUNT(*) FROM time_zone_leap_second;
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
--echo #
--echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
--echo #
@@ -147,29 +214,29 @@ SELECT COUNT(*) FROM time_zone_leap_second;
--echo # End of 10.2 tests
--echo #
-#
-# Cleanup
-#
-
---exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
-
--echo #
--echo # MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL
--echo #
+--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
--exec mkdir $MYSQLTEST_VARDIR/zoneinfo
--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/Factory
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1
+#
+# Cleanup
+#
+
+--remove_file $MYSQL_TMP_DIR/tz.sql
--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
+DROP TABLE baseline;
DROP TABLE time_zone;
DROP TABLE time_zone_name;
DROP TABLE time_zone_transition;
DROP TABLE time_zone_transition_type;
DROP TABLE time_zone_leap_second;
-RENAME TABLE time_zone_orig TO time_zone,
- time_zone_name_orig TO time_zone_name,
- time_zone_transition_orig TO time_zone_transition,
- time_zone_transition_type_orig TO time_zone_transition_type,
- time_zone_leap_second_orig TO time_zone_leap_second;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/mysql_upgrade-20228.result b/mysql-test/main/mysql_upgrade-20228.result
index 30ded626f5a..b58450ea0d9 100644
--- a/mysql-test/main/mysql_upgrade-20228.result
+++ b/mysql-test/main/mysql_upgrade-20228.result
@@ -50,6 +50,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -59,6 +159,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/mysql_upgrade-6984.result b/mysql-test/main/mysql_upgrade-6984.result
index 120f7cf733c..a0ea4607b24 100644
--- a/mysql-test/main/mysql_upgrade-6984.result
+++ b/mysql-test/main/mysql_upgrade-6984.result
@@ -50,6 +50,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -59,6 +159,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/mysql_upgrade-6984.test b/mysql-test/main/mysql_upgrade-6984.test
index d6d06a1e05e..48a06bbd542 100644
--- a/mysql-test/main/mysql_upgrade-6984.test
+++ b/mysql-test/main/mysql_upgrade-6984.test
@@ -2,6 +2,7 @@
# MDEV-6984 Can't migrate from MySQL 5.6.21 to MariaDB 10
#
--source include/not_embedded.inc
+--source include/have_perfschema.inc
#
# When 'root' account is password protected and MYSQL_UPGRADE doesn't
diff --git a/mysql-test/main/mysql_upgrade.result b/mysql-test/main/mysql_upgrade.result
index 5fe4ccd2c1f..0649c9139fd 100644
--- a/mysql-test/main/mysql_upgrade.result
+++ b/mysql-test/main/mysql_upgrade.result
@@ -34,6 +34,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -43,6 +143,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -84,6 +186,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -93,6 +295,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -133,6 +337,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -142,6 +446,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -151,7 +457,7 @@ ERROR 1045 (28000): Access denied for user 'mysqltest1'@'localhost' (using passw
FATAL ERROR: Upgrade failed
Run mysql_upgrade with a non existing server socket
Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
-ERROR 2005 (HY000): Unknown MySQL server host 'not_existing_host' (errno)
+ERROR 2005 (HY000): Unknown server host 'not_existing_host' (errno)
FATAL ERROR: Upgrade failed
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE';
Phase 1/7: Checking and upgrading mysql database
@@ -188,6 +494,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -197,6 +603,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -243,6 +651,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -252,6 +760,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -301,6 +811,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -310,6 +920,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -398,6 +1010,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -407,6 +1119,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -467,6 +1181,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -476,6 +1290,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -548,6 +1364,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -557,6 +1473,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.t1 OK
Phase 7/7: Running 'FLUSH PRIVILEGES'
@@ -583,38 +1501,38 @@ FLUSH PRIVILEGES;
SHOW CREATE TABLE mysql.user;
Table Create Table
user CREATE TABLE `user` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(32) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Reload_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Shutdown_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Process_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `File_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_db_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Super_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Repl_client_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_user_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`ssl_cipher` blob NOT NULL,
`x509_issuer` blob NOT NULL,
`x509_subject` blob NOT NULL,
@@ -622,14 +1540,14 @@ user CREATE TABLE `user` (
`max_updates` int(11) unsigned NOT NULL DEFAULT 0,
`max_connections` int(11) unsigned NOT NULL DEFAULT 0,
`max_user_connections` int(11) unsigned NOT NULL DEFAULT 0,
- `plugin` char(64) COLLATE utf8_bin NOT NULL DEFAULT 'mysql_native_password',
- `authentication_string` text COLLATE utf8_bin DEFAULT NULL,
- `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `plugin` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT 'mysql_native_password',
+ `authentication_string` text COLLATE utf8mb3_bin DEFAULT NULL,
+ `password_expired` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
`password_last_changed` timestamp NULL DEFAULT NULL,
`password_lifetime` smallint(5) unsigned DEFAULT NULL,
- `account_locked` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `account_locked` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`User`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin COMMENT='Users and global privileges'
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
@@ -666,6 +1584,106 @@ Upgrading from a version before MariaDB-10.1
Phase 2/7: Installing used storage engines
Checking for tables with unknown storage engine
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -675,6 +1693,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -740,6 +1760,106 @@ mysql.transaction_registry OK
mysql.user OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -749,6 +1869,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -924,6 +2046,106 @@ Upgrading from a version before MariaDB-10.1
Phase 2/7: Installing used storage engines
Checking for tables with unknown storage engine
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -933,6 +2155,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -952,7 +2176,8 @@ rename table mysql.global_priv_bak to mysql.global_priv;
# Check that mysql_upgrade can be run on mysqldump
# of mysql schema from previous versions
#
-call mtr.add_suppression("innodb_table_stats has length mismatch in the column name table_name");
+call mtr.add_suppression("innodb_(table|index)_stats has length mismatch in the column name table_name");
+call mtr.add_suppression("Column count of mysql.proc is wrong. Expected 21, found 20.");
#
# Upgrade from version 5.5
#
diff --git a/mysql-test/main/mysql_upgrade.test b/mysql-test/main/mysql_upgrade.test
index a743cf481ea..083f033daf5 100644
--- a/mysql-test/main/mysql_upgrade.test
+++ b/mysql-test/main/mysql_upgrade.test
@@ -482,7 +482,10 @@ rename table mysql.global_priv_bak to mysql.global_priv;
--echo #
# The warning appears during mysql_upgrade, before the schema becomes consistent
-call mtr.add_suppression("innodb_table_stats has length mismatch in the column name table_name");
+call mtr.add_suppression("innodb_(table|index)_stats has length mismatch in the column name table_name");
+# This comes from opening 10.6 sys.host_summary view that uses sys.format_time function,
+# on still inconsistent mysql.proc, in older versions
+call mtr.add_suppression("Column count of mysql.proc is wrong. Expected 21, found 20.");
--let $old_version= 5.5
--source include/load_dump_and_upgrade.inc
diff --git a/mysql-test/main/mysql_upgrade_mysql_json_datatype.result b/mysql-test/main/mysql_upgrade_mysql_json_datatype.result
index 25bc70c9074..cbf2b17175a 100644
--- a/mysql-test/main/mysql_upgrade_mysql_json_datatype.result
+++ b/mysql-test/main/mysql_upgrade_mysql_json_datatype.result
@@ -44,6 +44,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -53,6 +153,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.mysql_json_test Needs upgrade
test.mysql_json_test_big Needs upgrade
diff --git a/mysql-test/main/mysql_upgrade_noengine.result b/mysql-test/main/mysql_upgrade_noengine.result
index 413cddc8a63..459a1a6ce34 100644
--- a/mysql-test/main/mysql_upgrade_noengine.result
+++ b/mysql-test/main/mysql_upgrade_noengine.result
@@ -90,6 +90,106 @@ mysql.transaction_registry OK
mysql.user OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -99,6 +199,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.t1
Error : Unknown storage engine 'BLACKHOLE'
@@ -185,6 +287,106 @@ mysql.transaction_registry OK
mysql.user OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -194,6 +396,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.t1
Error : Unknown storage engine 'BLACKHOLE'
@@ -283,6 +487,106 @@ Checking for tables with unknown storage engine
installing plugin for 'archive' storage engine
installing plugin for 'blackhole' storage engine
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -292,6 +596,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.t1 OK
test.t2 OK
diff --git a/mysql-test/main/mysql_upgrade_ssl.result b/mysql-test/main/mysql_upgrade_ssl.result
index ff911e9f54b..55ece1269d2 100644
--- a/mysql-test/main/mysql_upgrade_ssl.result
+++ b/mysql-test/main/mysql_upgrade_ssl.result
@@ -35,6 +35,106 @@ mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -44,6 +144,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/mysql_upgrade_view.result b/mysql-test/main/mysql_upgrade_view.result
index d22298c6ed0..a7f13c185a8 100644
--- a/mysql-test/main/mysql_upgrade_view.result
+++ b/mysql-test/main/mysql_upgrade_view.result
@@ -114,6 +114,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
test.v1 OK
test.v1badcheck OK
test.v2 OK
@@ -127,6 +227,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.kv OK
test.t1 OK
@@ -134,13 +236,13 @@ Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
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`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_ci
show create view v2;
View Create View character_set_client collation_connection
-v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_ci
show create view v3;
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_ci
set sql_log_bin=1;
REPAIR VIEW v1,v2;
Table Op Msg_type Msg_text
@@ -201,13 +303,13 @@ flush tables;
create algorithm=temptable view v4 as select a from t1;
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`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_ci
show create view v2;
View Create View character_set_client collation_connection
-v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_ci
show create view v3;
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_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`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
@@ -264,6 +366,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views from mysql
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
test.v1 OK
test.v2 OK
test.v3 OK
@@ -277,6 +479,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
test.kv OK
test.t1 OK
@@ -285,13 +489,13 @@ OK
flush tables;
show create view v1;
View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_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`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v2 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_ci
show create view v3;
View Create View character_set_client collation_connection
-v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a` from `t1` utf8 utf8_general_ci
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a` from `t1` utf8mb3 utf8mb3_general_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`.`a` AS `a` from `t1` latin1 latin1_swedish_ci
@@ -389,6 +593,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views from mysql
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
test.v1 OK
test.v2 OK
test.v3 OK
diff --git a/mysql-test/main/mysql_upgrade_view.test b/mysql-test/main/mysql_upgrade_view.test
index 6a496858d22..3de7284c40c 100644
--- a/mysql-test/main/mysql_upgrade_view.test
+++ b/mysql-test/main/mysql_upgrade_view.test
@@ -1,4 +1,5 @@
-- source include/have_log_bin.inc
+-- source include/have_perfschema.inc
set sql_log_bin=0;
--disable_warnings
diff --git a/mysql-test/main/mysqladmin.result b/mysql-test/main/mysqladmin.result
index 8a9b009946b..99615f60e1b 100644
--- a/mysql-test/main/mysqladmin.result
+++ b/mysql-test/main/mysqladmin.result
@@ -17,3 +17,14 @@ mysqld is alive
# Creating an empty file 'cnf_file'
# Using --defaults-extra-file option with 'cnf_file'.
mysqld is alive
+# Kill the server
+# restart: --ssl-key=MYSQLTEST_VARDIR/tmp/ssl_key.pem --ssl-cert=MYSQLTEST_VARDIR/tmp/ssl_cert.pem
+connect ssl_con,localhost,root,,,,,SSL;
+SELECT VARIABLE_VALUE INTO @ssl_not_after FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_server_not_after';
+# Use a different certificate ("Not after" certificate field changed)
+# Check new certificate used by new connection
+Result
+OK
+# Cleanup
+# Kill the server
+# restart
diff --git a/mysql-test/main/mysqladmin.test b/mysql-test/main/mysqladmin.test
index 2580db88456..97e805ecf73 100644
--- a/mysql-test/main/mysqladmin.test
+++ b/mysql-test/main/mysqladmin.test
@@ -51,3 +51,50 @@ EOF
#
--error 1
--exec $MYSQLADMIN -u root -p 2>&1 > /dev/null
+
+#
+# MDEV-19168 Reload SSL certificate
+# This test reloads server SSL certs ./mysqladmin flush-ssl, and checks that new SSL
+# connection use new certificate.
+# SWtatus variable Ssl_server_not_after is used to tell the old certificate from new.
+#
+
+source include/have_ssl_communication.inc;
+
+# Restart server with cert. files located in temp directory
+# We are going to remove / replace them within the test,
+# so we can't use the ones in std_data directly.
+
+let $ssl_cert=$MYSQLTEST_VARDIR/tmp/ssl_cert.pem;
+let $ssl_key=$MYSQLTEST_VARDIR/tmp/ssl_key.pem;
+
+copy_file $MYSQL_TEST_DIR/std_data/server-key.pem $ssl_key;
+copy_file $MYSQL_TEST_DIR/std_data/server-cert.pem $ssl_cert;
+
+let $restart_parameters=--ssl-key=$ssl_key --ssl-cert=$ssl_cert;
+--source include/kill_mysqld.inc
+--source include/start_mysqld.inc
+
+connect ssl_con,localhost,root,,,,,SSL;
+SELECT VARIABLE_VALUE INTO @ssl_not_after FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_server_not_after';
+let $ssl_not_after=`SELECT @ssl_not_after`;
+
+remove_file $ssl_cert;
+remove_file $ssl_key;
+
+--echo # Use a different certificate ("Not after" certificate field changed)
+copy_file $MYSQL_TEST_DIR/std_data/server-new-key.pem $ssl_key;
+copy_file $MYSQL_TEST_DIR/std_data/server-new-cert.pem $ssl_cert;
+
+--exec $MYSQLADMIN --default-character-set=latin1 -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= flush-ssl 2>&1
+
+--echo # Check new certificate used by new connection
+exec $MYSQL --ssl -e "SELECT IF(VARIABLE_VALUE <> '$ssl_not_after', 'OK', 'FAIL') as Result FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_server_not_after'";
+
+--echo # Cleanup
+remove_file $ssl_cert;
+remove_file $ssl_key;
+# restart with usuall SSL
+let $restart_parameters=;
+--source include/kill_mysqld.inc
+--source include/start_mysqld.inc
diff --git a/mysql-test/main/mysqlbinlog.result b/mysql-test/main/mysqlbinlog.result
index 83cc2ef510a..b9f7f5b61b9 100644
--- a/mysql-test/main/mysqlbinlog.result
+++ b/mysql-test/main/mysqlbinlog.result
@@ -970,7 +970,7 @@ AAAAAAAAAAAAAAAAAAAgrgJSFzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
# b1 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
# c1 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907364/*!*/;
SET @@session.pseudo_thread_id=1/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -994,7 +994,7 @@ create table test.t1 (id int not null)
# 116 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
# 126 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907366/*!*/;
insert into test.t1 (id) values (1)
/*!*/;
@@ -1009,7 +1009,7 @@ insert into test.t1 (id) values (1)
# 168 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
# 178 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907368/*!*/;
drop table test.t1
/*!*/;
@@ -1053,7 +1053,7 @@ AAAAAAAAAAAAAAAAAAA/rQJSGzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
# b5 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
# c5 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
#
-# Event: Query thread_id=1 exec_time=1 error_code=0
+# Event: Query thread_id=1 exec_time=1 error_code=0 xid=0
SET TIMESTAMP=1375907141/*!*/;
SET @@session.pseudo_thread_id=1/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1077,7 +1077,7 @@ create table test.t1 (id int not null)
# 11e 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
# 12e 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907144/*!*/;
insert into test.t1 (id) values (1)
/*!*/;
@@ -1092,7 +1092,7 @@ insert into test.t1 (id) values (1)
# 174 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
# 184 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907148/*!*/;
drop table test.t1
/*!*/;
@@ -1136,7 +1136,7 @@ AAAAAAAAAAAAAAAAAAAnrAJSHzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
# b9 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
# c9 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375906879/*!*/;
SET @@session.pseudo_thread_id=1/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1160,7 +1160,7 @@ create table test.t1 (id int not null)
# 126 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
# 136 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375906891/*!*/;
insert into test.t1 (id) values (1)
/*!*/;
@@ -1175,7 +1175,7 @@ insert into test.t1 (id) values (1)
# 180 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
# 190 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375906901/*!*/;
drop table test.t1
/*!*/;
@@ -1219,7 +1219,7 @@ AAAAAAAAAAAAAAAAAABbsAJSEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
# ad 61 62 6c 65 20 74 65 73 74 2e 74 31 20 28 69 64 |able test.t1 (id|
# bd 20 69 6e 74 20 6e 6f 74 20 6e 75 6c 6c 29 | int not null)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907933/*!*/;
SET @@session.pseudo_thread_id=1/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1243,7 +1243,7 @@ create table test.t1 (id int not null)
# 10e 6e 74 6f 20 74 65 73 74 2e 74 31 20 28 69 64 29 |nto test.t1 (id)|
# 11e 20 76 61 6c 75 65 73 20 28 31 29 | values (1)|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907935/*!*/;
insert into test.t1 (id) values (1)
/*!*/;
@@ -1258,7 +1258,7 @@ insert into test.t1 (id) values (1)
# 15c 04 08 00 08 00 08 00 00 64 72 6f 70 20 74 61 62 |........drop tab|
# 16c 6c 65 20 74 65 73 74 2e 74 31 |le test.t1|
#
-# Event: Query thread_id=1 exec_time=0 error_code=0
+# Event: Query thread_id=1 exec_time=0 error_code=0 xid=0
SET TIMESTAMP=1375907937/*!*/;
drop table test.t1
/*!*/;
diff --git a/mysql-test/main/mysqlbinlog_row_compressed.result b/mysql-test/main/mysqlbinlog_row_compressed.result
index 95a81c7305c..210f39ffa22 100644
--- a/mysql-test/main/mysqlbinlog_row_compressed.result
+++ b/mysql-test/main/mysqlbinlog_row_compressed.result
@@ -29,7 +29,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at 371
-#<date> server id 1 end_log_pos 533 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+#<date> server id 1 end_log_pos 542 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=X/*!*/;
SET @@session.pseudo_thread_id=5/*!*/;
@@ -42,26 +42,26 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 TINYINT, f4 MEDIUMINT, f5 BIGINT, f6 INT, f7 INT, f8 char(1))
/*!*/;
-# at 533
-#<date> server id 1 end_log_pos 575 CRC32 XXX GTID 0-1-2 ddl
+# at 542
+#<date> server id 1 end_log_pos 584 CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
-# at 575
-#<date> server id 1 end_log_pos 727 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 584
+#<date> server id 1 end_log_pos 745 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMINT, f6 INT, f7 INT, f8 char(1))
/*!*/;
-# at 727
-#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
+# at 745
+#<date> server id 1 end_log_pos 787 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
START TRANSACTION
/*!*/;
-# at 769
-# at 843
-#<date> server id 1 end_log_pos 843 CRC32 XXX Annotate_rows:
+# at 787
+# at 861
+#<date> server id 1 end_log_pos 861 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (10, 1, 2, 3, 4, 5, 6, 7, "")
-#<date> server id 1 end_log_pos 899 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 899
-#<date> server id 1 end_log_pos 967 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 917 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 917
+#<date> server id 1 end_log_pos 985 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -74,23 +74,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
-# at 967
-#<date> server id 1 end_log_pos 1040 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 985
+#<date> server id 1 end_log_pos 1058 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1040
-#<date> server id 1 end_log_pos 1082 CRC32 XXX GTID 0-1-4
+# at 1058
+#<date> server id 1 end_log_pos 1100 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
START TRANSACTION
/*!*/;
-# at 1082
-# at 1158
-#<date> server id 1 end_log_pos 1158 CRC32 XXX Annotate_rows:
+# at 1100
+# at 1176
+#<date> server id 1 end_log_pos 1176 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (11, 1, 2, 3, 4, 5, 6, 7, NULL)
-#<date> server id 1 end_log_pos 1214 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 1214
-#<date> server id 1 end_log_pos 1281 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 1232 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 1232
+#<date> server id 1 end_log_pos 1299 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=11 /* INT meta=0 nullable=0 is_null=0 */
@@ -103,23 +103,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
# Number of rows: 1
-# at 1281
-#<date> server id 1 end_log_pos 1354 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1299
+#<date> server id 1 end_log_pos 1372 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1354
-#<date> server id 1 end_log_pos 1396 CRC32 XXX GTID 0-1-5
+# at 1372
+#<date> server id 1 end_log_pos 1414 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
START TRANSACTION
/*!*/;
-# at 1396
-# at 1474
-#<date> server id 1 end_log_pos 1474 CRC32 XXX Annotate_rows:
+# at 1414
+# at 1492
+#<date> server id 1 end_log_pos 1492 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (12, 1, 2, 3, NULL, 5, 6, 7, "A")
-#<date> server id 1 end_log_pos 1530 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 1530
-#<date> server id 1 end_log_pos 1596 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 1548 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 1548
+#<date> server id 1 end_log_pos 1614 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=12 /* INT meta=0 nullable=0 is_null=0 */
@@ -132,23 +132,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
-# at 1596
-#<date> server id 1 end_log_pos 1669 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1614
+#<date> server id 1 end_log_pos 1687 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1669
-#<date> server id 1 end_log_pos 1711 CRC32 XXX GTID 0-1-6
+# at 1687
+#<date> server id 1 end_log_pos 1729 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
START TRANSACTION
/*!*/;
-# at 1711
-# at 1786
-#<date> server id 1 end_log_pos 1786 CRC32 XXX Annotate_rows:
+# at 1729
+# at 1804
+#<date> server id 1 end_log_pos 1804 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (13, 1, 2, 3, 0, 5, 6, 7, "A")
-#<date> server id 1 end_log_pos 1842 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 1842
-#<date> server id 1 end_log_pos 1909 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 1860 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 1860
+#<date> server id 1 end_log_pos 1927 CRC32 XXX Write_compressed_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
@@ -161,23 +161,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
-# at 1909
-#<date> server id 1 end_log_pos 1982 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1927
+#<date> server id 1 end_log_pos 2000 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1982
-#<date> server id 1 end_log_pos 2024 CRC32 XXX GTID 0-1-7
+# at 2000
+#<date> server id 1 end_log_pos 2042 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
START TRANSACTION
/*!*/;
-# at 2024
-# at 2078
-#<date> server id 1 end_log_pos 2078 CRC32 XXX Annotate_rows:
+# at 2042
+# at 2096
+#<date> server id 1 end_log_pos 2096 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t2 SELECT * FROM t1
-#<date> server id 1 end_log_pos 2134 CRC32 XXX Table_map: `test`.`t2` mapped to number num
-# at 2134
-#<date> server id 1 end_log_pos 2225 CRC32 XXX Write_compressed_rows: table id 33 flags: STMT_END_F
+#<date> server id 1 end_log_pos 2152 CRC32 XXX Table_map: `test`.`t2` mapped to number num
+# at 2152
+#<date> server id 1 end_log_pos 2243 CRC32 XXX Write_compressed_rows: table id 33 flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -223,23 +223,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
-# at 2225
-#<date> server id 1 end_log_pos 2298 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2243
+#<date> server id 1 end_log_pos 2316 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2298
-#<date> server id 1 end_log_pos 2340 CRC32 XXX GTID 0-1-8
+# at 2316
+#<date> server id 1 end_log_pos 2358 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
START TRANSACTION
/*!*/;
-# at 2340
-# at 2406
-#<date> server id 1 end_log_pos 2406 CRC32 XXX Annotate_rows:
+# at 2358
+# at 2424
+#<date> server id 1 end_log_pos 2424 CRC32 XXX Annotate_rows:
#Q> UPDATE t2 SET f4=5 WHERE f4>0 or f4 is NULL
-#<date> server id 1 end_log_pos 2462 CRC32 XXX Table_map: `test`.`t2` mapped to number num
-# at 2462
-#<date> server id 1 end_log_pos 2561 CRC32 XXX Update_compressed_rows: table id 33 flags: STMT_END_F
+#<date> server id 1 end_log_pos 2480 CRC32 XXX Table_map: `test`.`t2` mapped to number num
+# at 2480
+#<date> server id 1 end_log_pos 2579 CRC32 XXX Update_compressed_rows: table id 33 flags: STMT_END_F
### UPDATE `test`.`t2`
### WHERE
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -304,23 +304,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 3
-# at 2561
-#<date> server id 1 end_log_pos 2634 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2579
+#<date> server id 1 end_log_pos 2652 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2634
-#<date> server id 1 end_log_pos 2676 CRC32 XXX GTID 0-1-9
+# at 2652
+#<date> server id 1 end_log_pos 2694 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
START TRANSACTION
/*!*/;
-# at 2676
-# at 2713
-#<date> server id 1 end_log_pos 2713 CRC32 XXX Annotate_rows:
+# at 2694
+# at 2731
+#<date> server id 1 end_log_pos 2731 CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1
-#<date> server id 1 end_log_pos 2769 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 2769
-#<date> server id 1 end_log_pos 2861 CRC32 XXX Delete_compressed_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 2787 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 2787
+#<date> server id 1 end_log_pos 2879 CRC32 XXX Delete_compressed_rows: table id 32 flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -366,23 +366,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
-# at 2861
-#<date> server id 1 end_log_pos 2934 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2879
+#<date> server id 1 end_log_pos 2952 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2934
-#<date> server id 1 end_log_pos 2976 CRC32 XXX GTID 0-1-10
+# at 2952
+#<date> server id 1 end_log_pos 2994 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
START TRANSACTION
/*!*/;
-# at 2976
-# at 3013
-#<date> server id 1 end_log_pos 3013 CRC32 XXX Annotate_rows:
+# at 2994
+# at 3031
+#<date> server id 1 end_log_pos 3031 CRC32 XXX Annotate_rows:
#Q> DELETE FROM t2
-#<date> server id 1 end_log_pos 3069 CRC32 XXX Table_map: `test`.`t2` mapped to number num
-# at 3069
-#<date> server id 1 end_log_pos 3154 CRC32 XXX Delete_compressed_rows: table id 33 flags: STMT_END_F
+#<date> server id 1 end_log_pos 3087 CRC32 XXX Table_map: `test`.`t2` mapped to number num
+# at 3087
+#<date> server id 1 end_log_pos 3172 CRC32 XXX Delete_compressed_rows: table id 33 flags: STMT_END_F
### DELETE FROM `test`.`t2`
### WHERE
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -428,13 +428,13 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
-# at 3154
-#<date> server id 1 end_log_pos 3227 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 3172
+#<date> server id 1 end_log_pos 3245 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 3227
-#<date> server id 1 end_log_pos 3275 CRC32 XXX Rotate to master-bin.000002 pos: 4
+# at 3245
+#<date> server id 1 end_log_pos 3293 CRC32 XXX Rotate to master-bin.000002 pos: 4
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
diff --git a/mysql-test/main/mysqlbinlog_row_compressed.test b/mysql-test/main/mysqlbinlog_row_compressed.test
index 6b62a42c449..5c4aff00663 100644
--- a/mysql-test/main/mysqlbinlog_row_compressed.test
+++ b/mysql-test/main/mysqlbinlog_row_compressed.test
@@ -29,7 +29,7 @@ DELETE FROM t2;
FLUSH BINARY LOGS;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/
+--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog
--echo
diff --git a/mysql-test/main/mysqlbinlog_row_minimal.result b/mysql-test/main/mysqlbinlog_row_minimal.result
index 659228a57e2..adefdde9d04 100644
--- a/mysql-test/main/mysqlbinlog_row_minimal.result
+++ b/mysql-test/main/mysqlbinlog_row_minimal.result
@@ -27,7 +27,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at 371
-#<date> server id 1 end_log_pos 555 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+#<date> server id 1 end_log_pos 564 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=X/*!*/;
SET @@session.pseudo_thread_id=5/*!*/;
@@ -40,26 +40,26 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 TINYINT, f4 MEDIUMINT, f5 BIGINT, f6 INT, f7 INT, f8 char(1))
/*!*/;
-# at 555
-#<date> server id 1 end_log_pos 597 CRC32 XXX GTID 0-1-2 ddl
+# at 564
+#<date> server id 1 end_log_pos 606 CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
-# at 597
-#<date> server id 1 end_log_pos 774 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 606
+#<date> server id 1 end_log_pos 792 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMINT, f6 INT, f7 INT, f8 char(1))
/*!*/;
-# at 774
-#<date> server id 1 end_log_pos 816 CRC32 XXX GTID 0-1-3
+# at 792
+#<date> server id 1 end_log_pos 834 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
START TRANSACTION
/*!*/;
-# at 816
-# at 890
-#<date> server id 1 end_log_pos 890 CRC32 XXX Annotate_rows:
+# at 834
+# at 908
+#<date> server id 1 end_log_pos 908 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (10, 1, 2, 3, 4, 5, 6, 7, "")
-#<date> server id 1 end_log_pos 946 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 946
-#<date> server id 1 end_log_pos 1015 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 964 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 964
+#<date> server id 1 end_log_pos 1033 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -72,23 +72,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
-# at 1015
-#<date> server id 1 end_log_pos 1088 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1033
+#<date> server id 1 end_log_pos 1106 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1088
-#<date> server id 1 end_log_pos 1130 CRC32 XXX GTID 0-1-4
+# at 1106
+#<date> server id 1 end_log_pos 1148 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
START TRANSACTION
/*!*/;
-# at 1130
-# at 1206
-#<date> server id 1 end_log_pos 1206 CRC32 XXX Annotate_rows:
+# at 1148
+# at 1224
+#<date> server id 1 end_log_pos 1224 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (11, 1, 2, 3, 4, 5, 6, 7, NULL)
-#<date> server id 1 end_log_pos 1262 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 1262
-#<date> server id 1 end_log_pos 1330 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 1280 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 1280
+#<date> server id 1 end_log_pos 1348 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=11 /* INT meta=0 nullable=0 is_null=0 */
@@ -101,23 +101,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
# Number of rows: 1
-# at 1330
-#<date> server id 1 end_log_pos 1403 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1348
+#<date> server id 1 end_log_pos 1421 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1403
-#<date> server id 1 end_log_pos 1445 CRC32 XXX GTID 0-1-5
+# at 1421
+#<date> server id 1 end_log_pos 1463 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
START TRANSACTION
/*!*/;
-# at 1445
-# at 1523
-#<date> server id 1 end_log_pos 1523 CRC32 XXX Annotate_rows:
+# at 1463
+# at 1541
+#<date> server id 1 end_log_pos 1541 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (12, 1, 2, 3, NULL, 5, 6, 7, "A")
-#<date> server id 1 end_log_pos 1579 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 1579
-#<date> server id 1 end_log_pos 1646 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 1597 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 1597
+#<date> server id 1 end_log_pos 1664 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=12 /* INT meta=0 nullable=0 is_null=0 */
@@ -130,23 +130,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
-# at 1646
-#<date> server id 1 end_log_pos 1719 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1664
+#<date> server id 1 end_log_pos 1737 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1719
-#<date> server id 1 end_log_pos 1761 CRC32 XXX GTID 0-1-6
+# at 1737
+#<date> server id 1 end_log_pos 1779 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
START TRANSACTION
/*!*/;
-# at 1761
-# at 1836
-#<date> server id 1 end_log_pos 1836 CRC32 XXX Annotate_rows:
+# at 1779
+# at 1854
+#<date> server id 1 end_log_pos 1854 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t1 VALUES (13, 1, 2, 3, 0, 5, 6, 7, "A")
-#<date> server id 1 end_log_pos 1892 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 1892
-#<date> server id 1 end_log_pos 1962 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 1910 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 1910
+#<date> server id 1 end_log_pos 1980 CRC32 XXX Write_rows: table id 32 flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
@@ -159,23 +159,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
-# at 1962
-#<date> server id 1 end_log_pos 2035 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1980
+#<date> server id 1 end_log_pos 2053 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2035
-#<date> server id 1 end_log_pos 2077 CRC32 XXX GTID 0-1-7
+# at 2053
+#<date> server id 1 end_log_pos 2095 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
START TRANSACTION
/*!*/;
-# at 2077
-# at 2131
-#<date> server id 1 end_log_pos 2131 CRC32 XXX Annotate_rows:
+# at 2095
+# at 2149
+#<date> server id 1 end_log_pos 2149 CRC32 XXX Annotate_rows:
#Q> INSERT INTO t2 SELECT * FROM t1
-#<date> server id 1 end_log_pos 2187 CRC32 XXX Table_map: `test`.`t2` mapped to number num
-# at 2187
-#<date> server id 1 end_log_pos 2354 CRC32 XXX Write_rows: table id 33 flags: STMT_END_F
+#<date> server id 1 end_log_pos 2205 CRC32 XXX Table_map: `test`.`t2` mapped to number num
+# at 2205
+#<date> server id 1 end_log_pos 2372 CRC32 XXX Write_rows: table id 33 flags: STMT_END_F
### INSERT INTO `test`.`t2`
### SET
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -221,23 +221,23 @@ START TRANSACTION
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 4
-# at 2354
-#<date> server id 1 end_log_pos 2427 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2372
+#<date> server id 1 end_log_pos 2445 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2427
-#<date> server id 1 end_log_pos 2469 CRC32 XXX GTID 0-1-8
+# at 2445
+#<date> server id 1 end_log_pos 2487 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
START TRANSACTION
/*!*/;
-# at 2469
-# at 2535
-#<date> server id 1 end_log_pos 2535 CRC32 XXX Annotate_rows:
+# at 2487
+# at 2553
+#<date> server id 1 end_log_pos 2553 CRC32 XXX Annotate_rows:
#Q> UPDATE t2 SET f4=5 WHERE f4>0 or f4 is NULL
-#<date> server id 1 end_log_pos 2591 CRC32 XXX Table_map: `test`.`t2` mapped to number num
-# at 2591
-#<date> server id 1 end_log_pos 2657 CRC32 XXX Update_rows: table id 33 flags: STMT_END_F
+#<date> server id 1 end_log_pos 2609 CRC32 XXX Table_map: `test`.`t2` mapped to number num
+# at 2609
+#<date> server id 1 end_log_pos 2675 CRC32 XXX Update_rows: table id 33 flags: STMT_END_F
### UPDATE `test`.`t2`
### WHERE
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -254,23 +254,23 @@ START TRANSACTION
### SET
### @5=5 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
-# at 2657
-#<date> server id 1 end_log_pos 2730 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2675
+#<date> server id 1 end_log_pos 2748 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2730
-#<date> server id 1 end_log_pos 2772 CRC32 XXX GTID 0-1-9
+# at 2748
+#<date> server id 1 end_log_pos 2790 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
START TRANSACTION
/*!*/;
-# at 2772
-# at 2809
-#<date> server id 1 end_log_pos 2809 CRC32 XXX Annotate_rows:
+# at 2790
+# at 2827
+#<date> server id 1 end_log_pos 2827 CRC32 XXX Annotate_rows:
#Q> DELETE FROM t1
-#<date> server id 1 end_log_pos 2865 CRC32 XXX Table_map: `test`.`t1` mapped to number num
-# at 2865
-#<date> server id 1 end_log_pos 2919 CRC32 XXX Delete_rows: table id 32 flags: STMT_END_F
+#<date> server id 1 end_log_pos 2883 CRC32 XXX Table_map: `test`.`t1` mapped to number num
+# at 2883
+#<date> server id 1 end_log_pos 2937 CRC32 XXX Delete_rows: table id 32 flags: STMT_END_F
### DELETE FROM `test`.`t1`
### WHERE
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -284,23 +284,23 @@ START TRANSACTION
### WHERE
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 4
-# at 2919
-#<date> server id 1 end_log_pos 2992 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2937
+#<date> server id 1 end_log_pos 3010 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2992
-#<date> server id 1 end_log_pos 3034 CRC32 XXX GTID 0-1-10
+# at 3010
+#<date> server id 1 end_log_pos 3052 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
START TRANSACTION
/*!*/;
-# at 3034
-# at 3071
-#<date> server id 1 end_log_pos 3071 CRC32 XXX Annotate_rows:
+# at 3052
+# at 3089
+#<date> server id 1 end_log_pos 3089 CRC32 XXX Annotate_rows:
#Q> DELETE FROM t2
-#<date> server id 1 end_log_pos 3127 CRC32 XXX Table_map: `test`.`t2` mapped to number num
-# at 3127
-#<date> server id 1 end_log_pos 3181 CRC32 XXX Delete_rows: table id 33 flags: STMT_END_F
+#<date> server id 1 end_log_pos 3145 CRC32 XXX Table_map: `test`.`t2` mapped to number num
+# at 3145
+#<date> server id 1 end_log_pos 3199 CRC32 XXX Delete_rows: table id 33 flags: STMT_END_F
### DELETE FROM `test`.`t2`
### WHERE
### @1=10 /* INT meta=0 nullable=0 is_null=0 */
@@ -314,13 +314,13 @@ START TRANSACTION
### WHERE
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 4
-# at 3181
-#<date> server id 1 end_log_pos 3254 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 3199
+#<date> server id 1 end_log_pos 3272 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 3254
-#<date> server id 1 end_log_pos 3302 CRC32 XXX Rotate to master-bin.000002 pos: 4
+# at 3272
+#<date> server id 1 end_log_pos 3320 CRC32 XXX Rotate to master-bin.000002 pos: 4
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
@@ -394,7 +394,7 @@ START TRANSACTION
### @3=X /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at POS
-#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Query thread_id=TID exec_time=x error_code=0
+#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Query thread_id=TID exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
SET @@session.pseudo_thread_id=TID/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
diff --git a/mysql-test/main/mysqlbinlog_row_minimal.test b/mysql-test/main/mysqlbinlog_row_minimal.test
index b399cc4ac45..67fa7b94e6d 100644
--- a/mysql-test/main/mysqlbinlog_row_minimal.test
+++ b/mysql-test/main/mysqlbinlog_row_minimal.test
@@ -28,7 +28,7 @@ DELETE FROM t2;
FLUSH BINARY LOGS;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/
+--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog
DROP TABLE t1,t2;
@@ -95,7 +95,7 @@ UPDATE t1 t1 INNER JOIN t2 t2 ON t1.ref_id = t2.id
FLUSH BINARY LOGS;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /table id \d*/table id TID/ /mapped to number \d*/mapped to number TID/ /at \d*/at POS/ /end_log_pos \d*/end_log_pos END_LOG_POS/ /GTID \d*-\d*-\d*/GTID D-S-N/ /\d{6} *\d*:\d\d:\d\d/<date>/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /@3=\d*/@3=X/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /thread_id=\d*/thread_id=TID/
+--replace_regex /table id \d*/table id TID/ /mapped to number \d*/mapped to number TID/ /at \d*/at POS/ /end_log_pos \d*/end_log_pos END_LOG_POS/ /GTID \d*-\d*-\d*/GTID D-S-N/ /\d{6} *\d*:\d\d:\d\d/<date>/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /@3=\d*/@3=X/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /thread_id=\d*/thread_id=TID/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog --start-position=$binlog_pos --stop-position=$binlog_end
DROP TABLE t1,t2;
diff --git a/mysql-test/main/mysqlbinlog_stmt_compressed.result b/mysql-test/main/mysqlbinlog_stmt_compressed.result
index 078e6a746ff..e922978b47d 100644
--- a/mysql-test/main/mysqlbinlog_stmt_compressed.result
+++ b/mysql-test/main/mysqlbinlog_stmt_compressed.result
@@ -29,7 +29,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at 371
-#<date> server id 1 end_log_pos 533 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+#<date> server id 1 end_log_pos 542 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=X/*!*/;
SET @@session.pseudo_thread_id=5/*!*/;
@@ -42,136 +42,136 @@ SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
CREATE TABLE t1 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 TINYINT, f4 MEDIUMINT, f5 BIGINT, f6 INT, f7 INT, f8 char(1))
/*!*/;
-# at 533
-#<date> server id 1 end_log_pos 575 CRC32 XXX GTID 0-1-2 ddl
+# at 542
+#<date> server id 1 end_log_pos 584 CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
-# at 575
-#<date> server id 1 end_log_pos 727 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 584
+#<date> server id 1 end_log_pos 745 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
CREATE TABLE t2 (pk INT PRIMARY KEY, f1 INT, f2 INT, f3 INT, f4 INT, f5 MEDIUMINT, f6 INT, f7 INT, f8 char(1))
/*!*/;
-# at 727
-#<date> server id 1 end_log_pos 769 CRC32 XXX GTID 0-1-3
+# at 745
+#<date> server id 1 end_log_pos 787 CRC32 XXX GTID 0-1-3
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
START TRANSACTION
/*!*/;
-# at 769
-#<date> server id 1 end_log_pos 897 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 787
+#<date> server id 1 end_log_pos 915 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
INSERT INTO t1 VALUES (10, 1, 2, 3, 4, 5, 6, 7, "")
/*!*/;
-# at 897
-#<date> server id 1 end_log_pos 970 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 915
+#<date> server id 1 end_log_pos 988 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 970
-#<date> server id 1 end_log_pos 1012 CRC32 XXX GTID 0-1-4
+# at 988
+#<date> server id 1 end_log_pos 1030 CRC32 XXX GTID 0-1-4
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
START TRANSACTION
/*!*/;
-# at 1012
-#<date> server id 1 end_log_pos 1140 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 1030
+#<date> server id 1 end_log_pos 1158 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
INSERT INTO t1 VALUES (11, 1, 2, 3, 4, 5, 6, 7, NULL)
/*!*/;
-# at 1140
-#<date> server id 1 end_log_pos 1213 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1158
+#<date> server id 1 end_log_pos 1231 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1213
-#<date> server id 1 end_log_pos 1255 CRC32 XXX GTID 0-1-5
+# at 1231
+#<date> server id 1 end_log_pos 1273 CRC32 XXX GTID 0-1-5
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
START TRANSACTION
/*!*/;
-# at 1255
-#<date> server id 1 end_log_pos 1385 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 1273
+#<date> server id 1 end_log_pos 1403 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
INSERT INTO t1 VALUES (12, 1, 2, 3, NULL, 5, 6, 7, "A")
/*!*/;
-# at 1385
-#<date> server id 1 end_log_pos 1458 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1403
+#<date> server id 1 end_log_pos 1476 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1458
-#<date> server id 1 end_log_pos 1500 CRC32 XXX GTID 0-1-6
+# at 1476
+#<date> server id 1 end_log_pos 1518 CRC32 XXX GTID 0-1-6
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
START TRANSACTION
/*!*/;
-# at 1500
-#<date> server id 1 end_log_pos 1627 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 1518
+#<date> server id 1 end_log_pos 1645 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
INSERT INTO t1 VALUES (13, 1, 2, 3, 0, 5, 6, 7, "A")
/*!*/;
-# at 1627
-#<date> server id 1 end_log_pos 1700 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1645
+#<date> server id 1 end_log_pos 1718 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1700
-#<date> server id 1 end_log_pos 1742 CRC32 XXX GTID 0-1-7
+# at 1718
+#<date> server id 1 end_log_pos 1760 CRC32 XXX GTID 0-1-7
/*!100001 SET @@session.gtid_seq_no=7*//*!*/;
START TRANSACTION
/*!*/;
-# at 1742
-#<date> server id 1 end_log_pos 1850 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 1760
+#<date> server id 1 end_log_pos 1868 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
INSERT INTO t2 SELECT * FROM t1
/*!*/;
-# at 1850
-#<date> server id 1 end_log_pos 1923 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 1868
+#<date> server id 1 end_log_pos 1941 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 1923
-#<date> server id 1 end_log_pos 1965 CRC32 XXX GTID 0-1-8
+# at 1941
+#<date> server id 1 end_log_pos 1983 CRC32 XXX GTID 0-1-8
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
START TRANSACTION
/*!*/;
-# at 1965
-#<date> server id 1 end_log_pos 2082 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 1983
+#<date> server id 1 end_log_pos 2100 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
UPDATE t2 SET f4=5 WHERE f4>0 or f4 is NULL
/*!*/;
-# at 2082
-#<date> server id 1 end_log_pos 2155 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2100
+#<date> server id 1 end_log_pos 2173 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2155
-#<date> server id 1 end_log_pos 2197 CRC32 XXX GTID 0-1-9
+# at 2173
+#<date> server id 1 end_log_pos 2215 CRC32 XXX GTID 0-1-9
/*!100001 SET @@session.gtid_seq_no=9*//*!*/;
START TRANSACTION
/*!*/;
-# at 2197
-#<date> server id 1 end_log_pos 2288 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 2215
+#<date> server id 1 end_log_pos 2306 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
DELETE FROM t1
/*!*/;
-# at 2288
-#<date> server id 1 end_log_pos 2361 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2306
+#<date> server id 1 end_log_pos 2379 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2361
-#<date> server id 1 end_log_pos 2403 CRC32 XXX GTID 0-1-10
+# at 2379
+#<date> server id 1 end_log_pos 2421 CRC32 XXX GTID 0-1-10
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
START TRANSACTION
/*!*/;
-# at 2403
-#<date> server id 1 end_log_pos 2494 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0
+# at 2421
+#<date> server id 1 end_log_pos 2512 CRC32 XXX Query_compressed thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
DELETE FROM t2
/*!*/;
-# at 2494
-#<date> server id 1 end_log_pos 2567 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
+# at 2512
+#<date> server id 1 end_log_pos 2585 CRC32 XXX Query thread_id=5 exec_time=x error_code=0 xid=<xid>
SET TIMESTAMP=X/*!*/;
COMMIT
/*!*/;
-# at 2567
-#<date> server id 1 end_log_pos 2615 CRC32 XXX Rotate to master-bin.000002 pos: 4
+# at 2585
+#<date> server id 1 end_log_pos 2633 CRC32 XXX Rotate to master-bin.000002 pos: 4
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
diff --git a/mysql-test/main/mysqlbinlog_stmt_compressed.test b/mysql-test/main/mysqlbinlog_stmt_compressed.test
index 613a820d3ea..75dae6fa84e 100644
--- a/mysql-test/main/mysqlbinlog_stmt_compressed.test
+++ b/mysql-test/main/mysqlbinlog_stmt_compressed.test
@@ -29,7 +29,7 @@ DELETE FROM t2;
FLUSH BINARY LOGS;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/
+--replace_regex /\d{6} *\d*:\d\d:\d\d/<date>/ /Start:.*at startup/Start: xxx/ /SET TIMESTAMP=\d*/SET TIMESTAMP=X/ /exec_time=\d*/exec_time=x/ /mapped to number \d*/mapped to number num/ /CRC32 0x[0-9a-f]+/CRC32 XXX/ /@@session.sql_mode=\d+/@@session.sql_mode=#/ /collation_server=\d+/collation_server=#/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --verbose --verbose --base64-output=DECODE-ROWS $datadir/$binlog
--echo
diff --git a/mysql-test/main/mysqlcheck.result b/mysql-test/main/mysqlcheck.result
index 8b6a19b5270..4955bd0292a 100644
--- a/mysql-test/main/mysqlcheck.result
+++ b/mysql-test/main/mysqlcheck.result
@@ -34,6 +34,7 @@ mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.transaction_registry OK
+sys.sys_config OK
mtr.global_suppressions Table is already up to date
mtr.test_suppressions Table is already up to date
mysql.column_stats OK
@@ -70,6 +71,7 @@ mysql.time_zone_transition_type OK
mysql.transaction_registry
note : Table does not support optimize, doing recreate + analyze instead
status : OK
+sys.sys_config OK
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
@@ -260,8 +262,8 @@ USE `a@b`;
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA="a@b" ORDER BY trigger_name;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
-def a@b tr1 INSERT def a@b c@d 1 NULL SET NEW.a = 10 * NEW.a ROW BEFORE NULL NULL OLD NEW NULL root@localhost utf8 utf8_general_ci latin1_swedish_ci
-def a@b tr2 INSERT def a@b t1 1 NULL SET NEW.a = 100 * NEW.a ROW BEFORE NULL NULL OLD NEW NULL root@localhost utf8 utf8_general_ci latin1_swedish_ci
+def a@b tr1 INSERT def a@b c@d 1 NULL SET NEW.a = 10 * NEW.a ROW BEFORE NULL NULL OLD NEW NULL root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+def a@b tr2 INSERT def a@b t1 1 NULL SET NEW.a = 100 * NEW.a ROW BEFORE NULL NULL OLD NEW NULL root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
INSERT INTO `c@d` VALUES (2), (1);
SELECT * FROM `c@d`;
a
@@ -427,7 +429,7 @@ create table mysqltest1.t1 (a int) engine=myisam;
create table t2 (a int);
check table mysqltest1.t1;
Table Op Msg_type Msg_text
-mysqltest1.t1 check warning Size of datafile is: 4 Should be: 0
+mysqltest1.t1 check warning Size of datafile is: 4 Should be: 0
mysqltest1.t1 check error got error: 0 when reading datafile at record: 0
mysqltest1.t1 check error Corrupt
mtr.global_suppressions Table is already up to date
@@ -462,9 +464,10 @@ mysql.time_zone_transition_type Table is already up to date
mysql.transaction_registry OK
mysqltest1.t1
warning : Table is marked as crashed
-warning : Size of datafile is: 4 Should be: 0
+warning : Size of datafile is: 4 Should be: 0
error : got error: 0 when reading datafile at record: 0
error : Corrupt
+sys.sys_config Table is already up to date
test.t2 Table is already up to date
Repairing tables
diff --git a/mysql-test/main/mysqld--help.result b/mysql-test/main/mysqld--help.result
index 7b0ce27ead3..2a158151528 100644
--- a/mysql-test/main/mysqld--help.result
+++ b/mysql-test/main/mysqld--help.result
@@ -76,6 +76,12 @@ The following specify which files/extra groups are read (specified before remain
--binlog-do-db=name Tells the master it should log updates for the specified
database, and exclude all others not explicitly
mentioned.
+ --binlog-expire-logs-seconds=#
+ If non-zero, binary logs will be purged after
+ binlog_expire_logs_seconds seconds; It and
+ expire_logs_days are linked, such that changes in one are
+ converted into the other. Possible purges happen at
+ startup and at binary log rotation.
--binlog-file-cache-size=#
The size of file cache for the binary log
--binlog-format=name
@@ -268,7 +274,10 @@ The following specify which files/extra groups are read (specified before remain
constant optimization
--expire-logs-days=#
If non-zero, binary logs will be purged after
- expire_logs_days days; possible purges happen at startup
+ expire_logs_days days; It and binlog_expire_logs_seconds
+ are linked, such that changes in one are converted into
+ the other, presentable as a decimal value with 1/1000000
+ of the day precision; possible purges happen at startup
and at binary log rotation
--explicit-defaults-for-timestamp
This option causes CREATE TABLE to create all TIMESTAMP
@@ -467,6 +476,9 @@ The following specify which files/extra groups are read (specified before remain
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
+ --log-ddl-recovery=name
+ Path to file used for recovery of DDL statements after a
+ crash
--log-disabled-statements=name
Don't log certain types of statements to general log. Any
combination of: slave, sp
@@ -667,7 +679,7 @@ The following specify which files/extra groups are read (specified before remain
--old-mode=name Used to emulate old behavior from earlier MariaDB or
MySQL versions. Any combination of:
NO_DUP_KEY_WARNINGS_WITH_IGNORE, NO_PROGRESS_INFO,
- ZERO_DATE_TIME_CAST
+ ZERO_DATE_TIME_CAST, UTF8_IS_UTF8MB3
--old-passwords Use old password encryption method (needed for 4.0 and
older clients)
--old-style-user-limits
@@ -1469,6 +1481,7 @@ binlog-checksum CRC32
binlog-commit-wait-count 0
binlog-commit-wait-usec 100000
binlog-direct-non-transactional-updates FALSE
+binlog-expire-logs-seconds 0
binlog-file-cache-size 16384
binlog-format MIXED
binlog-optimize-thread-scheduling TRUE
@@ -1571,6 +1584,7 @@ log-bin-compress FALSE
log-bin-compress-min-len 256
log-bin-index (No default value)
log-bin-trust-function-creators FALSE
+log-ddl-recovery ddl_recovery.log
log-disabled-statements sp
log-error
log-isam myisam.log
@@ -1590,7 +1604,7 @@ long-query-time 10
low-priority-updates FALSE
lower-case-table-names 1
master-info-file master.info
-master-retry-count 86400
+master-retry-count 100000
master-verify-checksum FALSE
max-allowed-packet 16777216
max-binlog-cache-size 18446744073709547520
@@ -1605,7 +1619,7 @@ max-join-size 18446744073709551615
max-length-for-sort-data 1024
max-password-errors 18446744073709551615
max-prepared-stmt-count 16382
-max-recursive-iterations 18446744073709551615
+max-recursive-iterations 1000
max-relay-log-size 1073741824
max-rowid-filter-size 131072
max-seeks-for-key 18446744073709551615
@@ -1637,7 +1651,7 @@ net-retry-count 10
net-write-timeout 60
old FALSE
old-alter-table DEFAULT
-old-mode
+old-mode UTF8_IS_UTF8MB3
old-passwords FALSE
old-style-user-limits FALSE
optimizer-max-sel-arg-weight 32000
@@ -1830,5 +1844,5 @@ userstat FALSE
verbose TRUE
wait-timeout 28800
-To see what variables a running MySQL server is using, type
-'mysqladmin variables' instead of 'mysqld --verbose --help'.
+To see what variables a running server is using, type
+'SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES' instead of 'mysqld --verbose --help' or 'mariadbd --verbose --help'.
diff --git a/mysql-test/main/mysqldump-max.test b/mysql-test/main/mysqldump-max.test
index 49e54d542b8..e85490b7352 100644
--- a/mysql-test/main/mysqldump-max.test
+++ b/mysql-test/main/mysqldump-max.test
@@ -1194,7 +1194,7 @@ source include/binlog_start_pos.inc;
let _BINLOG_START_POS= $binlog_start_pos;
--perl
my $f= "$ENV{MYSQLTEST_VARDIR}/tmp/mwl136.sql";
-my $pos=$ENV{_BINLOG_START_POS} + 739;
+my $pos=$ENV{_BINLOG_START_POS} + 757;
open F, '<', $f or die "Failed to open $f: $!\n";
while (<F>) {
s/$pos/<pos>/;
diff --git a/mysql-test/main/mysqldump-system,win.rdiff b/mysql-test/main/mysqldump-system,win.rdiff
index a46b422e95f..57ce772a452 100644
--- a/mysql-test/main/mysqldump-system,win.rdiff
+++ b/mysql-test/main/mysqldump-system,win.rdiff
@@ -1,21 +1,26 @@
--- mysqldump-system.result
+++ mysqldump-system,win.result
-@@ -442,7 +442,7 @@
+@@ -449,9 +449,9 @@
+ Table Checksum
+ mysql.roles_mapping 2510045525
mysql.time_zone_transition 3895294076
- mysql.plugin 0
- mysql.servers 2783974349
+-mysql.plugin 1587119305
++mysql.plugin 2184891911
+ mysql.servers 2079085450
-mysql.func 3241572444
+mysql.func 310494789
mysql.innodb_table_stats 347867921
mysql.table_stats 664320059
# Opps....
-@@ -477,7 +477,7 @@
+@@ -484,9 +484,9 @@
+ Table Checksum
+ mysql.roles_mapping 2510045525
mysql.time_zone_transition 3895294076
- mysql.plugin 0
- mysql.servers 2783974349
+-mysql.plugin 1587119305
++mysql.plugin 2184891911
+ mysql.servers 2079085450
-mysql.func 3241572444
+mysql.func 310494789
mysql.innodb_table_stats 347867921
mysql.table_stats 664320059
DROP FUNCTION IF EXISTS metaphon;
-
diff --git a/mysql-test/main/mysqldump-system.result b/mysql-test/main/mysqldump-system.result
index 2fa010b3e4e..12b4c763f5d 100644
--- a/mysql-test/main/mysqldump-system.result
+++ b/mysql-test/main/mysqldump-system.result
@@ -1,3 +1,4 @@
+install soname 'auth_test_plugin';
#
# MDEV-23630: mysqldump to logically dump system tables
#
@@ -9,13 +10,13 @@ insert into tables_priv select * from mysql.tables_priv;
delete from mysql.global_priv where host not in ('localhost');
flush privileges;
alter user 'mariadb.sys'@'localhost' ACCOUNT UNLOCK;
-create user USER;
+create user foobar IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
CREATE ROLE role_1;
CREATE ROLE role_2 WITH ADMIN role_1;
GRANT SHOW DATABASES ON *.* TO role_1;
-GRANT role_1 TO USER;
-GRANT role_2 TO USER;
-SET DEFAULT ROLE role_2 FOR USER;
+GRANT role_1 TO foobar;
+GRANT role_2 TO foobar;
+SET DEFAULT ROLE role_2 FOR foobar;
ALTER TABLE mysql.roles_mapping ORDER BY Host, User, Role;
set @save_innodb_stats_persistent= @@innodb_stats_persistent;
create table mysql.tz like mysql.time_zone_transition;
@@ -49,9 +50,11 @@ CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+INSTALL PLUGIN test_plugin_server SONAME 'AUTH_TEST_PLUGIN_LIB';
+INSTALL PLUGIN cleartext_plugin_server SONAME 'AUTH_TEST_PLUGIN_LIB';
CREATE USER `mariadb.sys`@`localhost` PASSWORD EXPIRE;
CREATE USER `root`@`localhost`;
-CREATE USER `USER`@`%`;
+CREATE USER `foobar`@`%` IDENTIFIED VIA test_plugin_server USING 'plug_dest';
SELECT COALESCE(CURRENT_ROLE(),'NONE') into @current_role;
CREATE ROLE IF NOT EXISTS mariadb_dump_import_role;
GRANT mariadb_dump_import_role TO CURRENT_USER();
@@ -71,11 +74,11 @@ GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION;
/*M!100005 SET DEFAULT ROLE NONE FOR 'root'@'localhost' */;
/*!80001 ALTER USER 'root'@'localhost' DEFAULT ROLE NONE */;
-GRANT `role_1` TO `USER`@`%`;
-GRANT `role_2` TO `USER`@`%`;
-GRANT USAGE ON *.* TO `USER`@`%`;
-/*M!100005 SET DEFAULT ROLE 'role_2' FOR 'USER'@'%' */;
-/*!80001 ALTER USER 'USER'@'%' DEFAULT ROLE 'role_2' */;
+GRANT `role_1` TO `foobar`@`%`;
+GRANT `role_2` TO `foobar`@`%`;
+GRANT USAGE ON *.* TO `foobar`@`%` IDENTIFIED VIA test_plugin_server USING 'plug_dest';
+/*M!100005 SET DEFAULT ROLE 'role_2' FOR 'foobar'@'%' */;
+/*!80001 ALTER USER 'foobar'@'%' DEFAULT ROLE 'role_2' */;
GRANT `role_2` TO `role_1` WITH ADMIN OPTION;
GRANT SHOW DATABASES ON *.* TO `role_1`;
GRANT USAGE ON *.* TO `role_2`;
@@ -173,6 +176,10 @@ UNLOCK TABLES;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+/*M!100401 UNINSTALL PLUGIN IF EXIST test_plugin_server */;
+INSTALL PLUGIN test_plugin_server SONAME 'AUTH_TEST_PLUGIN_LIB';
+/*M!100401 UNINSTALL PLUGIN IF EXIST cleartext_plugin_server */;
+INSTALL PLUGIN cleartext_plugin_server SONAME 'AUTH_TEST_PLUGIN_LIB';
DELIMITER |
/*M!100101 IF current_user()="'mariadb.sys'@'localhost'" THEN
SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT="Don't remove current user 'mariadb.sys'@'localhost''";
@@ -188,12 +195,12 @@ DELIMITER ;
/*!50701 DROP USER IF EXISTS 'root'@'localhost' */;
CREATE /*M!100103 OR REPLACE */ USER `root`@`localhost`;
DELIMITER |
-/*M!100101 IF current_user()="'USER'@'%'" THEN
- SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT="Don't remove current user 'USER'@'%''";
+/*M!100101 IF current_user()="'foobar'@'%'" THEN
+ SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT="Don't remove current user 'foobar'@'%''";
END IF */|
DELIMITER ;
-/*!50701 DROP USER IF EXISTS 'USER'@'%' */;
-CREATE /*M!100103 OR REPLACE */ USER `USER`@`%`;
+/*!50701 DROP USER IF EXISTS 'foobar'@'%' */;
+CREATE /*M!100103 OR REPLACE */ USER `foobar`@`%` IDENTIFIED VIA test_plugin_server USING 'plug_dest';
SELECT COALESCE(CURRENT_ROLE(),'NONE') into @current_role;
CREATE ROLE IF NOT EXISTS mariadb_dump_import_role;
GRANT mariadb_dump_import_role TO CURRENT_USER();
@@ -215,11 +222,11 @@ GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION;
/*M!100005 SET DEFAULT ROLE NONE FOR 'root'@'localhost' */;
/*!80001 ALTER USER 'root'@'localhost' DEFAULT ROLE NONE */;
-GRANT `role_1` TO `USER`@`%`;
-GRANT `role_2` TO `USER`@`%`;
-GRANT USAGE ON *.* TO `USER`@`%`;
-/*M!100005 SET DEFAULT ROLE 'role_2' FOR 'USER'@'%' */;
-/*!80001 ALTER USER 'USER'@'%' DEFAULT ROLE 'role_2' */;
+GRANT `role_1` TO `foobar`@`%`;
+GRANT `role_2` TO `foobar`@`%`;
+GRANT USAGE ON *.* TO `foobar`@`%` IDENTIFIED VIA test_plugin_server USING 'plug_dest';
+/*M!100005 SET DEFAULT ROLE 'role_2' FOR 'foobar'@'%' */;
+/*!80001 ALTER USER 'foobar'@'%' DEFAULT ROLE 'role_2' */;
GRANT `role_2` TO `role_1` WITH ADMIN OPTION;
GRANT SHOW DATABASES ON *.* TO `role_1`;
GRANT USAGE ON *.* TO `role_2`;
@@ -318,9 +325,11 @@ UNLOCK TABLES;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+INSTALL PLUGIN test_plugin_server /*M!100401 IF NOT EXISTS */ SONAME 'AUTH_TEST_PLUGIN_LIB';
+INSTALL PLUGIN cleartext_plugin_server /*M!100401 IF NOT EXISTS */ SONAME 'AUTH_TEST_PLUGIN_LIB';
CREATE USER IF NOT EXISTS `mariadb.sys`@`localhost` PASSWORD EXPIRE;
CREATE USER IF NOT EXISTS `root`@`localhost`;
-CREATE USER IF NOT EXISTS `USER`@`%`;
+CREATE USER IF NOT EXISTS `foobar`@`%` IDENTIFIED VIA test_plugin_server USING 'plug_dest';
SELECT COALESCE(CURRENT_ROLE(),'NONE') into @current_role;
CREATE ROLE IF NOT EXISTS mariadb_dump_import_role;
GRANT mariadb_dump_import_role TO CURRENT_USER();
@@ -340,11 +349,11 @@ GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION;
/*M!100005 SET DEFAULT ROLE NONE FOR 'root'@'localhost' */;
/*!80001 ALTER USER 'root'@'localhost' DEFAULT ROLE NONE */;
-GRANT `role_1` TO `USER`@`%`;
-GRANT `role_2` TO `USER`@`%`;
-GRANT USAGE ON *.* TO `USER`@`%`;
-/*M!100005 SET DEFAULT ROLE 'role_2' FOR 'USER'@'%' */;
-/*!80001 ALTER USER 'USER'@'%' DEFAULT ROLE 'role_2' */;
+GRANT `role_1` TO `foobar`@`%`;
+GRANT `role_2` TO `foobar`@`%`;
+GRANT USAGE ON *.* TO `foobar`@`%` IDENTIFIED VIA test_plugin_server USING 'plug_dest';
+/*M!100005 SET DEFAULT ROLE 'role_2' FOR 'foobar'@'%' */;
+/*!80001 ALTER USER 'foobar'@'%' DEFAULT ROLE 'role_2' */;
GRANT `role_2` TO `role_1` WITH ADMIN OPTION;
GRANT SHOW DATABASES ON *.* TO `role_1`;
GRANT USAGE ON *.* TO `role_2`;
@@ -430,7 +439,7 @@ UNLOCK TABLES;
SELECT * FROM mysql.global_priv ORDER BY User,Host;
Host User Priv
-% USER {"access":0,"version_id":VERSION,"plugin":"mysql_native_password","authentication_string":"","password_last_changed":NOW,"default_role":"role_2"}
+% foobar {"access":0,"version_id":VERSION,"plugin":"test_plugin_server","authentication_string":"plug_dest","password_last_changed":NOW,"default_role":"role_2"}
localhost mariadb.sys {"access":0,"plugin":"mysql_native_password","authentication_string":"","account_locked":false,"password_last_changed":NOW,"version_id":VERSION}
role_1 {"access":16384,"version_id":VERSION,"is_role":true}
role_2 {"access":0,"version_id":VERSION,"is_role":true}
@@ -438,10 +447,10 @@ localhost root {"access":18446744073709551615}
CHECKSUM TABLE mysql.roles_mapping, mysql.time_zone_transition, mysql.plugin,
mysql.servers, mysql.func, mysql.innodb_table_stats, mysql.table_stats;
Table Checksum
-mysql.roles_mapping 3150178430
+mysql.roles_mapping 2510045525
mysql.time_zone_transition 3895294076
-mysql.plugin 0
-mysql.servers 2783974349
+mysql.plugin 1587119305
+mysql.servers 2079085450
mysql.func 3241572444
mysql.innodb_table_stats 347867921
mysql.table_stats 664320059
@@ -450,7 +459,7 @@ CREATE USER mariadb_test_restore IDENTIFIED BY 'getitback';
GRANT ALL ON *.* TO mariadb_test_restore WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO mariadb_test_restore WITH GRANT OPTION;
GRANT SUPER, CREATE USER /*M!100502 ,FEDERATED ADMIN */ ON *.* TO mariadb_test_restore WITH GRANT OPTION;
-drop user USER;
+drop user foobar;
delete from mysql.table_stats;
delete from mysql.innodb_table_stats;
delete from mysql.time_zone_transition;
@@ -465,7 +474,7 @@ set time_zone= @@global.time_zone;
DROP USER mariadb_test_restore;
SELECT * FROM mysql.global_priv ORDER BY User,Host;
Host User Priv
-% USER {"access":0,"version_id":VERSION,"plugin":"mysql_native_password","authentication_string":"","password_last_changed":NOW,"default_role":"role_2"}
+% foobar {"access":0,"version_id":VERSION,"plugin":"test_plugin_server","authentication_string":"plug_dest","password_last_changed":NOW,"default_role":"role_2"}
localhost mariadb.sys {"access":0,"version_id":VERSION,"plugin":"mysql_native_password","authentication_string":"","password_last_changed":NOW,"password_lifetime":-1,"default_role":""}
role_1 {"access":16384,"version_id":VERSION,"is_role":true}
role_2 {"access":0,"version_id":VERSION,"is_role":true}
@@ -473,10 +482,10 @@ localhost root {"access":549755813887,"version_id":VERSION,"plugin":"mysql_nativ
CHECKSUM TABLE mysql.roles_mapping, mysql.time_zone_transition, mysql.plugin,
mysql.servers, mysql.func, mysql.innodb_table_stats, mysql.table_stats;
Table Checksum
-mysql.roles_mapping 3150178430
+mysql.roles_mapping 2510045525
mysql.time_zone_transition 3895294076
-mysql.plugin 0
-mysql.servers 2783974349
+mysql.plugin 1587119305
+mysql.servers 2079085450
mysql.func 3241572444
mysql.innodb_table_stats 347867921
mysql.table_stats 664320059
@@ -490,8 +499,9 @@ DELETE FROM mysql.innodb_table_stats WHERE database_name='mysql' and table_name
drop table mysql.tz;
DROP ROLE role_2;
DROP ROLE role_1;
-drop user USER;
+drop user foobar;
replace into mysql.global_priv select * from backup_users;
replace into mysql.tables_priv select * from tables_priv;
flush privileges;
drop table backup_users, tables_priv;
+uninstall soname 'auth_test_plugin';
diff --git a/mysql-test/main/mysqldump-system.test b/mysql-test/main/mysqldump-system.test
index c1965410167..7e85fcc1a11 100644
--- a/mysql-test/main/mysqldump-system.test
+++ b/mysql-test/main/mysqldump-system.test
@@ -3,9 +3,10 @@
--source include/have_udf.inc
--source include/platform.inc
-if (!$AUTH_SOCKET_SO) {
- --skip Need auth socket plugin
+if (!$AUTH_TEST_PLUGIN_SO) {
+ --skip Need auth test plugin
}
+install soname 'auth_test_plugin';
--echo #
--echo # MDEV-23630: mysqldump to logically dump system tables
@@ -21,7 +22,7 @@ flush privileges;
# mariadb.sys because of MDEV-24098
alter user 'mariadb.sys'@'localhost' ACCOUNT UNLOCK;
-create user USER;
+create user foobar IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
# time zone data already loaded
@@ -29,9 +30,9 @@ CREATE ROLE role_1;
CREATE ROLE role_2 WITH ADMIN role_1;
GRANT SHOW DATABASES ON *.* TO role_1;
-GRANT role_1 TO USER;
-GRANT role_2 TO USER;
-SET DEFAULT ROLE role_2 FOR USER;
+GRANT role_1 TO foobar;
+GRANT role_2 TO foobar;
+SET DEFAULT ROLE role_2 FOR foobar;
ALTER TABLE mysql.roles_mapping ORDER BY Host, User, Role;
@@ -66,7 +67,7 @@ eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
--echo # mysqldump of system tables with --system=all
--echo #
---replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB $AUTH_TEST_PLUGIN_SO AUTH_TEST_PLUGIN_LIB
--exec $MYSQL_DUMP --skip-comments --system=all
@@ -74,7 +75,7 @@ eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
--echo # mysqldump of system tables with --system=all --replace
--echo #
---replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB $AUTH_TEST_PLUGIN_SO AUTH_TEST_PLUGIN_LIB
--exec $MYSQL_DUMP --skip-comments --system=all --replace
@@ -85,7 +86,7 @@ eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_SO";
--echo # mysqldump of system tables with --system=all --insert-ignore
--echo #
---replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB
+--replace_result $UDF_EXAMPLE_SO UDF_EXAMPLE_LIB $AUTH_TEST_PLUGIN_SO AUTH_TEST_PLUGIN_LIB
--exec $MYSQL_DUMP --skip-comments --system=all --insert-ignore
@@ -107,7 +108,7 @@ GRANT ALL ON *.* TO mariadb_test_restore WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO mariadb_test_restore WITH GRANT OPTION;
GRANT SUPER, CREATE USER /*M!100502 ,FEDERATED ADMIN */ ON *.* TO mariadb_test_restore WITH GRANT OPTION;
-drop user USER;
+drop user foobar;
delete from mysql.table_stats;
delete from mysql.innodb_table_stats;
delete from mysql.time_zone_transition;
@@ -151,9 +152,10 @@ drop table mysql.tz;
DROP ROLE role_2;
DROP ROLE role_1;
-drop user USER;
+drop user foobar;
replace into mysql.global_priv select * from backup_users;
replace into mysql.tables_priv select * from tables_priv;
flush privileges;
drop table backup_users, tables_priv;
+uninstall soname 'auth_test_plugin';
diff --git a/mysql-test/main/mysqldump-utf8mb4.result b/mysql-test/main/mysqldump-utf8mb4.result
index 3bafd6da6c9..50c23c5efa9 100644
--- a/mysql-test/main/mysqldump-utf8mb4.result
+++ b/mysql-test/main/mysqldump-utf8mb4.result
@@ -18,7 +18,7 @@ Testing XML format output
<field Field="point" Type="varchar(10)" Null="NO" Key="PRI" Extra="" Comment="" />
<field Field="data" Type="varchar(10)" Null="YES" Key="" Default="NULL" Extra="" Comment="" />
<field Field="comment" Type="varchar(64)" Null="YES" Key="" Default="NULL" Extra="" Comment="" />
- <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="point" Collation="A" Cardinality="1" Null="" Index_type="BTREE" Comment="" Index_comment="" />
+ <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="point" Collation="A" Cardinality="1" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
</table_structure>
<table_data name="t1">
<row>
diff --git a/mysql-test/main/mysqldump.result b/mysql-test/main/mysqldump.result
index 31252070adf..ed94dcaa7d4 100644
--- a/mysql-test/main/mysqldump.result
+++ b/mysql-test/main/mysqldump.result
@@ -12,7 +12,7 @@ INSERT INTO t1 VALUES (1), (2);
<database name="test">
<table_structure name="t1">
<field Field="a" Type="int(11)" Null="YES" Key="MUL" Default="NULL" Extra="" Comment="" />
- <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_comment="" />
+ <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
</table_structure>
<table_data name="t1">
<row>
@@ -3727,7 +3727,7 @@ CREATE TEMPORARY TABLE `TABLES` (
`TABLE_COMMENT` varchar(2048) NOT NULL,
`MAX_INDEX_LENGTH` bigint(21) unsigned,
`TEMPORARY` varchar(1)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8;
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
#
# Bug#19745 mysqldump --xml produces invalid xml
@@ -4720,8 +4720,8 @@ ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `test` (
- `c1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+ `c1` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
@@ -4740,7 +4740,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `test-database` CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci ;
DROP DATABASE `test-database`;
USE test;
#
@@ -5178,7 +5178,7 @@ RETURN CONCAT(']]>, ', c1, '!');
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="BUG52792">
<routines>
- <routine Function="straße" sql_mode="" character_set_client="utf8" collation_connection="utf8_general_ci" Database_Collation="latin1_swedish_ci">
+ <routine Function="straße" sql_mode="" character_set_client="utf8mb3" collation_connection="utf8mb3_general_ci" Database_Collation="latin1_swedish_ci">
<![CDATA[
CREATE DEFINER=`root`@`localhost` FUNCTION `straße`(c1 CHAR(20)) RETURNS char(50) CHARSET latin1
DETERMINISTIC
@@ -5285,7 +5285,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
SHOW CREATE TABLE mysql.slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -5302,7 +5302,7 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
SET @@global.log_output= @old_log_output_state;
SET @@global.slow_query_log= @old_slow_query_log_state;
SET @@global.general_log= @old_general_log_state;
@@ -5384,11 +5384,11 @@ SHOW TRIGGERS FROM bug25717383;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trig
one INSERT tab
-one SET NEW.a = 1 BEFORE # root@localhost utf8 utf8_general_ci latin1_swedish_ci
+one SET NEW.a = 1 BEFORE # root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
SHOW EVENTS FROM bug25717383;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
bug25717383 event
-one root@localhost SYSTEM ONE TIME # NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci latin1_swedish_ci
+one root@localhost SYSTEM ONE TIME # NULL NULL NULL NULL ENABLED 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA='bug25717383' AND ROUTINE_TYPE= 'PROCEDURE'
ORDER BY ROUTINE_NAME;
@@ -5405,11 +5405,11 @@ SHOW TRIGGERS FROM bug25717383;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
trig
one INSERT tab
-one SET NEW.a = 1 BEFORE # root@localhost utf8 utf8_general_ci latin1_swedish_ci
+one SET NEW.a = 1 BEFORE # root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
SHOW EVENTS FROM bug25717383;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
bug25717383 event
-one root@localhost SYSTEM ONE TIME # NULL NULL NULL NULL ENABLED 1 utf8 utf8_general_ci latin1_swedish_ci
+one root@localhost SYSTEM ONE TIME # NULL NULL NULL NULL ENABLED 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA='bug25717383' AND ROUTINE_TYPE= 'PROCEDURE'
ORDER BY ROUTINE_NAME;
@@ -5435,9 +5435,9 @@ ALTER DATABASE `a\"'``b` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN END ;;
@@ -5446,7 +5446,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE `a\"'``b` CHARACTER SET utf8 COLLATE utf8_general_ci ;
+ALTER DATABASE `a\"'``b` CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ;
DROP DATABASE `a\"'``b`;
use test;
#
@@ -5478,21 +5478,21 @@ CREATE VIEW nonunique_table_view_name AS SELECT 1;
##################################################
# --compact --databases db1 db2
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1` /*!40100 DEFAULT CHARACTER SET utf8 */;
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */;
USE `db1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `basetable` (
`id` smallint(6) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `basetable` VALUES (5),(6);
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `nonunique_table_name` (
`i3` smallint(6) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 INSERT_METHOD=LAST UNION=(`basetable`);
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb3 INSERT_METHOD=LAST UNION=(`basetable`);
/*!40101 SET character_set_client = @saved_cs_client */;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
@@ -5501,7 +5501,7 @@ SET character_set_client = utf8;
) ENGINE=MyISAM */;
SET character_set_client = @saved_cs_client;
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db2` /*!40100 DEFAULT CHARACTER SET utf8 */;
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db2` /*!40100 DEFAULT CHARACTER SET utf8mb3 */;
USE `db2`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
@@ -5509,14 +5509,14 @@ USE `db2`;
CREATE TABLE `nonunique_table_name` (
`i1` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
UNIQUE KEY `i1` (`i1`)
-) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
+) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `nonunique_table_name` VALUES (1),(2);
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `nonunique_table_view_name` (
`i2` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `nonunique_table_view_name` VALUES (3),(4);
@@ -5525,9 +5525,9 @@ USE `db1`;
/*!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 = utf8 */;
-/*!50001 SET character_set_results = utf8 */;
-/*!50001 SET collation_connection = utf8_general_ci */;
+/*!50001 SET character_set_client = utf8mb3 */;
+/*!50001 SET character_set_results = utf8mb3 */;
+/*!50001 SET collation_connection = utf8mb3_general_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `nonunique_table_view_name` AS select 1 AS `1` */;
@@ -5545,21 +5545,21 @@ USE `db2`;
CREATE TABLE `nonunique_table_name` (
`i1` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
UNIQUE KEY `i1` (`i1`)
-) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
+) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `nonunique_table_name` VALUES (1),(2);
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `nonunique_table_view_name` (
`i2` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `nonunique_table_view_name` VALUES (3),(4);
##################################################
# --compact --delayed-insert --no-data-med=0 --databases db2 db1
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db2` /*!40100 DEFAULT CHARACTER SET utf8 */;
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db2` /*!40100 DEFAULT CHARACTER SET utf8mb3 */;
USE `db2`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
@@ -5567,32 +5567,32 @@ USE `db2`;
CREATE TABLE `nonunique_table_name` (
`i1` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
UNIQUE KEY `i1` (`i1`)
-) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
+) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT DELAYED INTO `nonunique_table_name` VALUES (1),(2);
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `nonunique_table_view_name` (
`i2` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `nonunique_table_view_name` VALUES (3),(4);
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1` /*!40100 DEFAULT CHARACTER SET utf8 */;
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */;
USE `db1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `basetable` (
`id` smallint(6) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT DELAYED INTO `basetable` VALUES (5),(6);
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `nonunique_table_name` (
`i3` smallint(6) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 INSERT_METHOD=LAST UNION=(`basetable`);
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb3 INSERT_METHOD=LAST UNION=(`basetable`);
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `nonunique_table_name` VALUES (5),(6);
SET @saved_cs_client = @@character_set_client;
@@ -5609,9 +5609,9 @@ USE `db1`;
/*!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 = utf8 */;
-/*!50001 SET character_set_results = utf8 */;
-/*!50001 SET collation_connection = utf8_general_ci */;
+/*!50001 SET character_set_client = utf8mb3 */;
+/*!50001 SET character_set_results = utf8mb3 */;
+/*!50001 SET collation_connection = utf8mb3_general_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `nonunique_table_view_name` AS select 1 AS `1` */;
@@ -5698,9 +5698,9 @@ USE `test`;
/*!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 = utf8 */ ;
-/*!50003 SET character_set_results = utf8 */ ;
-/*!50003 SET collation_connection = utf8_general_ci */ ;
+/*!50003 SET character_set_client = utf8mb3 */ ;
+/*!50003 SET character_set_results = utf8mb3 */ ;
+/*!50003 SET collation_connection = utf8mb3_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50032 DROP TRIGGER IF EXISTS tt1_t1 */;
@@ -5749,7 +5749,7 @@ CREATE TABLE IF NOT EXISTS `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
@@ -5767,35 +5767,35 @@ CREATE TABLE IF NOT EXISTS `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log';
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `innodb_index_stats`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `innodb_index_stats` (
- `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(199) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `database_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(199) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `stat_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`stat_value` bigint(20) unsigned NOT NULL,
`sample_size` bigint(20) unsigned DEFAULT NULL,
- `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
+ `stat_description` varchar(1024) COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `innodb_table_stats`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `innodb_table_stats` (
- `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(199) COLLATE utf8_bin NOT NULL,
+ `database_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(199) COLLATE utf8mb3_bin NOT NULL,
`last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`n_rows` bigint(20) unsigned NOT NULL,
`clustered_index_size` bigint(20) unsigned NOT NULL,
`sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`database_name`,`table_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
@@ -5804,12 +5804,12 @@ CREATE TABLE IF NOT EXISTS `transaction_registry` (
`commit_id` bigint(20) unsigned NOT NULL,
`begin_timestamp` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
`commit_timestamp` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
- `isolation_level` enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8_bin NOT NULL,
+ `isolation_level` enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`transaction_id`),
UNIQUE KEY `commit_id` (`commit_id`),
KEY `begin_timestamp` (`begin_timestamp`),
KEY `commit_timestamp` (`commit_timestamp`,`transaction_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -5844,7 +5844,7 @@ CREATE TABLE IF NOT EXISTS `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
@@ -5862,22 +5862,22 @@ CREATE TABLE IF NOT EXISTS `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log';
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `innodb_index_stats`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `innodb_index_stats` (
- `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(199) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `database_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(199) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `stat_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`stat_value` bigint(20) unsigned NOT NULL,
`sample_size` bigint(20) unsigned DEFAULT NULL,
- `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
+ `stat_description` varchar(1024) COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `innodb_index_stats` WRITE;
@@ -5888,14 +5888,14 @@ DROP TABLE IF EXISTS `innodb_table_stats`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `innodb_table_stats` (
- `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(199) COLLATE utf8_bin NOT NULL,
+ `database_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(199) COLLATE utf8mb3_bin NOT NULL,
`last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`n_rows` bigint(20) unsigned NOT NULL,
`clustered_index_size` bigint(20) unsigned NOT NULL,
`sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`database_name`,`table_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `innodb_table_stats` WRITE;
@@ -5909,12 +5909,12 @@ CREATE TABLE IF NOT EXISTS `transaction_registry` (
`commit_id` bigint(20) unsigned NOT NULL,
`begin_timestamp` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
`commit_timestamp` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
- `isolation_level` enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8_bin NOT NULL,
+ `isolation_level` enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`transaction_id`),
UNIQUE KEY `commit_id` (`commit_id`),
KEY `begin_timestamp` (`begin_timestamp`),
KEY `commit_timestamp` (`commit_timestamp`,`transaction_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -5949,7 +5949,7 @@ CREATE TABLE IF NOT EXISTS `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
@@ -5967,22 +5967,22 @@ CREATE TABLE IF NOT EXISTS `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log';
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `innodb_index_stats`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `innodb_index_stats` (
- `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(199) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `database_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(199) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `stat_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`stat_value` bigint(20) unsigned NOT NULL,
`sample_size` bigint(20) unsigned DEFAULT NULL,
- `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
+ `stat_description` varchar(1024) COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `innodb_index_stats` WRITE;
@@ -5993,14 +5993,14 @@ DROP TABLE IF EXISTS `innodb_table_stats`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `innodb_table_stats` (
- `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(199) COLLATE utf8_bin NOT NULL,
+ `database_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(199) COLLATE utf8mb3_bin NOT NULL,
`last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`n_rows` bigint(20) unsigned NOT NULL,
`clustered_index_size` bigint(20) unsigned NOT NULL,
`sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`database_name`,`table_name`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `innodb_table_stats` WRITE;
@@ -6014,12 +6014,12 @@ CREATE TABLE IF NOT EXISTS `transaction_registry` (
`commit_id` bigint(20) unsigned NOT NULL,
`begin_timestamp` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
`commit_timestamp` timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
- `isolation_level` enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8_bin NOT NULL,
+ `isolation_level` enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8mb3_bin NOT NULL,
PRIMARY KEY (`transaction_id`),
UNIQUE KEY `commit_id` (`commit_id`),
KEY `begin_timestamp` (`begin_timestamp`),
KEY `commit_timestamp` (`commit_timestamp`,`transaction_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
@@ -6348,7 +6348,7 @@ use test2;
SHOW CREATE PACKAGE pkg;
Package sql_mode Create Package character_set_client collation_connection Database Collation
pkg PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT CREATE DEFINER="root"@"localhost" PACKAGE "pkg" AS
-END utf8 utf8_general_ci latin1_swedish_ci
+END utf8mb3 utf8mb3_general_ci latin1_swedish_ci
DROP DATABASE test1;
DROP DATABASE test2;
SET sql_mode=@save_sql_mode;
@@ -6397,7 +6397,7 @@ DROP TABLE IF EXISTS mysql.column_stats;
<field Field="server_id" Type="int(10) unsigned" Null="NO" Key="" Extra="" Comment="" />
<field Field="command_type" Type="varchar(64)" Null="NO" Key="" Extra="" Comment="" />
<field Field="argument" Type="mediumtext" Null="NO" Key="" Extra="" Comment="" />
- <options Name="general_log" Engine="CSV" Version="10" Row_format="Dynamic" Rows="2" Avg_row_length="0" Data_length="0" Max_data_length="0" Index_length="0" Data_free="0" Collation="utf8_general_ci" Create_options="" Comment="General log" Max_index_length="0" Temporary="N" />
+ <options Name="general_log" Engine="CSV" Version="10" Row_format="Dynamic" Rows="2" Avg_row_length="0" Data_length="0" Max_data_length="0" Index_length="0" Data_free="0" Collation="utf8mb3_general_ci" Create_options="" Comment="General log" Max_index_length="0" Temporary="N" />
</table_structure>
<table_structure name="slow_log">
<field Field="start_time" Type="timestamp(6)" Null="NO" Key="" Default="current_timestamp(6)" Extra="on update current_timestamp(6)" Comment="" />
@@ -6413,7 +6413,7 @@ DROP TABLE IF EXISTS mysql.column_stats;
<field Field="sql_text" Type="mediumtext" Null="NO" Key="" Extra="" Comment="" />
<field Field="thread_id" Type="bigint(21) unsigned" Null="NO" Key="" Extra="" Comment="" />
<field Field="rows_affected" Type="int(11)" Null="NO" Key="" Extra="" Comment="" />
- <options Name="slow_log" Engine="CSV" Version="10" Row_format="Dynamic" Rows="2" Avg_row_length="0" Data_length="0" Max_data_length="0" Index_length="0" Data_free="0" Collation="utf8_general_ci" Create_options="" Comment="Slow log" Max_index_length="0" Temporary="N" />
+ <options Name="slow_log" Engine="CSV" Version="10" Row_format="Dynamic" Rows="2" Avg_row_length="0" Data_length="0" Max_data_length="0" Index_length="0" Data_free="0" Collation="utf8mb3_general_ci" Create_options="" Comment="Slow log" Max_index_length="0" Temporary="N" />
</table_structure>
/*!50106 SET GLOBAL LOG_OUTPUT=@save_log_output*/;
@@ -6424,12 +6424,12 @@ DROP TABLE IF EXISTS mysql.column_stats;
<field Field="begin_timestamp" Type="timestamp(6)" Null="NO" Key="MUL" Default="'0000-00-00 00:00:00.000000'" Extra="" Comment="" />
<field Field="commit_timestamp" Type="timestamp(6)" Null="NO" Key="MUL" Default="'0000-00-00 00:00:00.000000'" Extra="" Comment="" />
<field Field="isolation_level" Type="enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE')" Null="NO" Key="" Extra="" Comment="" />
- <key Table="transaction_registry" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="transaction_id" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" />
- <key Table="transaction_registry" Non_unique="0" Key_name="commit_id" Seq_in_index="1" Column_name="commit_id" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" />
- <key Table="transaction_registry" Non_unique="1" Key_name="begin_timestamp" Seq_in_index="1" Column_name="begin_timestamp" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" />
- <key Table="transaction_registry" Non_unique="1" Key_name="commit_timestamp" Seq_in_index="1" Column_name="commit_timestamp" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" />
- <key Table="transaction_registry" Non_unique="1" Key_name="commit_timestamp" Seq_in_index="2" Column_name="transaction_id" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" />
- <options Name="transaction_registry" Engine="InnoDB" Version="10" Row_format="Dynamic" Rows="0" Avg_row_length="0" Data_length="16384" Max_data_length="0" Index_length="49152" Data_free="0" Create_time="TIMESTAMP" Collation="utf8_bin" Create_options="stats_persistent=0" Comment="" Max_index_length="0" Temporary="N" />
+ <key Table="transaction_registry" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="transaction_id" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
+ <key Table="transaction_registry" Non_unique="0" Key_name="commit_id" Seq_in_index="1" Column_name="commit_id" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
+ <key Table="transaction_registry" Non_unique="1" Key_name="begin_timestamp" Seq_in_index="1" Column_name="begin_timestamp" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
+ <key Table="transaction_registry" Non_unique="1" Key_name="commit_timestamp" Seq_in_index="1" Column_name="commit_timestamp" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
+ <key Table="transaction_registry" Non_unique="1" Key_name="commit_timestamp" Seq_in_index="2" Column_name="transaction_id" Collation="A" Cardinality="0" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
+ <options Name="transaction_registry" Engine="InnoDB" Version="10" Row_format="Dynamic" Rows="0" Avg_row_length="0" Data_length="16384" Max_data_length="0" Index_length="49152" Data_free="0" Create_time="TIMESTAMP" Collation="utf8mb3_bin" Create_options="stats_persistent=0" Comment="" Max_index_length="0" Temporary="N" />
</table_structure>
</database>
<database name="test1">
diff --git a/mysql-test/main/mysqldump.test b/mysql-test/main/mysqldump.test
index 135787973bd..a4252f087c0 100644
--- a/mysql-test/main/mysqldump.test
+++ b/mysql-test/main/mysqldump.test
@@ -10,7 +10,7 @@ call mtr.add_suppression("@003f.frm' \\(errno: 22\\)");
--source include/have_log_bin.inc
# utf8 is required
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
# Save the initial number of concurrent sessions
@@ -1036,10 +1036,12 @@ begin
return f1;
end //
+--enable_prepare_warnings
CREATE PROCEDURE bug9056_proc2(OUT a INT)
BEGIN
select sum(id) from t1 into a;
END //
+--disable_prepare_warnings
DELIMITER ;//
diff --git a/mysql-test/main/mysqlslap.result b/mysql-test/main/mysqlslap.result
index 791cb5ac6b3..78560903fb7 100644
--- a/mysql-test/main/mysqlslap.result
+++ b/mysql-test/main/mysqlslap.result
@@ -230,6 +230,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
# 'bug58090' database should be present.
SHOW DATABASES;
@@ -239,6 +240,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
DROP DATABASE bug58090;
#
diff --git a/mysql-test/main/mysqltest.result b/mysql-test/main/mysqltest.result
index fe269152357..c8fe81c4d77 100644
--- a/mysql-test/main/mysqltest.result
+++ b/mysql-test/main/mysqltest.result
@@ -8,7 +8,7 @@ select otto from (select 1 as otto) as t1;
otto
1
select friedrich from (select 1 as otto) as t1;
-mysqltest: At line 1: query 'select friedrich from (select 1 as otto) as t1' failed: 1054: Unknown column 'friedrich' in 'field list'
+mysqltest: At line 1: query 'select friedrich from (select 1 as otto) as t1' failed: ER_BAD_FIELD_ERROR (1054): Unknown column 'friedrich' in 'field list'
select friedrich from (select 1 as otto) as t1;
ERROR 42S22: Unknown column 'friedrich' in 'field list'
select otto from (select 1 as otto) as t1;
@@ -155,7 +155,7 @@ select 1146 as "after_!errno_masked_error" ;
after_!errno_masked_error
1146
select 3 from t1;
-mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146: 'Table 'test.t1' doesn't exist', instead of 1000...
+mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno ER_NO_SUCH_TABLE (1146): 'Table 'test.t1' doesn't exist', instead of ER_HASHCHK (1000)...
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 1
is empty
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 'nonsense' at line 1
@@ -169,7 +169,7 @@ after_--enable_abort_on_error
select 3 from t1 ;
ERROR 42S02: Table 'test.t1' doesn't exist
select 3 from t1;
-mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno 1146: 'Table 'test.t1' doesn't exist', instead of 1064...
+mysqltest: At line 1: query 'select 3 from t1' failed with wrong errno ER_NO_SUCH_TABLE (1146): 'Table 'test.t1' doesn't exist', instead of ER_PARSE_ERROR (1064)...
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 1
select 2;
@@ -360,7 +360,7 @@ insert into t1 values ('$dollar');
$dollar
`select 42`
drop table t1;
-mysqltest: At line 1: query 'let $var2= `failing query`' failed: 1064: 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 'failing query' at line 1
+mysqltest: At line 1: query 'let $var2= `failing query`' failed: ER_PARSE_ERROR (1064): 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 'failing query' at line 1
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
mysqltest: At line 1: Could not open 'non_existingFile' for reading, errno: 2
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql":
@@ -383,7 +383,7 @@ At line 1: Source directives are nesting too deep
garbage ;
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql":
included from <stdin> at line 1:
-At line 1: query 'garbage ' failed: 1064: 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 1
+At line 1: query 'garbage ' failed: ER_PARSE_ERROR (1064): 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 1
2 = outer loop variable after while
here is the sourced script
@@ -520,7 +520,7 @@ mysqltest: At line 1: Missing '{' after while. Found "dec $i"
mysqltest: At line 1: Stray '}' - end of block before beginning
mysqltest: At line 1: Stray 'end' command - end of block before beginning
{;
-mysqltest: At line 1: query '{' failed: 1064: 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
+mysqltest: At line 1: query '{' failed: ER_PARSE_ERROR (1064): 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
mysqltest: At line 1: Missing '{' after while. Found "echo hej"
mysqltest: At line 3: Missing end of block
mysqltest: At line 3: Missing end of block
@@ -560,7 +560,7 @@ mysqltest: At line 1: Missing required argument 'connection name' to command 'co
mysqltest: At line 1: Missing required argument 'connection name' to command 'connect'
mysqltest: At line 1: Missing required argument 'host' to command 'connect'
mysqltest: At line 1: Missing required argument 'host' to command 'connect'
-mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1049: Unknown database 'illegal_db'
+mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: ER_BAD_DB_ERROR (1049): Unknown database 'illegal_db'
mysqltest: At line 1: Illegal argument for port: 'illegal_port'
mysqltest: At line 1: Illegal option to connect: SMTP
200 connects succeeded
@@ -631,12 +631,12 @@ insertz 'error query'||||
mysqltest: At line 3: query 'create table t1 (a int primary key);
insert into t1 values (1);
select 'select-me';
-insertz 'error query'' failed: 1064: 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 'insertz 'error query'' at line 1
+insertz 'error query'' failed: ER_PARSE_ERROR (1064): 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 'insertz 'error query'' at line 1
drop table t1;
mysqltest: At line 3: query 'create table t1 (a int primary key);
insert into t1 values (1);
select 'select-me';
-insertz 'error query'' failed: 1064: 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 'insertz 'error query'' at line 1
+insertz 'error query'' failed: ER_PARSE_ERROR (1064): 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 'insertz 'error query'' at line 1
drop table t1;
Multi statement using expected error
create table t1 (a int primary key);
@@ -931,7 +931,7 @@ mysqltest: At line 1: Could not find column 'column_not_exists' in the result of
mysqltest: At line 1: Query 'SET @A = 1' didn't return a result set
mysqltest: At line 1: Could not find column '1 AS B' in the result of 'SELECT 1 AS A'
value= No such row
-mysqltest: At line 1: query 'let $value= query_get_value(SHOW COLNS FROM t1, Field, 1)' failed: 1064: 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 'COLNS FROM t1' at line 1
+mysqltest: At line 1: query 'let $value= query_get_value(SHOW COLNS FROM t1, Field, 1)' failed: ER_PARSE_ERROR (1064): 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 'COLNS FROM t1' at line 1
Field Type Null Key Default Extra
a int(11) YES -><- NULL
@@ -946,9 +946,9 @@ a int(11) YES NULL
b varchar(255) YES NULL
c datetime YES NULL
drop table t1;
-mysqltest: At line 1: query 'change_user root,,inexistent' failed: 1049: Unknown database 'inexistent'
-mysqltest: At line 1: query 'change_user inexistent,,test' failed: 1045: Access denied for user 'inexistent'@'localhost' (using password: NO)
-mysqltest: At line 1: query 'change_user root,inexistent,test' failed: 1045: Access denied for user 'root'@'localhost' (using password: YES)
+mysqltest: At line 1: query 'change_user root,,inexistent' failed: ER_BAD_DB_ERROR (1049): Unknown database 'inexistent'
+mysqltest: At line 1: query 'change_user inexistent,,test' failed: ER_ACCESS_DENIED_ERROR (1045): Access denied for user 'inexistent'@'localhost' (using password: NO)
+mysqltest: At line 1: query 'change_user root,inexistent,test' failed: ER_ACCESS_DENIED_ERROR (1045): Access denied for user 'root'@'localhost' (using password: YES)
REPLACED_FILE1.txt
file1.txt
file2.txt
diff --git a/mysql-test/main/mysqltest_cont_on_error.result b/mysql-test/main/mysqltest_cont_on_error.result
index eaa17028f8d..352799deb06 100644
--- a/mysql-test/main/mysqltest_cont_on_error.result
+++ b/mysql-test/main/mysqltest_cont_on_error.result
@@ -1,7 +1,7 @@
select error;
-mysqltest: At line 1: query 'select error' failed: 1054: Unknown column 'error' in 'field list'
+mysqltest: At line 1: query 'select error' failed: ER_BAD_FIELD_ERROR (1054): Unknown column 'error' in 'field list'
SELECT ERROR;
-mysqltest: At line 1: query 'SELECT ERROR' failed: 1054: Unknown column 'ERROR' in 'field list'
+mysqltest: At line 1: query 'SELECT ERROR' failed: ER_BAD_FIELD_ERROR (1054): Unknown column 'ERROR' in 'field list'
SELECT 2;
2
2
diff --git a/mysql-test/main/mysqltest_tracking_info.result b/mysql-test/main/mysqltest_tracking_info.result
index 2a58ba430ca..61bb3f2d1e2 100644
--- a/mysql-test/main/mysqltest_tracking_info.result
+++ b/mysql-test/main/mysqltest_tracking_info.result
@@ -7,7 +7,7 @@ SET @@session.session_track_system_variables='character_set_connection';
SET NAMES 'utf8';
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
-- character_set_connection
--- utf8
+-- utf8mb3
SET NAMES 'big5';
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
@@ -18,14 +18,14 @@ SET NAMES 'big5';
SET NAMES 'utf8';
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
-- character_set_connection
--- utf8
+-- utf8mb3
SET NAMES 'big5';
# tracking info on
SET NAMES 'utf8';
-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES
-- character_set_connection
--- utf8
+-- utf8mb3
# tracking info off once
SET NAMES 'big5';
diff --git a/mysql-test/main/mysqltest_tracking_info.test b/mysql-test/main/mysqltest_tracking_info.test
index a3dfbba53c0..2be3e9344b9 100644
--- a/mysql-test/main/mysqltest_tracking_info.test
+++ b/mysql-test/main/mysqltest_tracking_info.test
@@ -84,4 +84,10 @@ SET SESSION session_track_system_variables=NULL;
#--disable_session_track_info
#set @@session.session_track_user_variables=0;
+#--echo #
+#--echo # MDEV-22709 Assertion `store.length() <= (256L*256L*256L-1)' failed in net_send_ok
+#--echo #
+#SET SESSION session_track_user_variables=1;
+#SET @inserted_value=REPEAT(1,16777180); # Only crashes when >=16777180 (max = 16777216)
+
--echo # End of 10.5 tests
diff --git a/mysql-test/main/named_pipe.result b/mysql-test/main/named_pipe.result
index 9fc7abd79f5..2baa3471ec9 100644
--- a/mysql-test/main/named_pipe.result
+++ b/mysql-test/main/named_pipe.result
@@ -2091,10 +2091,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/null.result b/mysql-test/main/null.result
index 73ac958cacd..16a51d2d931 100644
--- a/mysql-test/main/null.result
+++ b/mysql-test/main/null.result
@@ -1660,7 +1660,7 @@ EXPLAIN EXTENDED SELECT NULLIF(a,_utf8'a' COLLATE utf8_bin) IS NULL AS expr FROM
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00
Warnings:
-Note 1003 select (case when convert(`test`.`t1`.`a` using utf8) = _utf8'a' collate utf8_bin then NULL else `test`.`t1`.`a` end) is null AS `expr` from `test`.`t1`
+Note 1003 select (case when convert(`test`.`t1`.`a` using utf8mb3) = _utf8mb3'a' collate utf8mb3_bin then NULL else `test`.`t1`.`a` end) is null AS `expr` from `test`.`t1`
DROP TABLE t1;
#
# MDEV-8740 Wrong result for SELECT..WHERE year_field=10 AND NULLIF(year_field,2011.1)='2011'
diff --git a/mysql-test/main/null.test b/mysql-test/main/null.test
index 403790356ce..4e230f72543 100644
--- a/mysql-test/main/null.test
+++ b/mysql-test/main/null.test
@@ -318,7 +318,9 @@ SELECT NOT NOT NULLIF(2,3);
--echo #
--echo # MDEV-7146 NULLIF returns unexpected result with a YEAR field
--echo #
+--enable_prepare_warnings
CREATE TABLE t1 (a YEAR(2));
+--disable_prepare_warnings
INSERT INTO t1 VALUES (0);
SELECT a,NULLIF(a,2000),NULLIF(2000,a) FROM t1;
SELECT a,NULLIF(a,2001),NULLIF(2001,a) FROM t1;
diff --git a/mysql-test/main/opt_trace.result b/mysql-test/main/opt_trace.result
index 47076cd49f7..044db82b961 100644
--- a/mysql-test/main/opt_trace.result
+++ b/mysql-test/main/opt_trace.result
@@ -154,8 +154,13 @@ select * from v1 {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 1"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = 1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -300,8 +305,13 @@ select * from (select * from t1 where t1.a=1)q {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 1"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = 1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -453,8 +463,13 @@ select * from v2 {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 1"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = 1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -520,7 +535,6 @@ select * from v2 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -658,7 +672,6 @@ explain select * from v2 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -777,7 +790,6 @@ explain select * from v1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -843,7 +855,6 @@ explain select * from v1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -1102,8 +1113,13 @@ explain select * from t1,t2 where t1.a=t2.b+2 and t2.a= t1.b {
"best_join_order": ["t1", "t2"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t2.a = t1.b and t1.a = t2.b + 2"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t2.a = t1.b and t1.a = t2.b + 2",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -1272,7 +1288,6 @@ EXPLAIN SELECT DISTINCT a FROM t1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -1464,8 +1479,13 @@ EXPLAIN SELECT MIN(d) FROM t1 where b=2 and c=3 group by a {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.b = 2 and t1.c = 3"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.b = 2 and t1.c = 3",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -1658,8 +1678,13 @@ EXPLAIN SELECT id,MIN(a),MAX(a) FROM t1 WHERE a>=20010104e0 GROUP BY id {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a >= 20010104e0"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a >= 20010104e0",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -1841,8 +1866,13 @@ EXPLAIN SELECT * FROM t1 WHERE a = 20010104e0 GROUP BY id {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 20010104e0"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = 20010104e0",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -2119,8 +2149,13 @@ explain select * from t1 where a=1 and b=2 order by c limit 1 {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 1 and t1.b = 2"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = 1 and t1.b = 2",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -2283,6 +2318,13 @@ select t1.a from t1 left join t2 on t1.a=t2.a {
"select_id": 1,
"steps": [
{
+ "build_equal_items": {
+ "condition": "ON expr",
+ "attached_to": "t2",
+ "resulting_condition": "multiple equal(t1.a, t2.a)"
+ }
+ },
+ {
"table_dependencies": [
{
"table": "t1",
@@ -2359,12 +2401,17 @@ select t1.a from t1 left join t2 on t1.a=t2.a {
"best_join_order": ["t2", "t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "1"
+ }
+ },
+ {
"condition_on_constant_tables": "1",
"computing_condition": []
},
{
"attaching_conditions_to_tables": {
- "original_condition": "1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -2409,6 +2456,13 @@ explain select * from t1 left join t2 on t2.a=t1.a {
"select_id": 1,
"steps": [
{
+ "build_equal_items": {
+ "condition": "ON expr",
+ "attached_to": "t2",
+ "resulting_condition": "multiple equal(t2.a, t1.a)"
+ }
+ },
+ {
"table_dependencies": [
{
"table": "t1",
@@ -2517,12 +2571,24 @@ explain select * from t1 left join t2 on t2.a=t1.a {
"best_join_order": ["t1", "t2"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "1"
+ }
+ },
+ {
+ "substitute_best_equal": {
+ "condition": "ON expr",
+ "attached_to": "t2",
+ "resulting_condition": "t2.a = t1.a"
+ }
+ },
+ {
"condition_on_constant_tables": "1",
"computing_condition": []
},
{
"attaching_conditions_to_tables": {
- "original_condition": "1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -2570,6 +2636,13 @@ explain select t1.a from t1 left join (t2 join t3 on t2.b=t3.b) on t2.a=t1.a and
"select_id": 1,
"steps": [
{
+ "build_equal_items": {
+ "condition": "ON expr",
+ "attached_to": "t3",
+ "resulting_condition": "multiple equal(t2.a, t1.a, t3.a) and multiple equal(t2.b, t3.b)"
+ }
+ },
+ {
"table_dependencies": [
{
"table": "t1",
@@ -2676,12 +2749,17 @@ explain select t1.a from t1 left join (t2 join t3 on t2.b=t3.b) on t2.a=t1.a and
"best_join_order": ["t3", "t2", "t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "1"
+ }
+ },
+ {
"condition_on_constant_tables": "1",
"computing_condition": []
},
{
"attaching_conditions_to_tables": {
- "original_condition": "1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -2990,12 +3068,17 @@ explain extended select * from t1 where a in (select pk from t10) {
"best_join_order": ["t1", "<subquery2>"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "1"
+ }
+ },
+ {
"condition_on_constant_tables": "1",
"computing_condition": []
},
{
"attaching_conditions_to_tables": {
- "original_condition": "1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -3352,8 +3435,13 @@ explain select * from t1 where pk = 2 and a=5 and b=1 {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.pk = 2 and t1.a = 5 and t1.b = 1"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.pk = 2 and t1.a = 5 and t1.b = 1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -3477,7 +3565,6 @@ select f1(a) from t1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -3575,7 +3662,6 @@ select f2(a) from t1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -3613,7 +3699,7 @@ a
2
select length(trace) from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
length(trace)
-2183
+2141
set optimizer_trace_max_mem_size=100;
select * from t1;
a
@@ -3627,7 +3713,7 @@ select * from t1 {
"join_preparation": {
"select_id": 1,
"steps": [
- 2083 0
+ 2041 0
set optimizer_trace_max_mem_size=0;
select * from t1;
a
@@ -3635,7 +3721,7 @@ a
2
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
QUERY TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE INSUFFICIENT_PRIVILEGES
-select * from t1 2183 0
+select * from t1 2141 0
drop table t1;
set optimizer_trace='enabled=off';
set @@optimizer_trace_max_mem_size= @save_optimizer_trace_max_mem_size;
@@ -4012,6 +4098,7 @@ explain delete t0,t1 from t0, t1 where t0.a=t1.a and t1.a<3 {
{
"access_type": "ref",
"index": "a",
+ "rec_per_key_stats_missing": true,
"used_range_estimates": false,
"cause": "not better than ref estimates",
"rows": 2,
@@ -4043,8 +4130,13 @@ explain delete t0,t1 from t0, t1 where t0.a=t1.a and t1.a<3 {
"best_join_order": ["t0", "t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = t0.a and t0.a < 3"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = t0.a and t0.a < 3",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -4181,7 +4273,6 @@ explain select * from (select rand() from t1)q {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -4247,7 +4338,6 @@ explain select * from (select rand() from t1)q {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -4688,12 +4778,17 @@ explain select * from t1 where a in (select t_inner_1.a from t1 t_inner_1, t1 t_
"best_join_order": ["t1", "<subquery2>"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "1"
+ }
+ },
+ {
"condition_on_constant_tables": "1",
"computing_condition": []
},
{
"attaching_conditions_to_tables": {
- "original_condition": "1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -6258,8 +6353,13 @@ t_outer_2.a in (select t_inner_3.a from t2 t_inner_3, t1 t_inner_4) {
]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t_inner_1.a = t_outer_1.a and t_inner_3.a = t_outer_2.a"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t_inner_1.a = t_outer_1.a and t_inner_3.a = t_outer_2.a",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -7335,12 +7435,17 @@ t_outer_2.a in (select t_inner_3.a from t2 t_inner_3, t1 t_inner_4) {
]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "1"
+ }
+ },
+ {
"condition_on_constant_tables": "1",
"computing_condition": []
},
{
"attaching_conditions_to_tables": {
- "original_condition": "1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -8691,7 +8796,6 @@ select count(*) from seq_1_to_10000000 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -8841,5 +8945,338 @@ json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
]
set in_predicate_conversion_threshold=@tmp;
drop table t0;
+#
# End of 10.5 tests
+#
+#
+# MDEV-23677: Optimizer trace ... (test coverage)
+#
+create table t1(a int, b int, c int, primary key (a,b,c));
+insert into t1 values (0,0,0),(1,1,1),(2,2,2),(3,3,3),(4,4,4);
+create table t2 (a int, b int);
+insert into t2 values (1,1),(2,2);
+create table t3 (a int, b int, c int);
+insert into t3 values (0,0,0),(1,1,1),(2,2,2),(3,3,3),(4,4,4);
+explain select * from t2,t1,t3 where t2.b= t1.b and t1.a=t3.a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using where
+1 SIMPLE t3 ALL NULL NULL NULL NULL 5 Using where; Using join buffer (flat, BNL join)
+1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t3.a,test.t2.b 1 Using index
+set @trace=(select trace from information_schema.optimizer_trace);
+set @path= (select json_search(@trace, 'one', 'no predicate for first keypart'));
+set @sub_path= substr(@path, 2, locate('.best_access_path', @path)-2);
+select @sub_path;
+@sub_path
+$.steps[1].join_optimization.steps[4].considered_execution_plans[0].rest_of_plan[0]
+select
+json_detailed(json_extract(
+@trace,
+concat(@sub_path,'.best_access_path.considered_access_paths[0]')
+)) as S;
+S
+{
+ "access_type": "ref",
+ "index": "PRIMARY",
+ "rows": 1.79769e308,
+ "cost": 1.79769e308,
+ "chosen": false,
+ "cause": "no predicate for first keypart"
+}
+drop table t1,t2,t3;
+#
+# MDEV-23645: Optimizer trace: print conditions after substitute_for_best_equal_field
+#
+create table t1 (a int, b int, c int);
+insert into t1 values (1,1,1),(2,2,2);
+create table t2 as select * from t1;
+insert into t2 select * from t2;
+create table t3 as select * from t2;
+insert into t3 select * from t3;
+# Check how HAVING is printed
+explain
+select
+a,b, count(*)
+from t1
+where a=3
+group by b,b
+having a+b < 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where; Using temporary; Using filesort
+select
+json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+from
+information_schema.optimizer_trace;
+json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+[
+
+ {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 3"
+ },
+
+ {
+ "condition": "HAVING",
+ "resulting_condition": "t1.a + t1.b < 10"
+ }
+]
+# Check ON expression
+explain
+select
+*
+from t1 left join t2 on t2.a=t1.a and t2.a<3
+where
+t1.b > 5555;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where; Using join buffer (flat, BNL join)
+select
+json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+from
+information_schema.optimizer_trace;
+json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+[
+
+ {
+ "condition": "WHERE",
+ "resulting_condition": "t1.b > 5555"
+ },
+
+ {
+ "condition": "ON expr",
+ "attached_to": "t2",
+ "resulting_condition": "t2.a = t1.a and t1.a < 3"
+ }
+]
+# Check nested ON expression
+explain
+select
+*
+from t1 left join (t2,t3) on t2.a=t1.a and t3.a=t2.a and t3.a + t2.a <1000
+where
+t1.b > 5555;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where; Using join buffer (flat, BNL join)
+1 SIMPLE t3 ALL NULL NULL NULL NULL 8 Using where; Using join buffer (incremental, BNL join)
+select
+json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+from
+information_schema.optimizer_trace;
+json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+[
+
+ {
+ "condition": "WHERE",
+ "resulting_condition": "t1.b > 5555"
+ },
+
+ {
+ "condition": "ON expr",
+ "attached_to": "t2",
+ "resulting_condition": "t2.a = t1.a and t3.a = t1.a and t1.a + t1.a < 1000"
+ }
+]
+# The next query is test for:
+# MDEV-23646: Optimizer trace: optimize_cond() should show ON expression processing
+select
+json_detailed(json_extract(trace, '$**.condition_processing'))
+from
+information_schema.optimizer_trace;
+json_detailed(json_extract(trace, '$**.condition_processing'))
+[
+
+ {
+ "condition": "WHERE",
+ "original_condition": "t1.b > 5555",
+ "steps":
+ [
+
+ {
+ "build_equal_items":
+ {
+ "condition": "ON expr",
+ "attached_to": "t3",
+ "resulting_condition": "t3.a + t2.a < 1000 and multiple equal(t2.a, t1.a, t3.a)"
+ }
+ },
+
+ {
+ "transformation": "equality_propagation",
+ "resulting_condition": "t1.b > 5555"
+ },
+
+ {
+ "transformation": "constant_propagation",
+ "resulting_condition": "t1.b > 5555"
+ },
+
+ {
+ "transformation": "trivial_condition_removal",
+ "resulting_condition": "t1.b > 5555"
+ }
+ ]
+ }
+]
+drop table t1,t2,t3;
+#
+# MDEV-24325: Optimizer trace doesn't cover LATERAL DERIVED
+#
+create table t1 (a int, b int, index idx_b(b)) engine=myisam;
+insert into t1 values
+(8,3), (5,7), (1,2), (2,1), (9,7), (7,5), (2,2), (7,3),
+(9,3), (8,1), (4,5), (2,3);
+create table t2 (a int, b int, c char(127), index idx_a(a)) engine=myisam;
+insert into t2 values
+(7,10,'x'), (1,20,'a'), (2,23,'b'), (7,18,'z'), (1,30,'c'),
+(4,71,'d'), (3,15,'x'), (7,82,'y'), (8,12,'t'), (4,15,'b'),
+(11,33,'a'), (10,42,'u'), (4,53,'p'), (10,17,'r'), (2,90,'x'),
+(17,10,'s'), (11,20,'v'), (12,23,'y'), (17,18,'a'), (11,30,'d'),
+(24,71,'h'), (23,15,'i'), (27,82,'k'), (28,12,'p'), (24,15,'q'),
+(31,33,'f'), (30,42,'h'), (40,53,'m'), (30,17,'o'), (21,90,'b'),
+(37,10,'e'), (31,20,'g'), (32,23,'f'), (37,18,'n'), (41,30,'l'),
+(54,71,'j'), (53,15,'w'), (57,82,'z'), (58,12,'k'), (54,15,'p'),
+(61,33,'c'), (60,42,'a'), (62,53,'x'), (67,17,'g'), (64,90,'v');
+insert into t2 select a+10, b+10, concat(c,'f') from t2;
+analyze table t1,t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+explain
+select t1.a,t.s,t.m
+from t1 join
+(select a, sum(t2.b) as s, min(t2.c) as m from t2 group by t2.a) t
+on t1.a=t.a
+where t1.b < 3;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 range idx_b idx_b 5 NULL 4 Using index condition; Using where
+1 PRIMARY <derived2> ref key0 key0 5 test.t1.a 2
+2 LATERAL DERIVED t2 ref idx_a idx_a 5 test.t1.a 1
+select
+json_detailed(json_extract(trace, '$**.choose_best_splitting'))
+from
+information_schema.optimizer_trace;
+json_detailed(json_extract(trace, '$**.choose_best_splitting'))
+[
+
+ [
+
+ {
+ "considered_execution_plans":
+ [
+
+ {
+ "plan_prefix":
+ [
+ ],
+ "table": "t2",
+ "best_access_path":
+ {
+ "considered_access_paths":
+ [
+
+ {
+ "access_type": "ref",
+ "index": "idx_a",
+ "used_range_estimates": false,
+ "cause": "not available",
+ "rows": 1.8367,
+ "cost": 2.000585794,
+ "chosen": true
+ },
+
+ {
+ "type": "scan",
+ "chosen": false,
+ "cause": "cost"
+ }
+ ],
+ "chosen_access_method":
+ {
+ "type": "ref",
+ "records": 1.8367,
+ "cost": 2.000585794,
+ "uses_join_buffering": false
+ }
+ },
+ "rows_for_plan": 1.8367,
+ "cost_for_plan": 2.367925794,
+ "cost_for_sorting": 1.8367,
+ "estimated_join_cardinality": 1.8367
+ }
+ ]
+ },
+
+ {
+ "best_splitting":
+ {
+ "table": "t2",
+ "key": "idx_a",
+ "record_count": 4,
+ "cost": 2.488945919,
+ "unsplit_cost": 25.72361682
+ }
+ }
+ ]
+]
+select
+json_detailed(json_extract(trace, '$**.lateral_derived'))
+from
+information_schema.optimizer_trace;
+json_detailed(json_extract(trace, '$**.lateral_derived'))
+[
+
+ {
+ "startup_cost": 9.955783677,
+ "splitting_cost": 2.488945919,
+ "records": 1
+ }
+]
+drop table t1,t2;
+#
+# Test table functions.
+#
+CREATE TABLE t1(id INT, f1 JSON);
+INSERT INTO t1 VALUES (1, '{\"1\": 1}'), (2, '{\"1\": 2}'), (3, '{\"1\": 3}'),
+(4, '{\"1\": 4}'), (5, '{\"1\": 5}'), (6, '{\"1\": 6}');
+SELECT * FROM t1 WHERE id IN
+(SELECT id FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
+id f1
+1 {"1": 1}
+2 {"1": 2}
+3 {"1": 3}
+4 {"1": 4}
+5 {"1": 5}
+6 {"1": 6}
+select json_detailed(json_extract(trace, '$**.best_join_order'))
+from information_schema.OPTIMIZER_TRACE;
+json_detailed(json_extract(trace, '$**.best_join_order'))
+[
+
+ [
+ "t1",
+ "<subquery2>"
+ ]
+]
+DROP TABLE t1;
+#
+# MDEV-27306: SET STATEMENT optimizer_trace=1 Doesn't save the trace
+#
+set optimizer_trace=0;
+set statement optimizer_trace=1 for select * from seq_1_to_10 where seq<2;
+seq
+1
+# The trace must not be empty:
+select left(trace, 100) from information_schema.optimizer_trace;
+left(trace, 100)
+{
+ "steps": [
+ {
+ "join_preparation": {
+ "select_id": 1,
+ "steps": [
+
+# End of 10.6 tests
set optimizer_trace='enabled=off';
diff --git a/mysql-test/main/opt_trace.test b/mysql-test/main/opt_trace.test
index b82357b6468..b689c80db1e 100644
--- a/mysql-test/main/opt_trace.test
+++ b/mysql-test/main/opt_trace.test
@@ -47,6 +47,8 @@ ANALYZE TABLE t2;
create view v1 as select a from t1 group by b;
create view v2 as select a from t2;
+# MDEV-27421 ./mtr --ps-protocol main.opt_trace fails to produce some traces
+--disable_ps_protocol
--echo # Mergeable view
--optimizer_trace
explain select * from v2 ;
@@ -54,6 +56,7 @@ explain select * from v2 ;
--echo # Non-Mergeable view
--optimizer_trace
explain select * from v1 ;
+--enable_ps_protocol
drop table t1,t2;
drop view v1,v2;
@@ -263,12 +266,14 @@ begin
return a;
end|
+--enable_prepare_warnings
create function f2(a int) returns int
begin
declare a int default 0;
select count(*) from t2 into a;
return a;
end|
+--disable_prepare_warnings
delimiter ;|
set optimizer_trace='enabled=on';
@@ -715,5 +720,171 @@ from information_schema.optimizer_trace;
set in_predicate_conversion_threshold=@tmp;
drop table t0;
+--echo #
--echo # End of 10.5 tests
+--echo #
+
+--echo #
+--echo # MDEV-23677: Optimizer trace ... (test coverage)
+--echo #
+create table t1(a int, b int, c int, primary key (a,b,c));
+insert into t1 values (0,0,0),(1,1,1),(2,2,2),(3,3,3),(4,4,4);
+
+create table t2 (a int, b int);
+insert into t2 values (1,1),(2,2);
+
+create table t3 (a int, b int, c int);
+insert into t3 values (0,0,0),(1,1,1),(2,2,2),(3,3,3),(4,4,4);
+
+explain select * from t2,t1,t3 where t2.b= t1.b and t1.a=t3.a;
+
+set @trace=(select trace from information_schema.optimizer_trace);
+set @path= (select json_search(@trace, 'one', 'no predicate for first keypart'));
+set @sub_path= substr(@path, 2, locate('.best_access_path', @path)-2);
+
+select @sub_path;
+select
+ json_detailed(json_extract(
+ @trace,
+ concat(@sub_path,'.best_access_path.considered_access_paths[0]')
+ )) as S;
+
+drop table t1,t2,t3;
+
+--echo #
+--echo # MDEV-23645: Optimizer trace: print conditions after substitute_for_best_equal_field
+--echo #
+create table t1 (a int, b int, c int);
+insert into t1 values (1,1,1),(2,2,2);
+
+create table t2 as select * from t1;
+insert into t2 select * from t2;
+
+create table t3 as select * from t2;
+insert into t3 select * from t3;
+
+--echo # Check how HAVING is printed
+explain
+select
+ a,b, count(*)
+from t1
+where a=3
+group by b,b
+having a+b < 10;
+
+select
+ json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+from
+ information_schema.optimizer_trace;
+
+--echo # Check ON expression
+explain
+select
+ *
+from t1 left join t2 on t2.a=t1.a and t2.a<3
+where
+ t1.b > 5555;
+
+select
+ json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+from
+ information_schema.optimizer_trace;
+
+--echo # Check nested ON expression
+explain
+select
+ *
+from t1 left join (t2,t3) on t2.a=t1.a and t3.a=t2.a and t3.a + t2.a <1000
+where
+ t1.b > 5555;
+
+select
+ json_detailed(json_extract(trace, '$**.substitute_best_equal'))
+from
+ information_schema.optimizer_trace;
+
+--echo # The next query is test for:
+--echo # MDEV-23646: Optimizer trace: optimize_cond() should show ON expression processing
+select
+ json_detailed(json_extract(trace, '$**.condition_processing'))
+from
+ information_schema.optimizer_trace;
+
+drop table t1,t2,t3;
+
+
+--echo #
+--echo # MDEV-24325: Optimizer trace doesn't cover LATERAL DERIVED
+--echo #
+create table t1 (a int, b int, index idx_b(b)) engine=myisam;
+insert into t1 values
+(8,3), (5,7), (1,2), (2,1), (9,7), (7,5), (2,2), (7,3),
+(9,3), (8,1), (4,5), (2,3);
+
+create table t2 (a int, b int, c char(127), index idx_a(a)) engine=myisam;
+insert into t2 values
+ (7,10,'x'), (1,20,'a'), (2,23,'b'), (7,18,'z'), (1,30,'c'),
+ (4,71,'d'), (3,15,'x'), (7,82,'y'), (8,12,'t'), (4,15,'b'),
+ (11,33,'a'), (10,42,'u'), (4,53,'p'), (10,17,'r'), (2,90,'x'),
+ (17,10,'s'), (11,20,'v'), (12,23,'y'), (17,18,'a'), (11,30,'d'),
+ (24,71,'h'), (23,15,'i'), (27,82,'k'), (28,12,'p'), (24,15,'q'),
+ (31,33,'f'), (30,42,'h'), (40,53,'m'), (30,17,'o'), (21,90,'b'),
+ (37,10,'e'), (31,20,'g'), (32,23,'f'), (37,18,'n'), (41,30,'l'),
+ (54,71,'j'), (53,15,'w'), (57,82,'z'), (58,12,'k'), (54,15,'p'),
+ (61,33,'c'), (60,42,'a'), (62,53,'x'), (67,17,'g'), (64,90,'v');
+
+insert into t2 select a+10, b+10, concat(c,'f') from t2;
+
+analyze table t1,t2;
+
+explain
+select t1.a,t.s,t.m
+from t1 join
+ (select a, sum(t2.b) as s, min(t2.c) as m from t2 group by t2.a) t
+ on t1.a=t.a
+where t1.b < 3;
+
+#
+# Just show that choose_best_splitting function has coverage in the
+# optimizer trace and re-optmization of child select inside it is distinct
+# from the rest of join optimization.
+select
+ json_detailed(json_extract(trace, '$**.choose_best_splitting'))
+from
+ information_schema.optimizer_trace;
+
+# Same as above. just to show that splitting plan has some coverage in the
+# trace.
+select
+ json_detailed(json_extract(trace, '$**.lateral_derived'))
+from
+ information_schema.optimizer_trace;
+
+drop table t1,t2;
+
+--echo #
+--echo # Test table functions.
+--echo #
+
+CREATE TABLE t1(id INT, f1 JSON);
+INSERT INTO t1 VALUES (1, '{\"1\": 1}'), (2, '{\"1\": 2}'), (3, '{\"1\": 3}'),
+ (4, '{\"1\": 4}'), (5, '{\"1\": 5}'), (6, '{\"1\": 6}');
+
+SELECT * FROM t1 WHERE id IN
+ (SELECT id FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
+
+select json_detailed(json_extract(trace, '$**.best_join_order'))
+ from information_schema.OPTIMIZER_TRACE;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-27306: SET STATEMENT optimizer_trace=1 Doesn't save the trace
+--echo #
+set optimizer_trace=0;
+set statement optimizer_trace=1 for select * from seq_1_to_10 where seq<2;
+--echo # The trace must not be empty:
+select left(trace, 100) from information_schema.optimizer_trace;
+
+--echo # End of 10.6 tests
set optimizer_trace='enabled=off';
diff --git a/mysql-test/main/opt_trace_index_merge.result b/mysql-test/main/opt_trace_index_merge.result
index 3b79a7a44e8..f1e13586eda 100644
--- a/mysql-test/main/opt_trace_index_merge.result
+++ b/mysql-test/main/opt_trace_index_merge.result
@@ -230,8 +230,13 @@ explain select * from t1 where a=1 or b=1 {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.a = 1 or t1.b = 1"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.a = 1 or t1.b = 1",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
diff --git a/mysql-test/main/opt_trace_index_merge_innodb.result b/mysql-test/main/opt_trace_index_merge_innodb.result
index 1a891e3830d..fbc7faa0d04 100644
--- a/mysql-test/main/opt_trace_index_merge_innodb.result
+++ b/mysql-test/main/opt_trace_index_merge_innodb.result
@@ -235,8 +235,13 @@ explain select * from t1 where pk1 != 0 and key1 = 1 {
"best_join_order": ["t1"]
},
{
+ "substitute_best_equal": {
+ "condition": "WHERE",
+ "resulting_condition": "t1.key1 = 1 and t1.pk1 <> 0"
+ }
+ },
+ {
"attaching_conditions_to_tables": {
- "original_condition": "t1.key1 = 1 and t1.pk1 <> 0",
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
diff --git a/mysql-test/main/opt_trace_security.result b/mysql-test/main/opt_trace_security.result
index 2c09f6c7d5a..e1937e744a4 100644
--- a/mysql-test/main/opt_trace_security.result
+++ b/mysql-test/main/opt_trace_security.result
@@ -117,7 +117,6 @@ select * from db1.t1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
@@ -240,7 +239,6 @@ select * from db1.v1 {
},
{
"attaching_conditions_to_tables": {
- "original_condition": null,
"attached_conditions_computation": [],
"attached_conditions_summary": [
{
diff --git a/mysql-test/main/order_by.result b/mysql-test/main/order_by.result
index 9dcd8b9e5b1..5f56201af9c 100644
--- a/mysql-test/main/order_by.result
+++ b/mysql-test/main/order_by.result
@@ -3495,7 +3495,7 @@ WHERE books.library_id = 8663 AND
books.scheduled_for_removal=0 )
ORDER BY wings.id;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 PRIMARY <subquery2> ALL distinct_key NULL NULL NULL 2 100.00 Using temporary; Using filesort
+1 PRIMARY <subquery2> ALL distinct_key NULL NULL NULL 2 100.00 Using filesort
1 PRIMARY wings eq_ref PRIMARY PRIMARY 4 test.books.wings_id 1 100.00
2 MATERIALIZED books ref library_idx library_idx 4 const 2 100.00 Using where
Warnings:
@@ -4341,3 +4341,140 @@ SELECT (SELECT sum(t2.b) FROM t2 WHERE t1.b=t2.b GROUP BY t2.a) FROM t1;
set sort_buffer_size= @save_sort_buffer_size;
DROP TABLE t1,t2;
# End of 10.5 tests
+#
+# MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
+#
+CREATE TABLE t1 (a INT, b int, primary key(a));
+CREATE TABLE t2 (a INT, b INT);
+INSERT INTO t1 (a,b) VALUES (58,1),(96,2),(273,3),(23,4),(231,5),(525,6),
+(2354,7),(321421,3),(535,2),(4535,3);
+INSERT INTO t2 (a,b) VALUES (58,3),(96,3),(273,3);
+# Join order should have the SJM scan table as the first table for both
+# the queries with GROUP BY and ORDER BY clause.
+EXPLAIN SELECT t1.a
+FROM t1
+WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+ORDER BY t1.a DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY <subquery2> ALL distinct_key NULL NULL NULL 3 Using filesort
+1 PRIMARY t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1 Using index
+2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 Using where
+EXPLAIN FORMAT=JSON SELECT t1.a
+FROM t1
+WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+ORDER BY t1.a DESC;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "read_sorted_file": {
+ "filesort": {
+ "sort_key": "t1.a desc",
+ "table": {
+ "table_name": "<subquery2>",
+ "access_type": "ALL",
+ "possible_keys": ["distinct_key"],
+ "rows": 3,
+ "filtered": 100,
+ "materialized": {
+ "unique": 1,
+ "query_block": {
+ "select_id": 2,
+ "table": {
+ "table_name": "t2",
+ "access_type": "ALL",
+ "rows": 3,
+ "filtered": 100,
+ "attached_condition": "t2.b = 3 and t2.a is not null"
+ }
+ }
+ }
+ }
+ }
+ },
+ "table": {
+ "table_name": "t1",
+ "access_type": "eq_ref",
+ "possible_keys": ["PRIMARY"],
+ "key": "PRIMARY",
+ "key_length": "4",
+ "used_key_parts": ["a"],
+ "ref": ["test.t2.a"],
+ "rows": 1,
+ "filtered": 100,
+ "using_index": true
+ }
+ }
+}
+SELECT t1.a
+FROM t1
+WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+ORDER BY t1.a DESC;
+a
+273
+96
+58
+EXPLAIN SELECT t1.a, group_concat(t1.b)
+FROM t1
+WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+GROUP BY t1.a DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY <subquery2> ALL distinct_key NULL NULL NULL 3 Using filesort
+1 PRIMARY t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
+2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 Using where
+EXPLAIN FORMAT=JSON SELECT t1.a, group_concat(t1.b)
+FROM t1
+WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+GROUP BY t1.a DESC;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "read_sorted_file": {
+ "filesort": {
+ "sort_key": "t1.a desc",
+ "table": {
+ "table_name": "<subquery2>",
+ "access_type": "ALL",
+ "possible_keys": ["distinct_key"],
+ "rows": 3,
+ "filtered": 100,
+ "materialized": {
+ "unique": 1,
+ "query_block": {
+ "select_id": 2,
+ "table": {
+ "table_name": "t2",
+ "access_type": "ALL",
+ "rows": 3,
+ "filtered": 100,
+ "attached_condition": "t2.b = 3 and t2.a is not null"
+ }
+ }
+ }
+ }
+ }
+ },
+ "table": {
+ "table_name": "t1",
+ "access_type": "eq_ref",
+ "possible_keys": ["PRIMARY"],
+ "key": "PRIMARY",
+ "key_length": "4",
+ "used_key_parts": ["a"],
+ "ref": ["test.t2.a"],
+ "rows": 1,
+ "filtered": 100
+ }
+ }
+}
+SELECT t1.a, group_concat(t1.b)
+FROM t1
+WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+GROUP BY t1.a DESC;
+a group_concat(t1.b)
+273 3
+96 2
+58 1
+DROP TABLE t1, t2;
+# End of 10.6 tests
diff --git a/mysql-test/main/order_by.test b/mysql-test/main/order_by.test
index 9791d6ee96c..cf1e8cbd0dd 100644
--- a/mysql-test/main/order_by.test
+++ b/mysql-test/main/order_by.test
@@ -2662,3 +2662,38 @@ SELECT (SELECT sum(t2.b) FROM t2 WHERE t1.b=t2.b GROUP BY t2.a) FROM t1;
set sort_buffer_size= @save_sort_buffer_size;
DROP TABLE t1,t2;
--echo # End of 10.5 tests
+
+--echo #
+--echo # MDEV-13694: Wrong result upon GROUP BY with orderby_uses_equalities=on
+--echo #
+
+CREATE TABLE t1 (a INT, b int, primary key(a));
+CREATE TABLE t2 (a INT, b INT);
+
+INSERT INTO t1 (a,b) VALUES (58,1),(96,2),(273,3),(23,4),(231,5),(525,6),
+ (2354,7),(321421,3),(535,2),(4535,3);
+INSERT INTO t2 (a,b) VALUES (58,3),(96,3),(273,3);
+
+--echo # Join order should have the SJM scan table as the first table for both
+--echo # the queries with GROUP BY and ORDER BY clause.
+
+let $query= SELECT t1.a
+ FROM t1
+ WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+ ORDER BY t1.a DESC;
+
+eval EXPLAIN $query;
+eval EXPLAIN FORMAT=JSON $query;
+eval $query;
+
+let $query= SELECT t1.a, group_concat(t1.b)
+ FROM t1
+ WHERE t1.a IN (SELECT a FROM t2 WHERE b=3)
+ GROUP BY t1.a DESC;
+
+eval EXPLAIN $query;
+eval EXPLAIN FORMAT=JSON $query;
+eval $query;
+DROP TABLE t1, t2;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/main/order_by_optimizer_innodb.result b/mysql-test/main/order_by_optimizer_innodb.result
index 0b62ba997d8..cbb5551b7cf 100644
--- a/mysql-test/main/order_by_optimizer_innodb.result
+++ b/mysql-test/main/order_by_optimizer_innodb.result
@@ -1,4 +1,5 @@
-drop table if exists t0,t1,t2,t3;
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=OFF;
#
# MDEV-6402: Optimizer doesn't choose best execution plan when composite key is used
#
@@ -96,3 +97,4 @@ ORDER BY pk2 DESC LIMIT 21;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref key1 key1 55 const,const 1 Using where; Using index
drop table t1, t2;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/order_by_optimizer_innodb.test b/mysql-test/main/order_by_optimizer_innodb.test
index 90430d11549..33f67e522ad 100644
--- a/mysql-test/main/order_by_optimizer_innodb.test
+++ b/mysql-test/main/order_by_optimizer_innodb.test
@@ -1,8 +1,7 @@
--source include/have_innodb.inc
---disable_warnings
-drop table if exists t0,t1,t2,t3;
---enable_warnings
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=OFF;
--echo #
--echo # MDEV-6402: Optimizer doesn't choose best execution plan when composite key is used
@@ -96,3 +95,4 @@ ORDER BY pk2 DESC LIMIT 21;
drop table t1, t2;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/outfile_loaddata.test b/mysql-test/main/outfile_loaddata.test
index 745c75cb4de..85e26ac7b4e 100644
--- a/mysql-test/main/outfile_loaddata.test
+++ b/mysql-test/main/outfile_loaddata.test
@@ -2,6 +2,8 @@
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
+--enable_prepare_warnings
+
--echo #
--echo # Bug#31663 FIELDS TERMINATED BY special character
--echo #
@@ -289,6 +291,6 @@ SELECT LENGTH(a) FROM t2;
DROP TABLE t1, t2;
-
+--disable_prepare_warnings
###########################################################################
--echo # End of 5.1 tests.
diff --git a/mysql-test/main/parser.result b/mysql-test/main/parser.result
index 54d1e6cbf9b..0a640d6c7ac 100644
--- a/mysql-test/main/parser.result
+++ b/mysql-test/main/parser.result
@@ -109,7 +109,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
create table SUM (a int);
drop table SUM;
create table SYSDATE(a int);
-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 'SYSDATE(a int)' at line 1
+DROP TABLE SYSDATE;
create table SYSDATE (a int);
drop table SYSDATE;
create table SYSTEM_USER(a int);
@@ -246,9 +246,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
create table SUM (a int);
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 'SUM (a int)' at line 1
create table SYSDATE(a int);
-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 'SYSDATE(a int)' at line 1
+DROP TABLE SYSDATE;
create table SYSDATE (a int);
-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 'SYSDATE (a int)' at line 1
+DROP TABLE SYSDATE;
create table SYSTEM_USER(a int);
drop table SYSTEM_USER;
create table SYSTEM_USER (a int);
@@ -2178,3 +2178,67 @@ ERROR HY000: Unknown data type: 'ACTION'
#
# End of 10.5 tests
#
+#
+# Start of 10.6 tests
+#
+#
+# MDEV-25510 Assertion `sel->select_lock ==
+# st_select_lex::select_lock_type::NONE' failed in Lex_select_lock::set_to
+#
+(SELECT x FROM t WINDOW w1 AS () FOR UPDATE) LIMIT 1;
+ERROR 42S02: Table 'test.t' doesn't exist
+create table t1 (x int);
+insert into t1 values (1),(2);
+explain extended (SELECT x FROM t1 WINDOW w1 as () FOR UPDATE) LIMIT 1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00
+Warnings:
+Note 1003 (select `test`.`t1`.`x` AS `x` from `test`.`t1` limit 1)
+explain extended (SELECT x FROM t1 FOR UPDATE) LIMIT 1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00
+Warnings:
+Note 1003 (select `test`.`t1`.`x` AS `x` from `test`.`t1` limit 1)
+drop table t1;
+#
+# MDEV-19682 sql_mode="oracle" does not support sysdate
+#
+SELECT sysdate LIKE '____-__-__ __:__:__';
+ERROR 42S22: Unknown column 'sysdate' in 'field list'
+SELECT sysdate = sysdate();
+ERROR 42S22: Unknown column 'sysdate' in 'field list'
+SELECT sysdate = sysdate(0);
+ERROR 42S22: Unknown column 'sysdate' in 'field list'
+CREATE DATABASE sysdate;
+DROP DATABASE sysdate;
+CREATE TABLE sysdate (a INT);
+DROP TABLE sysdate;
+CREATE TABLE t1 (sysdate INT);
+DROP TABLE t1;
+CREATE FUNCTION sysdate() RETURNS INT
+BEGIN
+RETURN 1;
+END;
+$$
+Warnings:
+Note 1585 This function 'sysdate' has the same name as a native function
+DROP FUNCTION sysdate;
+BEGIN NOT ATOMIC
+DECLARE sysdate INT DEFAULT 10;
+SELECT sysdate;
+END;
+$$
+sysdate
+10
+BEGIN NOT ATOMIC
+DECLARE a INT DEFAULT 0;
+sysdate:
+WHILE a DO
+SELECT 1;
+LEAVE sysdate;
+END WHILE ;
+END;
+$$
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/parser.test b/mysql-test/main/parser.test
index 6ce87e80174..6271577c614 100644
--- a/mysql-test/main/parser.test
+++ b/mysql-test/main/parser.test
@@ -158,8 +158,8 @@ create table SUM(a int);
create table SUM (a int);
drop table SUM;
---error ER_PARSE_ERROR
create table SYSDATE(a int);
+DROP TABLE SYSDATE;
create table SYSDATE (a int);
drop table SYSDATE;
@@ -332,10 +332,10 @@ create table SUM(a int);
--error ER_PARSE_ERROR
create table SUM (a int);
---error ER_PARSE_ERROR
create table SYSDATE(a int);
---error ER_PARSE_ERROR
+DROP TABLE SYSDATE;
create table SYSDATE (a int);
+DROP TABLE SYSDATE;
create table SYSTEM_USER(a int);
drop table SYSTEM_USER;
@@ -885,6 +885,7 @@ SELECT 1 FROM t1 UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1 FOR UPDATE;
--echo # "INTO" clause tests
+--enable_prepare_warnings
SELECT 1 FROM t1 INTO @var17727401;
SELECT 1 FROM DUAL INTO @var17727401;
SELECT 1 INTO @var17727401;
@@ -924,6 +925,7 @@ SELECT 1 FROM t1 INTO @var17727401 UNION SELECT 1 FROM t1 INTO t1;
SELECT 1 FROM t1 UNION SELECT 1 FROM t1 INTO @var17727401;
+--disable_prepare_warnings
--error ER_PARSE_ERROR
SELECT 1 INTO @var17727401 FROM t1 PROCEDURE ANALYSE();
@@ -1405,6 +1407,7 @@ DROP TABLE scientific_notation;
--echo #
--echo # MDEV-6899 extra semicolon in show create event syntax
--echo #
+--disable_ps_protocol
set timestamp=unix_timestamp('2020-10-10 5:5:5');
create table t1 (a int);
delimiter $;
@@ -1425,6 +1428,7 @@ delimiter ;$
query_vertical show create function a;
drop function a;
set timestamp=default;
+--enable_ps_protocol
--echo #
--echo # End of 10.2 tests
@@ -1953,3 +1957,76 @@ SELECT CAST(1 AS ACTION);
--echo #
--echo # End of 10.5 tests
--echo #
+
+--echo #
+--echo # Start of 10.6 tests
+--echo #
+
+--echo #
+--echo # MDEV-25510 Assertion `sel->select_lock ==
+--echo # st_select_lex::select_lock_type::NONE' failed in Lex_select_lock::set_to
+--echo #
+
+--error ER_NO_SUCH_TABLE
+(SELECT x FROM t WINDOW w1 AS () FOR UPDATE) LIMIT 1;
+create table t1 (x int);
+insert into t1 values (1),(2);
+explain extended (SELECT x FROM t1 WINDOW w1 as () FOR UPDATE) LIMIT 1;
+explain extended (SELECT x FROM t1 FOR UPDATE) LIMIT 1;
+drop table t1;
+--echo #
+--echo # MDEV-19682 sql_mode="oracle" does not support sysdate
+--echo #
+
+--enable_prepare_warnings
+
+--error ER_BAD_FIELD_ERROR
+SELECT sysdate LIKE '____-__-__ __:__:__';
+--error ER_BAD_FIELD_ERROR
+SELECT sysdate = sysdate();
+--error ER_BAD_FIELD_ERROR
+SELECT sysdate = sysdate(0);
+
+CREATE DATABASE sysdate;
+DROP DATABASE sysdate;
+
+CREATE TABLE sysdate (a INT);
+DROP TABLE sysdate;
+
+CREATE TABLE t1 (sysdate INT);
+DROP TABLE t1;
+
+DELIMITER $$;
+CREATE FUNCTION sysdate() RETURNS INT
+BEGIN
+ RETURN 1;
+END;
+$$
+DELIMITER ;$$
+DROP FUNCTION sysdate;
+
+DELIMITER $$;
+BEGIN NOT ATOMIC
+ DECLARE sysdate INT DEFAULT 10;
+ SELECT sysdate;
+END;
+$$
+DELIMITER ;$$
+
+DELIMITER $$;
+BEGIN NOT ATOMIC
+ DECLARE a INT DEFAULT 0;
+sysdate:
+ WHILE a DO
+ SELECT 1;
+ LEAVE sysdate;
+ END WHILE ;
+END;
+$$
+DELIMITER ;$$
+
+--disable_prepare_warnings
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/parser_not_embedded.test b/mysql-test/main/parser_not_embedded.test
index 270573ece93..0208ee57a2e 100644
--- a/mysql-test/main/parser_not_embedded.test
+++ b/mysql-test/main/parser_not_embedded.test
@@ -103,6 +103,7 @@ ROLLBACK AND NO CHAIN NO RELEASE;
--echo #
--echo # MDEV-6899 extra semicolon in show create event syntax
--echo #
+--disable_ps_protocol
set timestamp=unix_timestamp('2020-10-10 5:5:5');
delimiter $;
create event a on schedule every 1 day do set @a:=1;select 2$
@@ -110,6 +111,7 @@ delimiter ;$
query_vertical show create event a;
drop event a;
set timestamp=default;
+--enable_ps_protocol
--echo #
--echo # End of 10.2 tests
diff --git a/mysql-test/main/parser_stack.test b/mysql-test/main/parser_stack.test
index 8bc316da18e..5d53ff98902 100644
--- a/mysql-test/main/parser_stack.test
+++ b/mysql-test/main/parser_stack.test
@@ -1,3 +1,7 @@
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Test temporarily disabled for ps-protocol
+}
#
# These tests are designed to cause an internal parser stack overflow,
# and trigger my_yyoverflow().
diff --git a/mysql-test/main/partition.result b/mysql-test/main/partition.result
index 373522ded40..109e6b8993a 100644
--- a/mysql-test/main/partition.result
+++ b/mysql-test/main/partition.result
@@ -282,15 +282,15 @@ partition by list (a)
partition p1 values in (2));
insert into t1 values (1,1),(2,1),(2,2),(2,3);
show indexes 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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show indexes 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 A 2 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
drop table t1;
create table t1 (a int)
partition by hash (a);
diff --git a/mysql-test/main/partition.test b/mysql-test/main/partition.test
index 5d5dafdb206..5f4c5f659ca 100644
--- a/mysql-test/main/partition.test
+++ b/mysql-test/main/partition.test
@@ -350,10 +350,12 @@ ENGINE=Memory;
ALTER TABLE t1 ENGINE=NonExistentEngine;
# OK to only specify one partitions engine, since it is already assigned at
# table level (after create, it is specified on all levels and all parts).
+--enable_prepare_warnings
ALTER TABLE t1
PARTITION BY HASH (a)
(PARTITION p0 ENGINE=Memory,
PARTITION p1 ENGINE=NonExistentEngine);
+--disable_prepare_warnings
ALTER TABLE t1 ENGINE=NonExistentEngine;
SHOW CREATE TABLE t1;
DROP TABLE t1;
diff --git a/mysql-test/main/partition_alter.test b/mysql-test/main/partition_alter.test
index cca25d0989f..804b43dc3c2 100644
--- a/mysql-test/main/partition_alter.test
+++ b/mysql-test/main/partition_alter.test
@@ -86,11 +86,7 @@ show create table t1;
--error ER_CONSTRAINT_FAILED
insert t1 values (2, '2020-01-03', 20);
drop table t1;
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $datadir.files.txt $datadir/test
---replace_regex $regexp
---cat_file $datadir.files.txt
---remove_file $datadir.files.txt
+--list_files $datadir/test
# MyISAM, different execution path
create table t1(id int, d date not null, b bool not null default 0, primary key(id,d))
@@ -106,10 +102,7 @@ show create table t1;
--error ER_CONSTRAINT_FAILED
insert t1 values (2, '2020-01-03', 20);
drop table t1;
---list_files_write_file $datadir.files.txt $datadir/test
---replace_regex $regexp
---cat_file $datadir.files.txt
---remove_file $datadir.files.txt
+--list_files $datadir/test
#
# MDEV-13097 Online alter of a partitioned MyISAM table with auto_increment
diff --git a/mysql-test/main/partition_exchange.test b/mysql-test/main/partition_exchange.test
index cb33b8dd857..e996866b1f9 100644
--- a/mysql-test/main/partition_exchange.test
+++ b/mysql-test/main/partition_exchange.test
@@ -5,6 +5,7 @@
DROP TABLE IF EXISTS t1, t2, t3, t, tp, tsp, tmp;
--enable_warnings
+--enable_prepare_warnings
--echo #
--echo # Bug#11894100: EXCHANGE PARTITION CAN'T BE EXECUTED IF
--echo # ROW_FORMAT WAS SET EXPLICITLY
@@ -536,3 +537,4 @@ ALTER TABLE t2 REMOVE PARTITIONING;
ALTER TABLE t1 EXCHANGE PARTITION pm WITH TABLE t2;
DROP TABLE t1, t2;
+--disable_prepare_warnings
diff --git a/mysql-test/main/partition_explicit_prune.test b/mysql-test/main/partition_explicit_prune.test
index fdbbcadd8cb..4dc3275394f 100644
--- a/mysql-test/main/partition_explicit_prune.test
+++ b/mysql-test/main/partition_explicit_prune.test
@@ -355,7 +355,9 @@ eval $get_handler_status_counts;
--echo #
SELECT * FROM t1 PARTITION (pNeg, `p10-99`);
FLUSH STATUS;
+--enable_prepare_warnings
SELECT * FROM t1 PARTITION (pNeg, `p10-99`) INTO OUTFILE 'loadtest.txt';
+--disable_prepare_warnings
eval $get_handler_status_counts;
--echo # 1 commit
--echo # 10 locks (1 ha_partition + 4 ha_innobase) x 2 (lock/unlock)
diff --git a/mysql-test/main/partition_innodb.result b/mysql-test/main/partition_innodb.result
index 67829fd46d9..f5b2e4b3fcd 100644
--- a/mysql-test/main/partition_innodb.result
+++ b/mysql-test/main/partition_innodb.result
@@ -81,9 +81,6 @@ DROP TABLE t1;
# Bug#54747: Deadlock between REORGANIZE PARTITION and
# SELECT is not detected
#
-SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency;
-SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay;
-SET GLOBAL innodb_thread_concurrency = 1;
CREATE TABLE t1
(user_num BIGINT,
hours SMALLINT,
@@ -116,8 +113,6 @@ connection con1;
# Cleaning up.
disconnect con1;
connection default;
-SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency;
-SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay;
DROP TABLE t1;
#
# Bug#50418: DROP PARTITION does not interact with transactions
diff --git a/mysql-test/main/partition_innodb.test b/mysql-test/main/partition_innodb.test
index cdf4e257e70..26c7c0783f3 100644
--- a/mysql-test/main/partition_innodb.test
+++ b/mysql-test/main/partition_innodb.test
@@ -95,10 +95,6 @@ DROP TABLE t1;
--echo # SELECT is not detected
--echo #
-SET @old_innodb_thread_concurrency := @@innodb_thread_concurrency;
-SET @old_innodb_thread_sleep_delay := @@innodb_thread_sleep_delay;
-SET GLOBAL innodb_thread_concurrency = 1;
-
CREATE TABLE t1
(user_num BIGINT,
hours SMALLINT,
@@ -143,8 +139,6 @@ COMMIT;
--connection default
-SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency;
-SET GLOBAL innodb_thread_sleep_delay = @old_innodb_thread_sleep_delay;
DROP TABLE t1;
@@ -336,7 +330,7 @@ UPDATE t1 SET DATA = data*2 WHERE id = 3;
# PERFORMANCE-VERSION
# grouping/referencing in replace_regex is very slow on long strings,
# removing all before/after the interesting row before grouping/referencing
-#--replace_regex /.*---TRANSACTION [0-9]+ [0-9]+, .*, OS thread id [0-9]+// /MySQL thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+) lock struct\(s\), heap size [0-9]+, ([0-9]+) row lock\(s\).*/\1 lock struct(s) \2 row lock(s)/
+#--replace_regex /.*---TRANSACTION [0-9]+ [0-9]+, .*, OS thread id [0-9]+// /MariaDB thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+) lock struct\(s\), heap size [0-9]+, ([0-9]+) row lock\(s\).*/\1 lock struct(s) \2 row lock(s)/
#SHOW ENGINE InnoDB STATUS;
UPDATE t1 SET data = data*2 WHERE data = 2;
@@ -345,7 +339,7 @@ UPDATE t1 SET data = data*2 WHERE data = 2;
# PERFORMANCE-VERSION
# grouping/referencing in replace_regex is very slow on long strings,
# removing all before/after the interesting row before grouping/referencing
-#--replace_regex /.*---TRANSACTION [0-9]+ [0-9]+, .*, OS thread id [0-9]+// /MySQL thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+ lock struct\(s\)), heap size [0-9]+, ([0-9]+ row lock\(s\)).*/\1 \2/
+#--replace_regex /.*---TRANSACTION [0-9]+ [0-9]+, .*, OS thread id [0-9]+// /MariaDB thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+ lock struct\(s\)), heap size [0-9]+, ([0-9]+ row lock\(s\)).*/\1 \2/
#SHOW ENGINE InnoDB STATUS;
SET @@session.tx_isolation = @old_tx_isolation;
diff --git a/mysql-test/main/partition_innodb_plugin.result b/mysql-test/main/partition_innodb_plugin.result
index 6842ff04caa..2cc2323703b 100644
--- a/mysql-test/main/partition_innodb_plugin.result
+++ b/mysql-test/main/partition_innodb_plugin.result
@@ -29,7 +29,7 @@ t1 CREATE TABLE `t1` (
`time` date NOT NULL,
`id2` bigint(20) NOT NULL,
PRIMARY KEY (`id`,`time`)
-) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3
PARTITION BY RANGE (to_days(`time`))
(PARTITION `p10` VALUES LESS THAN (734708) ENGINE = InnoDB,
PARTITION `p20` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
@@ -104,6 +104,10 @@ disconnect con2;
connection default;
SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
+SET @save_detect= @@GLOBAL.innodb_deadlock_detect;
+SET @save_report= @@GLOBAL.innodb_deadlock_report;
+SET GLOBAL innodb_deadlock_detect=ON;
+SET GLOBAL innodb_deadlock_report=BASIC;
SET NAMES utf8;
CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
ENGINE=InnoDB
@@ -148,6 +152,8 @@ set sql_mode = 'ANSI_QUOTES';
SHOW ENGINE InnoDB STATUS;
Type Name Status
InnoDB index PRIMARY of table `test`.`t``\""e` /* Partition `p0``\""e`, Subpartition `sp0``\""e` */
+SET GLOBAL innodb_deadlock_detect= @save_detect;
+SET GLOBAL innodb_deadlock_report= @save_report;
set @@sql_mode = @old_sql_mode;
connection con1;
ROLLBACK;
diff --git a/mysql-test/main/partition_innodb_plugin.test b/mysql-test/main/partition_innodb_plugin.test
index 74e1747746b..bd96042c3f4 100644
--- a/mysql-test/main/partition_innodb_plugin.test
+++ b/mysql-test/main/partition_innodb_plugin.test
@@ -41,9 +41,12 @@ SET @old_innodb_file_per_table = @@global.innodb_file_per_table;
SET @old_innodb_strict_mode = @@global.innodb_strict_mode;
SET @@global.innodb_file_per_table = ON,
@@global.innodb_strict_mode = ON;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--connect(con1,localhost,root,,)
-
CREATE TABLE t1 (id INT NOT NULL
PRIMARY KEY,
user_num CHAR(10)
@@ -90,10 +93,17 @@ DROP TABLE t1;
--connection default
SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
#
# Bug#32430 - show engine innodb status causes errors
#
+SET @save_detect= @@GLOBAL.innodb_deadlock_detect;
+SET @save_report= @@GLOBAL.innodb_deadlock_report;
+SET GLOBAL innodb_deadlock_detect=ON;
+SET GLOBAL innodb_deadlock_report=BASIC;
SET NAMES utf8;
CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
ENGINE=InnoDB
@@ -144,6 +154,8 @@ set @old_sql_mode = @@sql_mode;
set sql_mode = 'ANSI_QUOTES';
--replace_regex /.*RECORD LOCKS space id [0-9]* page no [0-9]* n bits [0-9]* // / trx id .*// /.*index .* in // /trx table locks [0-9]* // /total table locks [0-9]* //
SHOW ENGINE InnoDB STATUS;
+SET GLOBAL innodb_deadlock_detect= @save_detect;
+SET GLOBAL innodb_deadlock_report= @save_report;
set @@sql_mode = @old_sql_mode;
connection con1;
REAP;
diff --git a/mysql-test/main/partition_utf8-debug.result b/mysql-test/main/partition_utf8-debug.result
index 569bec3ea8a..db1396198ab 100644
--- a/mysql-test/main/partition_utf8-debug.result
+++ b/mysql-test/main/partition_utf8-debug.result
@@ -41,7 +41,7 @@ CREATE OR REPLACE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8
PARTITION BY LIST COLUMNS (a) (PARTITION p0 VALUES IN (_utf8'ß'));
Warnings:
Note 1003 PARTITION BY LIST COLUMNS(`a`)
-(PARTITION `p0` VALUES IN (_utf8 0xc39f) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (_utf8mb3 0xc39f) ENGINE = MyISAM)
SELECT PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='t1';
PARTITION_DESCRIPTION
'ß'
@@ -50,7 +50,7 @@ CREATE OR REPLACE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8
PARTITION BY LIST COLUMNS (a) (PARTITION p0 VALUES IN ('ß'));
Warnings:
Note 1003 PARTITION BY LIST COLUMNS(`a`)
-(PARTITION `p0` VALUES IN (_utf8 0xc39f) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (_utf8mb3 0xc39f) ENGINE = MyISAM)
SELECT PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='t1';
PARTITION_DESCRIPTION
'ß'
@@ -77,7 +77,7 @@ CREATE OR REPLACE TABLE t1 (a DATE) CHARACTER SET utf8
PARTITION BY LIST COLUMNS (a) (PARTITION p0 VALUES IN (FROM_DAYS(100)));
Warnings:
Note 1003 PARTITION BY LIST COLUMNS(`a`)
-(PARTITION `p0` VALUES IN (_utf8 0x303030302d30302d3030) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (_utf8mb3 0x303030302d30302d3030) ENGINE = MyISAM)
SELECT PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='t1';
PARTITION_DESCRIPTION
'0000-00-00'
diff --git a/mysql-test/main/partition_utf8.result b/mysql-test/main/partition_utf8.result
index 185d081b1c9..d279cdfab43 100644
--- a/mysql-test/main/partition_utf8.result
+++ b/mysql-test/main/partition_utf8.result
@@ -79,7 +79,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varbinary(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
PARTITION BY LIST COLUMNS(`a`)
(PARTITION `p0` VALUES IN (_binary 0xff) ENGINE = MyISAM)
SELECT PARTITION_DESCRIPTION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='t1';
diff --git a/mysql-test/main/plugin.result b/mysql-test/main/plugin.result
index 032bf489f3d..a8f4be6eb93 100644
--- a/mysql-test/main/plugin.result
+++ b/mysql-test/main/plugin.result
@@ -327,7 +327,7 @@ select convert('adminðŒ†' using utf8);
convert('admin\xF0\x9D\x8C\x86' using utf8)
admin????
Warnings:
-Warning 1300 Invalid utf8 character string: '\xF0\x9D\x8C\x86'
+Warning 1300 Invalid utf8mb3 character string: '\xF0\x9D\x8C\x86'
install plugin foo soname 'adminðŒ†';
ERROR HY000: No paths allowed for shared library
# End of 5.5 test
diff --git a/mysql-test/main/plugin_auth.result b/mysql-test/main/plugin_auth.result
index 73c384734bd..3d86d713009 100644
--- a/mysql-test/main/plugin_auth.result
+++ b/mysql-test/main/plugin_auth.result
@@ -23,16 +23,16 @@ test mysql.proxies_priv;
SHOW CREATE TABLE mysql.proxies_priv;
Table Create Table
proxies_priv CREATE TABLE `proxies_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proxied_user` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proxied_host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proxied_user` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`With_grant` tinyint(1) NOT NULL DEFAULT 0,
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User proxy privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User proxy privileges'
connect plug_con,localhost,plug,plug_dest;
select USER(),CURRENT_USER();
USER() CURRENT_USER()
diff --git a/mysql-test/main/plugin_auth_qa_1.test b/mysql-test/main/plugin_auth_qa_1.test
index 17fbf2ca25e..c2435a1d800 100644
--- a/mysql-test/main/plugin_auth_qa_1.test
+++ b/mysql-test/main/plugin_auth_qa_1.test
@@ -15,14 +15,14 @@ CREATE USER plug_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
GRANT PROXY ON `plug%dest` TO plug_user;
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
REVOKE PROXY ON `plug%dest` FROM plug_user;
GRANT PROXY ON plug_dest TO plug_user;
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
REVOKE PROXY ON plug_dest FROM plug_user;
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
DROP USER plug_user,plug_dest;
#
# GRANT...WITH
@@ -35,15 +35,15 @@ GRANT PROXY ON plug_dest TO plug_user;
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
--echo 1)
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user';
--echo 2)
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
REVOKE PROXY ON plug_dest FROM plug_user;
--echo 3)
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
DROP USER plug_user,plug_dest;
#
# GRANT...WITH/CREATE...BY
@@ -52,11 +52,11 @@ GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
--echo 1)
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
GRANT PROXY ON plug_dest TO plug_user;
--echo 2)
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user';
#REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_dest'';
DROP USER plug_user,plug_dest;
@@ -69,13 +69,13 @@ GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
GRANT PROXY ON plug_dest TO plug_user;
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
RENAME USER plug_dest TO new_dest;
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
GRANT PROXY ON new_dest TO plug_user;
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=new_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=new_dest -e "SELECT current_user();SELECT user();" 2>&1
--sorted_result
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
DROP USER plug_user,new_dest;
@@ -85,16 +85,16 @@ CREATE USER plug_user
IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
GRANT PROXY ON plug_dest TO plug_user;
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
RENAME USER plug_dest TO new_dest;
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
GRANT PROXY ON new_dest TO plug_user;
--error 1
---exec $MYSQL -S $MASTER_MYSOCK -u plug_user --password=new_dest -e "SELECT current_user();SELECT user();" 2>&1
+--exec $MYSQL -u plug_user --password=new_dest -e "SELECT current_user();SELECT user();" 2>&1
--sorted_result
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
DROP USER plug_user,new_dest;
@@ -277,13 +277,13 @@ FLUSH PRIVILEGES;
# Not working with the patch.
#--replace_result $MYSQLADMIN MYSQLADMIN $MASTER_MYPORT MYPORT $MASTER_MYSOCK MYSOCK
-#--exec $MYSQLADMIN -h localhost -P $MASTER_MYPORT -S $MASTER_MYSOCK -u plug_user --password=plug_dest ping 2>&1
+#--exec $MYSQLADMIN -h localhost -u plug_user --password=plug_dest ping 2>&1
#--replace_result $MYSQL_CHECK MYSQL_CHECK $MASTER_MYPORT MYPORT
-#--exec $MYSQL_CHECK -h localhost -P $MASTER_MYPORT -u plug_user --password=plug_dest test
+#--exec $MYSQL_CHECK -h localhost -u plug_user --password=plug_dest test
#--replace_result $MYSQL_DUMP MYSQL_DUMP $MASTER_MYPORT MYPORT
-#--exec $MYSQL_DUMP -h localhost -P $MASTER_MYPORT -u plug_user --password=plug_dest test
+#--exec $MYSQL_DUMP -h localhost -u plug_user --password=plug_dest test
#--replace_result $MYSQL_SHOW MYSQL_SHOW $MASTER_MYPORT MYPORT
-#--exec $MYSQL_SHOW -h localhost -P $MASTER_MYPORT --plugin_dir=../plugin/auth -u plug_user --password=plug_dest 2>&1
+#--exec $MYSQL_SHOW -h localhost --plugin_dir=../plugin/auth -u plug_user --password=plug_dest 2>&1
DROP USER plug_user, plug_dest;
DROP DATABASE test_user_db;
--exit
diff --git a/mysql-test/main/plugin_auth_qa_2.result b/mysql-test/main/plugin_auth_qa_2.result
index ea7227f9faa..de3023a3e42 100644
--- a/mysql-test/main/plugin_auth_qa_2.result
+++ b/mysql-test/main/plugin_auth_qa_2.result
@@ -16,7 +16,7 @@ NULL
SELECT @@external_user;
@@external_user
NULL
-exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
current_user() user() @@local.proxy_user @@local.external_user
qa_test_1_user@% qa_test_1_user@localhost NULL NULL
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -45,7 +45,7 @@ NULL
SELECT @@external_user;
@@external_user
NULL
-exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
current_user() user() @@local.proxy_user @@local.external_user
authenticated_as@% user_name@localhost 'qa_test_2_user'@'%' externaluser
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -62,7 +62,7 @@ CREATE USER qa_test_3_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_3_dest'
CREATE USER qa_test_3_dest IDENTIFIED BY 'dest_passwd';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_3_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_3_dest TO qa_test_3_user;
-exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
current_user() user() @@local.proxy_user @@local.external_user
qa_test_3_dest@% qa_test_3_user@localhost 'qa_test_3_user'@'%' qa_test_3_dest
DROP USER qa_test_3_user;
@@ -72,7 +72,7 @@ CREATE USER qa_test_4_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_4_dest'
CREATE USER qa_test_4_dest IDENTIFIED BY 'dest_passwd';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_4_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_4_dest TO qa_test_4_user;
-exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
current_user() user() @@local.proxy_user @@local.external_user
qa_test_4_dest@% qa_test_4_user@localhost 'qa_test_4_user'@'%' qa_test_4_dest
DROP USER qa_test_4_user;
@@ -91,7 +91,7 @@ User plugin authentication_string Password
mariadb.sys mysql_native_password
qa_test_5_dest mysql_native_password *DFCACE76914AD7BD801FC1A1ECF6562272621A22 *DFCACE76914AD7BD801FC1A1ECF6562272621A22
qa_test_5_user qa_auth_interface qa_test_5_dest
-exec MYSQL -h localhost -P MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
ERROR 1045 (28000): Access denied for user 'qa_test_5_user'@'localhost' (using password: YES)
DROP USER qa_test_5_user;
DROP USER qa_test_5_dest;
@@ -106,7 +106,7 @@ User plugin authentication_string Password
mariadb.sys mysql_native_password
qa_test_6_dest mysql_native_password *DFCACE76914AD7BD801FC1A1ECF6562272621A22 *DFCACE76914AD7BD801FC1A1ECF6562272621A22
qa_test_6_user qa_auth_interface qa_test_6_dest
-exec MYSQL -h localhost -P MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
ERROR 1045 (28000): Access denied for user 'qa_test_6_user'@'localhost' (using password: YES)
GRANT PROXY ON qa_test_6_dest TO root IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
@@ -114,7 +114,7 @@ User plugin authentication_string Password
mariadb.sys mysql_native_password
qa_test_6_dest mysql_native_password *DFCACE76914AD7BD801FC1A1ECF6562272621A22 *DFCACE76914AD7BD801FC1A1ECF6562272621A22
qa_test_6_user qa_auth_interface qa_test_6_dest
-exec MYSQL -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
REVOKE PROXY ON qa_test_6_dest FROM root;
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -122,7 +122,7 @@ User plugin authentication_string
mariadb.sys mysql_native_password
qa_test_6_dest mysql_native_password *DFCACE76914AD7BD801FC1A1ECF6562272621A22
qa_test_6_user qa_auth_interface qa_test_6_dest
-exec MYSQL -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL -h localhost --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
DROP USER qa_test_6_user;
DROP USER qa_test_6_dest;
@@ -135,7 +135,7 @@ CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_11_des
CREATE USER qa_test_11_dest IDENTIFIED BY 'dest_passwd';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
-exec MYSQL --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
ERROR 1045 (28000): Access denied for user 'qa_test_11_user'@'localhost' (using password: YES)
DROP USER qa_test_11_user, qa_test_11_dest;
DROP DATABASE test_user_db;
diff --git a/mysql-test/main/plugin_auth_qa_2.test b/mysql-test/main/plugin_auth_qa_2.test
index db92f6ee453..136419e571f 100644
--- a/mysql-test/main/plugin_auth_qa_2.test
+++ b/mysql-test/main/plugin_auth_qa_2.test
@@ -20,8 +20,8 @@ SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
SELECT @@proxy_user;
SELECT @@external_user;
---echo exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
---exec $MYSQL -h localhost -P $MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--sorted_result
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -42,8 +42,8 @@ SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
SELECT @@proxy_user;
SELECT @@external_user;
---echo exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
---exec $MYSQL -h localhost -P $MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--sorted_result
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
@@ -59,8 +59,8 @@ CREATE USER qa_test_3_dest IDENTIFIED BY 'dest_passwd';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_3_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_3_dest TO qa_test_3_user;
---echo exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
---exec $MYSQL -h localhost -P $MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
DROP USER qa_test_3_user;
DROP USER qa_test_3_dest;
@@ -72,8 +72,8 @@ CREATE USER qa_test_4_dest IDENTIFIED BY 'dest_passwd';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_4_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_4_dest TO qa_test_4_user;
---echo exec MYSQL -h localhost -P MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
---exec $MYSQL -h localhost -P $MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
DROP USER qa_test_4_user;
DROP USER qa_test_4_dest;
@@ -91,9 +91,9 @@ GRANT PROXY ON qa_test_5_dest TO ''@'localhost';
--sorted_result
SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
---echo exec MYSQL -h localhost -P MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--error 1
---exec $MYSQL -h localhost -P $MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
DROP USER qa_test_5_user;
DROP USER qa_test_5_dest;
@@ -109,25 +109,25 @@ GRANT PROXY ON qa_test_6_dest TO qa_test_6_user;
--sorted_result
SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
---echo exec MYSQL -h localhost -P MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--error 1
---exec $MYSQL -h localhost -P $MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
GRANT PROXY ON qa_test_6_dest TO root IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
--sorted_result
SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
---echo exec MYSQL -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--error 1
---exec $MYSQL -h localhost -P $MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
REVOKE PROXY ON qa_test_6_dest FROM root;
--sorted_result
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
---echo exec MYSQL -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL -h localhost --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--error 1
---exec $MYSQL -h localhost -P $MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL -h localhost --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
DROP USER qa_test_6_user;
DROP USER qa_test_6_dest;
@@ -143,9 +143,9 @@ CREATE USER qa_test_11_dest IDENTIFIED BY 'dest_passwd';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
---echo exec MYSQL --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--error 1
---exec $MYSQL --default_auth=qa_auth_client -h localhost -P $MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
DROP USER qa_test_11_user, qa_test_11_dest;
DROP DATABASE test_user_db;
diff --git a/mysql-test/main/plugin_auth_qa_3.result b/mysql-test/main/plugin_auth_qa_3.result
index 62a37a21478..90176f5c4be 100644
--- a/mysql-test/main/plugin_auth_qa_3.result
+++ b/mysql-test/main/plugin_auth_qa_3.result
@@ -2,10 +2,10 @@ CREATE DATABASE test_user_db;
CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_server AS 'qa_test_11_dest';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
-exec MYSQL --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
current_user() user() @@local.proxy_user @@local.external_user
qa_test_11_dest@% qa_test_11_user@localhost 'qa_test_11_user'@'%' NULL
-exec MYSQL --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+exec MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
ERROR 1045 (28000): Access denied for user 'qa_test_2_user'@'localhost' (using password: YES)
DROP USER qa_test_11_user, qa_test_11_dest;
DROP DATABASE test_user_db;
diff --git a/mysql-test/main/plugin_auth_qa_3.test b/mysql-test/main/plugin_auth_qa_3.test
index 349d574227a..2d8b82e373a 100644
--- a/mysql-test/main/plugin_auth_qa_3.test
+++ b/mysql-test/main/plugin_auth_qa_3.test
@@ -12,12 +12,12 @@ CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_server AS 'qa_test_11_dest';
GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
---echo exec MYSQL --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
---exec $MYSQL --default_auth=qa_auth_client -h localhost -P $MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
---echo exec MYSQL --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--echo exec MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
--error 1
---exec $MYSQL --default_auth=qa_auth_client -h localhost -P $MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL --default_auth=qa_auth_client -h localhost -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
DROP USER qa_test_11_user, qa_test_11_dest;
DROP DATABASE test_user_db;
diff --git a/mysql-test/main/pool_of_threads.result b/mysql-test/main/pool_of_threads.result
index d4a7d9092f4..91ad7ab098f 100644
--- a/mysql-test/main/pool_of_threads.result
+++ b/mysql-test/main/pool_of_threads.result
@@ -2091,10 +2091,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/ps.result b/mysql-test/main/ps.result
index 02ddbc7ec61..1dd04636d49 100644
--- a/mysql-test/main/ps.result
+++ b/mysql-test/main/ps.result
@@ -1109,12 +1109,12 @@ show create table mysqltest.t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c` char(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
show create table mysqltest.t2;
Table Create Table
t2 CREATE TABLE `t2` (
`test` varchar(4) CHARACTER SET latin1 NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
drop table mysqltest.t1;
drop table mysqltest.t2;
alter database mysqltest character set latin1;
@@ -1728,7 +1728,7 @@ set @@character_set_server= utf8;
execute stmt;
show create database mysqltest_1;
Database Create Database
-mysqltest_1 CREATE DATABASE `mysqltest_1` /*!40100 DEFAULT CHARACTER SET utf8 */
+mysqltest_1 CREATE DATABASE `mysqltest_1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
drop database mysqltest_1;
deallocate prepare stmt;
set @@character_set_server= @old_character_set_server;
@@ -2726,9 +2726,7 @@ ERROR 42000: FUNCTION test.func_1 does not exist
drop function func_1;
ERROR 42000: FUNCTION test.func_1 does not exist
prepare abc from "create event xyz on schedule at now() do select 123";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
deallocate prepare abc;
-ERROR HY000: Unknown prepared statement handler (abc) given to DEALLOCATE PREPARE
drop event if exists xyz;
create event xyz on schedule every 5 minute disable do select 123;
create procedure proc_1() alter event xyz comment 'xyz';
@@ -2748,9 +2746,7 @@ drop procedure proc_1;
create function func_1() returns int begin alter event xyz comment 'xyz'; return 1; end|
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger
prepare abc from "alter event xyz comment 'xyz'";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
deallocate prepare abc;
-ERROR HY000: Unknown prepared statement handler (abc) given to DEALLOCATE PREPARE
drop event if exists xyz;
create event xyz on schedule every 5 minute disable do select 123;
create procedure proc_1() drop event xyz;
@@ -2765,9 +2761,7 @@ drop procedure proc_1;
create function func_1() returns int begin drop event xyz; return 1; end|
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger
prepare abc from "drop event xyz";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
deallocate prepare abc;
-ERROR HY000: Unknown prepared statement handler (abc) given to DEALLOCATE PREPARE
drop table if exists t1;
create table t1 (a int, b char(5)) engine=myisam;
insert into t1 values (1, "one"), (2, "two"), (3, "three");
@@ -2979,7 +2973,7 @@ execute stmt;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(100) CHARACTER SET utf8 DEFAULT NULL,
+ `c` char(100) CHARACTER SET utf8mb3 DEFAULT NULL,
KEY `c` (`c`(10))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -2987,7 +2981,7 @@ execute stmt;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(100) CHARACTER SET utf8 DEFAULT NULL,
+ `c` char(100) CHARACTER SET utf8mb3 DEFAULT NULL,
KEY `c` (`c`(10))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
@@ -3087,15 +3081,15 @@ DROP TABLE t1;
CREATE TABLE t1(f1 INT);
INSERT INTO t1 VALUES (1),(1);
PREPARE stmt FROM 'EXPLAIN SELECT 1 FROM t1 WHERE (SELECT (SELECT 1 FROM t1 GROUP BY f1))';
+Warnings:
+Note 1249 Select 2 was reduced during optimization
EXECUTE stmt;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
EXECUTE stmt;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
-2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
@@ -4944,7 +4938,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
PREPARE stmt FROM CONCAT(NULL);
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 'NULL' at line 1
EXECUTE IMMEDIATE ? USING 'SELECT 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 '? USING 'SELECT 1'' at line 1
+Got one of the listed errors
EXECUTE IMMEDIATE 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 '10' at line 1
EXECUTE IMMEDIATE TIME'10:20:30';
@@ -5273,7 +5267,7 @@ CREATE TABLE t1 AS SELECT @a AS c1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
diff --git a/mysql-test/main/ps.test b/mysql-test/main/ps.test
index 062d729b2cc..678c24db1eb 100644
--- a/mysql-test/main/ps.test
+++ b/mysql-test/main/ps.test
@@ -37,14 +37,12 @@ deallocate prepare no_such_statement;
--error 1210
execute stmt1;
-# Nesting ps commands is not allowed:
---error ER_UNSUPPORTED_PS
+# Nesting ps commands is now allowed:
+--error ER_UNSUPPORTED_PS
prepare stmt2 from 'prepare nested_stmt from "select 1"';
-
---error ER_UNSUPPORTED_PS
+--error ER_UNSUPPORTED_PS
prepare stmt2 from 'execute stmt1';
-
---error ER_UNSUPPORTED_PS
+--error ER_UNSUPPORTED_PS
prepare stmt2 from 'deallocate prepare z';
# PS insert
@@ -2763,12 +2761,11 @@ delimiter ;|
select func_1(), func_1(), func_1() from dual;
--error ER_SP_DOES_NOT_EXIST
drop function func_1;
---error ER_UNSUPPORTED_PS
+
+# CREATE EVENT is now supported by prepared statements
prepare abc from "create event xyz on schedule at now() do select 123";
---error ER_UNKNOWN_STMT_HANDLER
deallocate prepare abc;
-
--disable_warnings
drop event if exists xyz;
create event xyz on schedule every 5 minute disable do select 123;
@@ -2787,9 +2784,9 @@ delimiter |;
--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
create function func_1() returns int begin alter event xyz comment 'xyz'; return 1; end|
delimiter ;|
---error ER_UNSUPPORTED_PS
+
+# ALTER EVENT is now supported by prepared statements
prepare abc from "alter event xyz comment 'xyz'";
---error ER_UNKNOWN_STMT_HANDLER
deallocate prepare abc;
@@ -2808,9 +2805,8 @@ delimiter |;
--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
create function func_1() returns int begin drop event xyz; return 1; end|
delimiter ;|
---error ER_UNSUPPORTED_PS
+# DROP EVENT is now supported by prepared statements
prepare abc from "drop event xyz";
---error ER_UNKNOWN_STMT_HANDLER
deallocate prepare abc;
@@ -4414,7 +4410,12 @@ EXECUTE IMMEDIATE CONCAT(NULL);
--error ER_PARSE_ERROR
PREPARE stmt FROM CONCAT(NULL);
---error ER_PARSE_ERROR
+# Expects any of the following errors CR_PARAMS_NOT_BOUND, ER_PARSE_ERROR.
+# ER_PARSE_ERROR is generated in case the EXECUTE IMMEDIATE statement
+# is sent as a regular statement via text protocol. The error
+# CR_PARAMS_NOT_BOUND is generated by the MySQL API function mysql_stmt_execute
+# when this test file is run with the option --ps-protocol
+--error 2031,ER_PARSE_ERROR
EXECUTE IMMEDIATE ? USING 'SELECT 1';
--error ER_PARSE_ERROR
diff --git a/mysql-test/main/ps_1general.result b/mysql-test/main/ps_1general.result
index 46812425ebc..05a40f54a52 100644
--- a/mysql-test/main/ps_1general.result
+++ b/mysql-test/main/ps_1general.result
@@ -264,6 +264,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
prepare stmt4 from ' show tables from test like ''t2%'' ';
execute stmt4;
@@ -291,9 +292,9 @@ a int(11) NO PRI NULL
create index t2_idx on t2(b);
prepare stmt4 from ' show index from t2 from test ';
execute stmt4;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 a A 0 NULL NULL BTREE
-t2 1 t2_idx 1 b A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 a A 0 NULL NULL BTREE NO
+t2 1 t2_idx 1 b A NULL NULL NULL YES BTREE NO
prepare stmt4 from ' show table status from test like ''t2%'' ';
execute stmt4;
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 Max_index_length Temporary
@@ -386,9 +387,7 @@ ERROR HY000: This command is not supported in the prepared statement protocol ye
prepare stmt1 from ' deallocate prepare never_prepared ' ;
ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from 'alter view v1 as select 2';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt4 from ' use test ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt3 from ' create database mysqltest ';
create database mysqltest ;
prepare stmt3 from ' drop database mysqltest ';
@@ -402,12 +401,9 @@ drop table t2 ;
execute stmt3;
ERROR 42S02: Table 'test.t2' doesn't exist
prepare stmt3 from ' lock tables t1 read ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt3 from ' unlock tables ' ;
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' load data infile ''<MYSQLTEST_VARDIR>/tmp/data.txt''
into table t1 fields terminated by ''\t'' ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt1 from ' select * into outfile ''<MYSQLTEST_VARDIR>/tmp/data.txt'' from t1 ';
execute stmt1 ;
prepare stmt1 from ' optimize table t1 ' ;
@@ -415,7 +411,6 @@ prepare stmt1 from ' analyze table t1 ' ;
prepare stmt1 from ' checksum table t1 ' ;
prepare stmt1 from ' repair table t1 ' ;
prepare stmt1 from ' handler t1 open ';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt3 from ' commit ' ;
prepare stmt3 from ' rollback ' ;
prepare stmt4 from ' SET sql_mode=ansi ';
diff --git a/mysql-test/main/ps_1general.test b/mysql-test/main/ps_1general.test
index 47db79cb6c6..b0f408e3bcf 100644
--- a/mysql-test/main/ps_1general.test
+++ b/mysql-test/main/ps_1general.test
@@ -406,19 +406,16 @@ deallocate prepare stmt_do ;
deallocate prepare stmt_set ;
## nonsense like prepare of prepare,execute or deallocate
---error ER_UNSUPPORTED_PS
+--error ER_UNSUPPORTED_PS
prepare stmt1 from ' prepare stmt2 from '' select 1 '' ' ;
---error ER_UNSUPPORTED_PS
+--error ER_UNSUPPORTED_PS
prepare stmt1 from ' execute stmt2 ' ;
---error ER_UNSUPPORTED_PS
+--error ER_UNSUPPORTED_PS
prepare stmt1 from ' deallocate prepare never_prepared ' ;
-## We don't support alter view as prepared statements
---error ER_UNSUPPORTED_PS
prepare stmt1 from 'alter view v1 as select 2';
## switch the database connection
---error ER_UNSUPPORTED_PS
prepare stmt4 from ' use test ' ;
## create/drop database
@@ -435,9 +432,7 @@ drop table t2 ;
--error ER_NO_SUCH_TABLE
execute stmt3;
## lock/unlock
---error ER_UNSUPPORTED_PS
prepare stmt3 from ' lock tables t1 read ' ;
---error ER_UNSUPPORTED_PS
prepare stmt3 from ' unlock tables ' ;
## Load/Unload table contents
@@ -446,7 +441,6 @@ prepare stmt3 from ' unlock tables ' ;
--remove_file $datafile
--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
---error ER_UNSUPPORTED_PS
eval prepare stmt1 from ' load data infile ''$datafile''
into table t1 fields terminated by ''\t'' ';
--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
@@ -461,7 +455,6 @@ prepare stmt1 from ' repair table t1 ' ;
--remove_file $datafile
## handler
---error ER_UNSUPPORTED_PS
prepare stmt1 from ' handler t1 open ';
diff --git a/mysql-test/main/ps_ddl.result b/mysql-test/main/ps_ddl.result
index c5c5b5a9ac0..d99aeb0fa54 100644
--- a/mysql-test/main/ps_ddl.result
+++ b/mysql-test/main/ps_ddl.result
@@ -769,7 +769,7 @@ deallocate prepare stmt;
#
# Test 3: View referencing an Information schema table
#
-create view t1 as select table_name from information_schema.views order by table_name;
+create view t1 as select table_name from information_schema.views where table_schema <> 'sys' order by table_name;
prepare stmt from "select * from t1";
execute stmt;
table_name
@@ -2244,7 +2244,6 @@ SUCCESS
drop table if exists t1;
create table t1 (a varchar(20));
prepare stmt from "load data infile '../std_data_ln/words.dat' into table t1";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
drop table t1;
#
# SQLCOM_SHOW_DATABASES
@@ -2295,11 +2294,11 @@ drop table if exists t1;
create table t1 (a int);
prepare stmt from "show keys from t1 where (1) in (select * from t1)";
execute stmt;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
create table t1 (x int);
execute stmt;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table t1;
deallocate prepare stmt;
#
@@ -2516,7 +2515,6 @@ SUCCESS
drop view if exists v1;
create view v1 as select 1;
prepare stmt from "alter view v1 as select 2";
-ERROR HY000: This command is not supported in the prepared statement protocol yet
drop view v1;
# Cleanup
#
diff --git a/mysql-test/main/ps_ddl.test b/mysql-test/main/ps_ddl.test
index dafb5b5dea3..8d811ec00c0 100644
--- a/mysql-test/main/ps_ddl.test
+++ b/mysql-test/main/ps_ddl.test
@@ -63,6 +63,7 @@ drop view if exists v1, v2;
TRUNCATE TABLE mysql.general_log;
delimiter |;
+--enable_prepare_warnings
create procedure p_verify_reprepare_count(expected int)
begin
declare old_reprepare_count int default @reprepare_count;
@@ -80,6 +81,7 @@ begin
select '' as "SUCCESS";
end if;
end|
+--disable_prepare_warnings
delimiter ;|
set @reprepare_count= 0;
flush status;
@@ -699,7 +701,7 @@ deallocate prepare stmt;
--echo #
--echo # Test 3: View referencing an Information schema table
--echo #
-create view t1 as select table_name from information_schema.views order by table_name;
+create view t1 as select table_name from information_schema.views where table_schema <> 'sys' order by table_name;
prepare stmt from "select * from t1";
execute stmt;
@@ -902,14 +904,18 @@ begin
return x;
end|
delimiter ;|
+--enable_prepare_warnings
create procedure p1(out x int) select max(a) from t1 into x;
+--disable_prepare_warnings
prepare stmt from "select * from v1";
execute stmt;
execute stmt;
call p_verify_reprepare_count(0);
drop procedure p1;
+--enable_prepare_warnings
create procedure p1(out x int) select max(a) from t2 into x;
+--disable_prepare_warnings
--echo # XXX: used to be a bug. The prelocked list was not invalidated
--echo # and we kept opening table t1, whereas the procedure
--echo # is now referring to table t2
@@ -1880,7 +1886,6 @@ call p_verify_reprepare_count(8);
drop table if exists t1;
--enable_warnings
create table t1 (a varchar(20));
---error ER_UNSUPPORTED_PS
prepare stmt from "load data infile '../std_data_ln/words.dat' into table t1";
drop table t1;
@@ -2202,7 +2207,6 @@ call p_verify_reprepare_count(17);
drop view if exists v1;
--enable_warnings
create view v1 as select 1;
---error ER_UNSUPPORTED_PS
prepare stmt from "alter view v1 as select 2";
drop view v1;
diff --git a/mysql-test/main/ps_ddl1.test b/mysql-test/main/ps_ddl1.test
index 0145d445a14..e0441cb0ab8 100644
--- a/mysql-test/main/ps_ddl1.test
+++ b/mysql-test/main/ps_ddl1.test
@@ -30,6 +30,7 @@ drop view if exists t1;
drop schema if exists mysqltest;
--enable_warnings
+--enable_prepare_warnings
delimiter |;
create procedure p_verify_reprepare_count(expected int)
begin
@@ -48,6 +49,7 @@ begin
select '' as "SUCCESS";
end if;
end|
+--disable_prepare_warnings
delimiter ;|
set @reprepare_count= 0;
flush status;
diff --git a/mysql-test/main/ps_missed_cmds.result b/mysql-test/main/ps_missed_cmds.result
new file mode 100644
index 00000000000..1d996141adf
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds.result
@@ -0,0 +1,797 @@
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+#
+# MDEV-16708: Unsupported commands for prepared statements
+#
+# Disable ps-protocol explicitly in order to test support of
+# prepared statements for use case when statements passed
+# to the server via text client-server protocol (in contrast
+# with binary protocol used in the test file
+# ps_missed_cmds_bin_prot.test)
+# Test case 1: Check that the statement 'LOAD DATA' is supported
+# by prepared statements
+# First, set up environment for use by the 'LOAD DATA' statement
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+SELECT * INTO OUTFILE 'load.data' FROM t1;
+PREPARE stmt_1 FROM "LOAD DATA INFILE 'load.data' INTO TABLE t1";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'LOAD DATA' statement
+# were damaged.
+EXECUTE stmt_1;
+SELECT * FROM t1;
+a
+1
+1
+1
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP TABLE t1;
+# Test case 2: Check that the 'LOCK TABLE', 'UNLOCK TABLES' statements
+# are supported by prepared statements
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM "LOCK TABLE t1 READ";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'LOCK TABLE READ'
+# statement were damaged.
+EXECUTE stmt_1;
+PREPARE stmt_1 FROM "UNLOCK TABLE";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'UNLOCK TABLE' statement
+# were damaged.
+EXECUTE stmt_1;
+PREPARE stmt_1 FROM "LOCK TABLE t1 WRITE";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'LOCK TABLE WRITE'
+# statement were damaged.
+EXECUTE stmt_1;
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+UNLOCK TABLE;
+DROP TABLE t1;
+# Test case 3: Check that the 'USE' statement is supported by
+# prepared statements
+CREATE DATABASE mdev_16708_db;
+PREPARE stmt_1 FROM 'USE mdev_16708_db';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'USE' statement
+# were damaged.
+EXECUTE stmt_1;
+# Check that the current database has been changed
+SELECT DATABASE();
+DATABASE()
+mdev_16708_db
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+USE test;
+DROP DATABASE mdev_16708_db;
+# Test case 4: Check that the 'ALTER DATABASE' statement is supported
+# by prepared statements
+CREATE DATABASE mdev_16708_db;
+PREPARE stmt_1 FROM "ALTER DATABASE mdev_16708_db COMMENT 'New comment'";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'ALTER DATABASE' statement
+# were damaged.
+EXECUTE stmt_1;
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+USE test;
+DROP DATABASE mdev_16708_db;
+# Test case 5: Check that the 'CREATE FUNCTION/ALTER FUNCTION/
+# DROP FUNCTION' statements are supported by prepared statements
+PREPARE stmt_1 FROM 'CREATE FUNCTION f1() RETURNS INT RETURN 1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE FUNCTION'
+# statement were damaged. The second attempt to execute the prepared
+# statement stmt_1 results in error ER_SP_ALREADY_EXISTS since
+# the stored function f() has been created on first run of stmt1.
+EXECUTE stmt_1;
+ERROR 42000: FUNCTION f1 already exists
+PREPARE stmt_1 FROM 'ALTER FUNCTION f1 SQL SECURITY INVOKER';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'ALTER FUNCTION'
+# statement were damaged.
+EXECUTE stmt_1;
+PREPARE stmt_1 FROM 'DROP FUNCTION f1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling 'DROP FUNCTION' statement
+# were damaged. The second attempt to run 'DROP FUNCTION f1' using
+# prepared statement expectedly results in issuing the error
+# ER_SP_DOES_NOT_EXIST since the stored function was dropped on first
+# executuon of the prepared statement stmt_1.
+EXECUTE stmt_1;
+ERROR 42000: FUNCTION test.f1 does not exist
+# Test case 6: Check that the 'CHECK TABLE' statement is supported
+# by prepared statements
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'CHECK TABLE t1';
+EXECUTE stmt_1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CHECK TABLE' statement
+# were damaged.
+EXECUTE stmt_1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP TABLE t1;
+# Test case 7: Check that the BEGIN/SAVEPOINT/RELEASE SAVEPOINT
+# statements are supported by prepared statements
+# Set up environmentr for the test case
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'BEGIN';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'BEGIN' statement
+# were damaged.
+EXECUTE stmt_1;
+INSERT INTO t1 VALUES (1);
+# Run 'SAVEPOINT s1' using prepared statements
+PREPARE stmt_2 FROM 'SAVEPOINT s1';
+EXECUTE stmt_2;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'SAVEPOINT' statement
+# were damaged.
+EXECUTE stmt_2;
+INSERT INTO t1 VALUES (2);
+# Expected rows: '1' and '2'
+SELECT * FROM t1;
+a
+1
+2
+# Rollback the last row inserted ('2')
+ROLLBACK TO SAVEPOINT s1;
+# Expected output from t1 after transaction has been rolled back
+# to the savepoint is '1'. If it is case then the statement SAVEPOINT
+# was handled successfully with prepared statement
+SELECT * FROM t1;
+a
+1
+PREPARE stmt_3 FROM 'RELEASE SAVEPOINT s1';
+EXECUTE stmt_3;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'RELEASE' statement
+# were damaged. The second attempt to release the same savepoint
+# expectedly lead to error 'SAVEPOINT s1 does not exist'
+# that's just ignored.
+EXECUTE stmt_3;
+ERROR 42000: SAVEPOINT s1 does not exist
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+DROP TABLE t1;
+# Test case 8: Check that the 'PURGE BINARY LOGS BEFORE' statement
+# is supported by prepared statements
+PREPARE stmt_1 FROM "PURGE BINARY LOGS BEFORE '2020-11-17'";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'PURGE BINARY LOGS BEFORE'
+# statement were damaged.
+EXECUTE stmt_1;
+# Check that the 'PURGE BINARY LOGS TO' statement is supported by
+# prepared statements
+PREPARE stmt_1 FROM "PURGE BINARY LOGS TO 'mariadb-bin.000063'";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'PURGE BINARY LOGS TO'
+# statement were damaged.
+EXECUTE stmt_1;
+# Test case 9: Check that the 'HANDLER OPEN/HANDLER READ/
+# HANDLER CLOSE' statements are supported by prepared statements
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+PREPARE stmt_1 FROM 'HANDLER t1 OPEN';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'HANDLER OPEN'
+# statement were damaged. Execution of this statement the second
+# time expectedly results in emitting the error ER_NONUNIQ_TABLE.
+# The same error is issued in case the statement 'HANDLER t1 OPEN' is
+# executed twice using a regular statement.
+EXECUTE stmt_1;
+ERROR 42000: Not unique table/alias: 't1'
+PREPARE stmt_2 FROM 'HANDLER t1 READ FIRST';
+PREPARE stmt_3 FROM 'HANDLER t1 READ NEXT';
+PREPARE stmt_4 FROM 'HANDLER t1 CLOSE';
+EXECUTE stmt_2;
+a
+1
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'HANDLER READ FIRST'
+# statement were damaged.
+EXECUTE stmt_2;
+a
+1
+EXECUTE stmt_3;
+a
+1
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'HANDLER READ NEXT'
+# statement were damaged.
+EXECUTE stmt_3;
+a
+EXECUTE stmt_4;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'HANDLER CLOSE'
+# statement were damaged. Execution of this statement the second
+# time results in emitting the error ER_UNKNOWN_TABLE. The same error
+# is issued in case the statement 'HANDLER t1 CLOSE' executed twice
+# using a regular statement.
+EXECUTE stmt_4;
+ERROR 42S02: Unknown table 't1' in HANDLER
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+DEALLOCATE PREPARE stmt_4;
+DROP TABLE t1;
+# Test case 10: Check that the HELP statement
+# is supported by prepared statements
+PREPARE stmt_1 FROM "HELP `UPDATE`";
+EXECUTE stmt_1;
+name description example
+UPDATE Syntax
+------
+Single-table syntax:
+
+UPDATE [LOW_PRIORITY] [IGNORE] table_reference
+ [PARTITION (partition_list)]
+ SET col1={expr1|DEFAULT} [,col2={expr2|DEFAULT}] ...
+ [WHERE where_condition]
+ [ORDER BY ...]
+ [LIMIT row_count]
+
+Multiple-table syntax:
+
+UPDATE [LOW_PRIORITY] [IGNORE] table_references
+ SET col1={expr1|DEFAULT} [, col2={expr2|DEFAULT}] ...
+ [WHERE where_condition]
+
+Description
+-----------
+For the single-table syntax, the UPDATE statement updates
+columns of existing rows in the named table with new values.
+The
+SET clause indicates which columns to modify and the values
+they should be given. Each value can be given as an
+expression, or the keyword
+DEFAULT to set a column explicitly to its default value. The
+WHERE clause, if given, specifies the conditions that
+identify
+which rows to update. With no WHERE clause, all rows are
+updated. If the ORDER BY clause is specified, the rows are
+updated in the order that is specified. The LIMIT clause
+places a limit on the number of rows that can be updated.
+
+The PARTITION clause was introduced in MariaDB 10.0. See
+Partition Pruning and Selection for details.
+
+Until MariaDB 10.3.2, for the multiple-table syntax, UPDATE
+updates rows in each
+table named in table_references that satisfy the conditions.
+In this case,
+ORDER BY and LIMIT cannot be used. This restriction was
+lifted in MariaDB 10.3.2 and both clauses can be used with
+multiple-table updates. An UPDATE can also reference tables
+which are located in different databases; see Identifier
+Qualifiers for the syntax.
+
+where_condition is an expression that evaluates to true for
+each row to be updated.
+
+table_references and where_condition are as
+specified as described in SELECT.
+
+Assignments are evaluated in left-to-right order, unless the
+SIMULTANEOUS_ASSIGNMENT sql_mode (available from MariaDB
+10.3.5) is set, in which case the UPDATE statement evaluates
+all assignments simultaneously.
+
+You need the UPDATE privilege only for columns referenced in
+an UPDATE that are actually updated. You need only the
+SELECT privilege for any columns that are read but
+not modified. See GRANT.
+
+The UPDATE statement supports the following modifiers:
+If you use the LOW_PRIORITY keyword, execution of
+ the UPDATE is delayed until no other clients are reading
+from
+ the table. This affects only storage engines that use only
+table-level
+ locking (MyISAM, MEMORY, MERGE). See HIGH_PRIORITY and
+LOW_PRIORITY clauses for details.
+If you use the IGNORE keyword, the update statement does
+ not abort even if errors occur during the update. Rows for
+which
+ duplicate-key conflicts occur are not updated. Rows for
+which columns are
+ updated to values that would cause data conversion errors
+are updated to the
+ closest valid values instead.
+
+UPDATE Statements With the Same Source and Target
+
+From MariaDB 10.3.2, UPDATE statements may have the same
+source and target.
+
+For example, given the following table:
+
+DROP TABLE t1;
+
+CREATE TABLE t1 (c1 INT, c2 INT);
+INSERT INTO t1 VALUES (10,10), (20,20);
+
+Until MariaDB 10.3.1, the following UPDATE statement would
+not work:
+
+UPDATE t1 SET c1=c1+1 WHERE c2=(SELECT MAX(c2) FROM t1);
+ERROR 1093 (HY000): Table 't1' is specified twice,
+ both as a target for 'UPDATE' and as a separate source
+for data
+
+From MariaDB 10.3.2, the statement executes successfully:
+
+UPDATE t1 SET c1=c1+1 WHERE c2=(SELECT MAX(c2) FROM t1);
+
+SELECT * FROM t1;
+
++------+------+
+| c1 | c2 |
++------+------+
+| 10 | 10 |
+| 21 | 20 |
++------+------+
+
+Example
+
+Single-table syntax:
+
+UPDATE table_name SET column1 = value1, column2 = value2
+WHERE id=100;
+
+Multiple-table syntax:
+
+UPDATE tab1, tab2 SET tab1.column1 = value1, tab1.column2 =
+value2 WHERE tab1.id = tab2.id;
+
+
+
+URL: https://mariadb.com/kb/en/library/update/
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'HELP' statement
+# were damaged.
+EXECUTE stmt_1;
+name description example
+UPDATE Syntax
+------
+Single-table syntax:
+
+UPDATE [LOW_PRIORITY] [IGNORE] table_reference
+ [PARTITION (partition_list)]
+ SET col1={expr1|DEFAULT} [,col2={expr2|DEFAULT}] ...
+ [WHERE where_condition]
+ [ORDER BY ...]
+ [LIMIT row_count]
+
+Multiple-table syntax:
+
+UPDATE [LOW_PRIORITY] [IGNORE] table_references
+ SET col1={expr1|DEFAULT} [, col2={expr2|DEFAULT}] ...
+ [WHERE where_condition]
+
+Description
+-----------
+For the single-table syntax, the UPDATE statement updates
+columns of existing rows in the named table with new values.
+The
+SET clause indicates which columns to modify and the values
+they should be given. Each value can be given as an
+expression, or the keyword
+DEFAULT to set a column explicitly to its default value. The
+WHERE clause, if given, specifies the conditions that
+identify
+which rows to update. With no WHERE clause, all rows are
+updated. If the ORDER BY clause is specified, the rows are
+updated in the order that is specified. The LIMIT clause
+places a limit on the number of rows that can be updated.
+
+The PARTITION clause was introduced in MariaDB 10.0. See
+Partition Pruning and Selection for details.
+
+Until MariaDB 10.3.2, for the multiple-table syntax, UPDATE
+updates rows in each
+table named in table_references that satisfy the conditions.
+In this case,
+ORDER BY and LIMIT cannot be used. This restriction was
+lifted in MariaDB 10.3.2 and both clauses can be used with
+multiple-table updates. An UPDATE can also reference tables
+which are located in different databases; see Identifier
+Qualifiers for the syntax.
+
+where_condition is an expression that evaluates to true for
+each row to be updated.
+
+table_references and where_condition are as
+specified as described in SELECT.
+
+Assignments are evaluated in left-to-right order, unless the
+SIMULTANEOUS_ASSIGNMENT sql_mode (available from MariaDB
+10.3.5) is set, in which case the UPDATE statement evaluates
+all assignments simultaneously.
+
+You need the UPDATE privilege only for columns referenced in
+an UPDATE that are actually updated. You need only the
+SELECT privilege for any columns that are read but
+not modified. See GRANT.
+
+The UPDATE statement supports the following modifiers:
+If you use the LOW_PRIORITY keyword, execution of
+ the UPDATE is delayed until no other clients are reading
+from
+ the table. This affects only storage engines that use only
+table-level
+ locking (MyISAM, MEMORY, MERGE). See HIGH_PRIORITY and
+LOW_PRIORITY clauses for details.
+If you use the IGNORE keyword, the update statement does
+ not abort even if errors occur during the update. Rows for
+which
+ duplicate-key conflicts occur are not updated. Rows for
+which columns are
+ updated to values that would cause data conversion errors
+are updated to the
+ closest valid values instead.
+
+UPDATE Statements With the Same Source and Target
+
+From MariaDB 10.3.2, UPDATE statements may have the same
+source and target.
+
+For example, given the following table:
+
+DROP TABLE t1;
+
+CREATE TABLE t1 (c1 INT, c2 INT);
+INSERT INTO t1 VALUES (10,10), (20,20);
+
+Until MariaDB 10.3.1, the following UPDATE statement would
+not work:
+
+UPDATE t1 SET c1=c1+1 WHERE c2=(SELECT MAX(c2) FROM t1);
+ERROR 1093 (HY000): Table 't1' is specified twice,
+ both as a target for 'UPDATE' and as a separate source
+for data
+
+From MariaDB 10.3.2, the statement executes successfully:
+
+UPDATE t1 SET c1=c1+1 WHERE c2=(SELECT MAX(c2) FROM t1);
+
+SELECT * FROM t1;
+
++------+------+
+| c1 | c2 |
++------+------+
+| 10 | 10 |
+| 21 | 20 |
++------+------+
+
+Example
+
+Single-table syntax:
+
+UPDATE table_name SET column1 = value1, column2 = value2
+WHERE id=100;
+
+Multiple-table syntax:
+
+UPDATE tab1, tab2 SET tab1.column1 = value1, tab1.column2 =
+value2 WHERE tab1.id = tab2.id;
+
+
+
+URL: https://mariadb.com/kb/en/library/update/
+# Test case 11: Check that the 'CREATE PROCEDURE' statement
+# is supported by prepared statements
+PREPARE stmt_1 FROM 'CREATE PROCEDURE p1() SET @a=1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE PROCEDURE'
+# statement were damaged. Execution of this statement the second
+# time expectedly results in emitting the error ER_SP_ALREADY_EXISTS.
+# The same error is issued in case the 'HANDLER t1 OPEN' statement
+# is executed twice using a regular statement.
+EXECUTE stmt_1;
+ERROR 42000: PROCEDURE p1 already exists
+# Test case 12: Check that the 'ALTER PROCEDURE' statement is supported
+# by prepared statements.
+PREPARE stmt_1 FROM 'ALTER PROCEDURE p1 SQL SECURITY INVOKER';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'ALTER PROCEDURE'
+# statement were damaged.
+EXECUTE stmt_1;
+# Test case 13: Check that the 'DROP PROCEDURE' statement is supported
+# by prepared statements.
+PREPARE stmt_1 FROM 'DROP PROCEDURE p1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'DROP PROCEDURE' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error ER_SP_DOES_NOT_EXIST.
+EXECUTE stmt_1;
+ERROR 42000: PROCEDURE test.p1 does not exist
+# Test case 14: Check that the 'CALL' statement is supported
+# by prepared statements.
+CREATE PROCEDURE p1() SET @a=1;
+PREPARE stmt_1 FROM 'CALL p1()';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CALL' statement
+# were damaged.
+EXECUTE stmt_1;
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP PROCEDURE p1;
+# Test case 15: Check that the 'CREATE VIEW' statement can be executed
+# as a prepared statement.
+# Create environment for the test case
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+PREPARE stmt_1 FROM 'CREATE VIEW v1 AS SELECT * FROM t1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE VIEW'
+# statement were damaged. The second execution of the prepared
+# statement stmt_1 results in error ER_TABLE_EXISTS_ERROR since
+# the view v1 does already exist. It is expected behaviour.
+EXECUTE stmt_1;
+ERROR 42S01: Table 'v1' already exists
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP VIEW v1;
+DROP TABLE t1;
+# Test case 16: Check that the 'CREATE TRIGGER' statement can be executed
+# as a prepared statement.
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a=1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE VIEW' statement
+# were damaged. The second execution of the prepared statement stmt_1
+# results in error ER_TRG_ALREADY_EXISTS since the trigger trg1 does
+# already exist. It is expected behaviour.
+EXECUTE stmt_1;
+ERROR HY000: Trigger 'test.trg1' already exists
+# Test case 17: Check that the 'DROP TRIGGER' statement can be executed
+# as a prepared statement.
+# This test relies on presence of the trigger trg1 created by
+# the test case 16.
+PREPARE stmt_1 FROM 'DROP TRIGGER trg1';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'DROP TRIGGER' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error ER_TRG_DOES_NOT_EXIST.
+EXECUTE stmt_1;
+ERROR HY000: Trigger does not exist
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP TABLE t1;
+# Test case 18: Check that XA related SQL statements can be executed
+# as prepared statements.
+# Create the table t1 used by XA transaction.
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM "XA START 'xid1'";
+PREPARE stmt_2 FROM "XA END 'xid1'";
+PREPARE stmt_3 FROM "XA PREPARE 'xid1'";
+PREPARE stmt_4 FROM "XA RECOVER";
+PREPARE stmt_5 FROM "XA COMMIT 'xid1'";
+PREPARE stmt_6 FROM "XA ROLLBACK 'xid1'";
+# Start a new XA transaction
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'XA START' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error XAER_RMFAIL since there is active
+# XA transaction that has just been already.
+EXECUTE stmt_1;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state
+INSERT INTO t1 VALUES (1);
+# End the current XA transaction
+EXECUTE stmt_2;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'XA END' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error XAER_RMFAIL since the XA transaction
+# with XID 'xid1' has been already ended.
+EXECUTE stmt_2;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+# Prepare the current XA transaction for finalization
+EXECUTE stmt_3;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'XA END' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error XAER_RMFAIL since the XA transaction
+# with XID 'xid1' has been already ended.
+EXECUTE stmt_3;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+# Run XA RECOVER as a prepared statement
+EXECUTE stmt_4;
+formatID gtrid_length bqual_length data
+1 4 0 xid1
+# And execute it yet another time to check that no internal structures
+# used for handling the statement 'XA RECOVER' were damaged.
+EXECUTE stmt_4;
+formatID gtrid_length bqual_length data
+1 4 0 xid1
+# Commit the current XA transaction
+EXECUTE stmt_5;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'XA COMMIT' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error XAER_NOTA since the XA transaction
+# with XID 'xid1' has been finalized and no more exists.
+EXECUTE stmt_5;
+ERROR XAE04: XAER_NOTA: Unknown XID
+# Query the table t1 to check that it contains a record inserted by
+# the XA transaction just finished.
+SELECT * FROM t1;
+a
+1
+# Using prepared statements start a new XA transaction, INSERT a row
+# into the table t1, prepare the XA transaction and rollback it.
+# This use case is similar to precedence one except it does rollback
+# XA transaction instead commit it. Therefore every prepared statement
+# is executed only once except the last XA ROLLBACK.
+# Start a new XA transaction
+EXECUTE stmt_1;
+INSERT INTO t1 VALUES (1);
+# End the current XA transaction
+EXECUTE stmt_2;
+# Prepare the current XA transaction for finalization
+EXECUTE stmt_3;
+# Rolback the current XA transaction
+EXECUTE stmt_6;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the statement 'XA ROLLBACK'
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error XAER_NOTA since the XA transaction
+# with XID 'xid1' has been finalized and no more exists.
+EXECUTE stmt_6;
+ERROR XAE04: XAER_NOTA: Unknown XID
+# Clean up
+DROP TABLE t1;
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+DEALLOCATE PREPARE stmt_4;
+DEALLOCATE PREPARE stmt_5;
+DEALLOCATE PREPARE stmt_6;
+# Test case 19: Check that the CREATE SERVER/ALTER SERVER/DROP SERVER
+# statements can be executed as prepared statements.
+PREPARE stmt_1 FROM "CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (USER 'u1', HOST '127.0.0.1')";
+PREPARE stmt_2 FROM "ALTER SERVER s OPTIONS (USER 'u2')";
+PREPARE stmt_3 FROM "DROP SERVER s";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE SERVER' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error ER_FOREIGN_SERVER_EXISTS
+# since a server with same has just been created.
+EXECUTE stmt_1;
+ERROR HY000: The foreign server, s, you are trying to create already exists
+EXECUTE stmt_2;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'ALTER SERVER' statement
+# were damaged.
+EXECUTE stmt_2;
+EXECUTE stmt_3;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'DROP SERVER' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error ER_FOREIGN_SERVER_DOESNT_EXIST
+# since the server with same has just been dropped.
+EXECUTE stmt_3;
+ERROR HY000: The foreign server name you are trying to reference does not exist. Data source error: s
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+# Test case 21: Check that the SIGNAL and RESIGNAL statements
+# can be executed as a prepared statement
+PREPARE stmt_1 FROM "SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT='Hello, world!'";
+EXECUTE stmt_1;
+ERROR 45000: Hello, world!
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'SIGNAL' statement
+# were damaged.
+EXECUTE stmt_1;
+ERROR 45000: Hello, world!
+PREPARE stmt_1 FROM 'RESIGNAL SET MYSQL_ERRNO = 5';
+EXECUTE stmt_1;
+ERROR 0K000: RESIGNAL when handler not active
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'RESIGNAL' statement
+# were damaged.
+EXECUTE stmt_1;
+ERROR 0K000: RESIGNAL when handler not active
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+# Test case 23: Check the 'GET DIAGNOSTICS' statement
+# can be executed as a prepared statement
+PREPARE stmt_1 FROM 'GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT';
+# Query from non existent table to fill the diagnostics area
+# with information
+SELECT * FROM non_existent_table_1;
+ERROR 42S02: Table 'test.non_existent_table_1' doesn't exist
+EXECUTE stmt_1;
+# Check that information from diagnostics area has been retrieved
+SELECT @sqlstate, @errno, @text;
+@sqlstate @errno @text
+42S02 1146 Table 'test.non_existent_table_1' doesn't exist
+SELECT * FROM non_existent_table_1;
+ERROR 42S02: Table 'test.non_existent_table_1' doesn't exist
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the
+# 'GET DIAGNOSTICS CONDITION' statement were damaged.
+EXECUTE stmt_1;
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+# Test case 24: Check the statements 'BACKUP'/'BACKUP UNLOCK'
+# can be executed as a prepared statement
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'BACKUP LOCK t1';
+PREPARE stmt_2 FROM 'BACKUP UNLOCK';
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'BACKUP LOCK'
+# statement were damaged.
+EXECUTE stmt_1;
+EXECUTE stmt_2;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'BACKUP UNLOCK'
+# statement were damaged.
+EXECUTE stmt_2;
+# Clean up
+DROP TABLE t1;
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+# Test Test case 25: Check the statements 'CREATE/ALTER/DROP TABLEPSPACE'
+# can be executed as a prepared statement
+PREPARE stmt_1 FROM "CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd' ENGINE=InnoDB";
+PREPARE stmt_2 FROM "ALTER TABLESPACE ts1 ADD DATAFILE 'ts1_1.ibd' ENGINE=InnoDB";
+PREPARE stmt_3 FROM "DROP TABLESPACE ts1 ENGINE=InnoDB";
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE TABLESPACE'
+# statement were damaged.
+EXECUTE stmt_1;
+EXECUTE stmt_2;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'ALTER TABLESPACE'
+# statement were damaged.
+EXECUTE stmt_2;
+EXECUTE stmt_3;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'DROP TABLESPACE'
+# statement were damaged.
+EXECUTE stmt_3;
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds.test b/mysql-test/main/ps_missed_cmds.test
new file mode 100644
index 00000000000..1546b064d89
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds.test
@@ -0,0 +1,634 @@
+--source include/have_innodb.inc
+
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Need regular protocol but ps-protocol was specified
+}
+
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+
+--echo #
+--echo # MDEV-16708: Unsupported commands for prepared statements
+--echo #
+
+--echo # Disable ps-protocol explicitly in order to test support of
+--echo # prepared statements for use case when statements passed
+--echo # to the server via text client-server protocol (in contrast
+--echo # with binary protocol used in the test file
+--echo # ps_missed_cmds_bin_prot.test)
+--disable_ps_protocol
+
+--echo # Test case 1: Check that the statement 'LOAD DATA' is supported
+--echo # by prepared statements
+
+--echo # First, set up environment for use by the 'LOAD DATA' statement
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+SELECT * INTO OUTFILE 'load.data' FROM t1;
+
+PREPARE stmt_1 FROM "LOAD DATA INFILE 'load.data' INTO TABLE t1";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'LOAD DATA' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+SELECT * FROM t1;
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP TABLE t1;
+--let $datadir= `select @@datadir`
+--remove_file $datadir/test/load.data
+
+--echo # Test case 2: Check that the 'LOCK TABLE', 'UNLOCK TABLES' statements
+--echo # are supported by prepared statements
+CREATE TABLE t1 (a INT);
+
+PREPARE stmt_1 FROM "LOCK TABLE t1 READ";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'LOCK TABLE READ'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+
+PREPARE stmt_1 FROM "UNLOCK TABLE";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'UNLOCK TABLE' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+
+PREPARE stmt_1 FROM "LOCK TABLE t1 WRITE";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'LOCK TABLE WRITE'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+UNLOCK TABLE;
+DROP TABLE t1;
+
+--echo # Test case 3: Check that the 'USE' statement is supported by
+--echo # prepared statements
+
+CREATE DATABASE mdev_16708_db;
+PREPARE stmt_1 FROM 'USE mdev_16708_db';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'USE' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+
+--echo # Check that the current database has been changed
+SELECT DATABASE();
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+USE test;
+DROP DATABASE mdev_16708_db;
+
+--echo # Test case 4: Check that the 'ALTER DATABASE' statement is supported
+--echo # by prepared statements
+CREATE DATABASE mdev_16708_db;
+PREPARE stmt_1 FROM "ALTER DATABASE mdev_16708_db COMMENT 'New comment'";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'ALTER DATABASE' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+USE test;
+DROP DATABASE mdev_16708_db;
+
+--echo # Test case 5: Check that the 'CREATE FUNCTION/ALTER FUNCTION/
+--echo # DROP FUNCTION' statements are supported by prepared statements
+PREPARE stmt_1 FROM 'CREATE FUNCTION f1() RETURNS INT RETURN 1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE FUNCTION'
+--echo # statement were damaged. The second attempt to execute the prepared
+--echo # statement stmt_1 results in error ER_SP_ALREADY_EXISTS since
+--echo # the stored function f() has been created on first run of stmt1.
+--error ER_SP_ALREADY_EXISTS
+EXECUTE stmt_1;
+
+PREPARE stmt_1 FROM 'ALTER FUNCTION f1 SQL SECURITY INVOKER';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'ALTER FUNCTION'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+
+PREPARE stmt_1 FROM 'DROP FUNCTION f1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling 'DROP FUNCTION' statement
+--echo # were damaged. The second attempt to run 'DROP FUNCTION f1' using
+--echo # prepared statement expectedly results in issuing the error
+--echo # ER_SP_DOES_NOT_EXIST since the stored function was dropped on first
+--echo # executuon of the prepared statement stmt_1.
+--error ER_SP_DOES_NOT_EXIST
+EXECUTE stmt_1;
+
+--echo # Test case 6: Check that the 'CHECK TABLE' statement is supported
+--echo # by prepared statements
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'CHECK TABLE t1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CHECK TABLE' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP TABLE t1;
+
+--echo # Test case 7: Check that the BEGIN/SAVEPOINT/RELEASE SAVEPOINT
+--echo # statements are supported by prepared statements
+
+--echo # Set up environmentr for the test case
+CREATE TABLE t1 (a INT);
+
+PREPARE stmt_1 FROM 'BEGIN';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'BEGIN' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+
+INSERT INTO t1 VALUES (1);
+--echo # Run 'SAVEPOINT s1' using prepared statements
+PREPARE stmt_2 FROM 'SAVEPOINT s1';
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'SAVEPOINT' statement
+--echo # were damaged.
+EXECUTE stmt_2;
+
+INSERT INTO t1 VALUES (2);
+--echo # Expected rows: '1' and '2'
+SELECT * FROM t1;
+--echo # Rollback the last row inserted ('2')
+ROLLBACK TO SAVEPOINT s1;
+--echo # Expected output from t1 after transaction has been rolled back
+--echo # to the savepoint is '1'. If it is case then the statement SAVEPOINT
+--echo # was handled successfully with prepared statement
+SELECT * FROM t1;
+
+PREPARE stmt_3 FROM 'RELEASE SAVEPOINT s1';
+EXECUTE stmt_3;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'RELEASE' statement
+--echo # were damaged. The second attempt to release the same savepoint
+--echo # expectedly lead to error 'SAVEPOINT s1 does not exist'
+--echo # that's just ignored.
+--error ER_SP_DOES_NOT_EXIST
+EXECUTE stmt_3;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+DROP TABLE t1;
+
+--echo # Test case 8: Check that the 'PURGE BINARY LOGS BEFORE' statement
+--echo # is supported by prepared statements
+PREPARE stmt_1 FROM "PURGE BINARY LOGS BEFORE '2020-11-17'";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'PURGE BINARY LOGS BEFORE'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+
+--echo # Check that the 'PURGE BINARY LOGS TO' statement is supported by
+--echo # prepared statements
+PREPARE stmt_1 FROM "PURGE BINARY LOGS TO 'mariadb-bin.000063'";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'PURGE BINARY LOGS TO'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+
+--echo # Test case 9: Check that the 'HANDLER OPEN/HANDLER READ/
+--echo # HANDLER CLOSE' statements are supported by prepared statements
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+
+PREPARE stmt_1 FROM 'HANDLER t1 OPEN';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'HANDLER OPEN'
+--echo # statement were damaged. Execution of this statement the second
+--echo # time expectedly results in emitting the error ER_NONUNIQ_TABLE.
+--echo # The same error is issued in case the statement 'HANDLER t1 OPEN' is
+--echo # executed twice using a regular statement.
+--error ER_NONUNIQ_TABLE
+EXECUTE stmt_1;
+
+PREPARE stmt_2 FROM 'HANDLER t1 READ FIRST';
+PREPARE stmt_3 FROM 'HANDLER t1 READ NEXT';
+PREPARE stmt_4 FROM 'HANDLER t1 CLOSE';
+
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'HANDLER READ FIRST'
+--echo # statement were damaged.
+EXECUTE stmt_2;
+
+EXECUTE stmt_3;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'HANDLER READ NEXT'
+--echo # statement were damaged.
+EXECUTE stmt_3;
+
+EXECUTE stmt_4;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'HANDLER CLOSE'
+--echo # statement were damaged. Execution of this statement the second
+--echo # time results in emitting the error ER_UNKNOWN_TABLE. The same error
+--echo # is issued in case the statement 'HANDLER t1 CLOSE' executed twice
+--echo # using a regular statement.
+--error ER_UNKNOWN_TABLE
+EXECUTE stmt_4;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+DEALLOCATE PREPARE stmt_4;
+DROP TABLE t1;
+
+--echo # Test case 10: Check that the HELP statement
+--echo # is supported by prepared statements
+PREPARE stmt_1 FROM "HELP `UPDATE`";
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'HELP' statement
+--echo # were damaged.
+
+EXECUTE stmt_1;
+
+--echo # Test case 11: Check that the 'CREATE PROCEDURE' statement
+--echo # is supported by prepared statements
+PREPARE stmt_1 FROM 'CREATE PROCEDURE p1() SET @a=1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE PROCEDURE'
+--echo # statement were damaged. Execution of this statement the second
+--echo # time expectedly results in emitting the error ER_SP_ALREADY_EXISTS.
+--echo # The same error is issued in case the 'HANDLER t1 OPEN' statement
+--echo # is executed twice using a regular statement.
+--error ER_SP_ALREADY_EXISTS
+EXECUTE stmt_1;
+
+--echo # Test case 12: Check that the 'ALTER PROCEDURE' statement is supported
+--echo # by prepared statements.
+# This test case relies on artefacts of the test case 11 (the procedure p1)
+
+PREPARE stmt_1 FROM 'ALTER PROCEDURE p1 SQL SECURITY INVOKER';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'ALTER PROCEDURE'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+
+--echo # Test case 13: Check that the 'DROP PROCEDURE' statement is supported
+--echo # by prepared statements.
+# This test case relies on artefacts of the test case 11 (the procedure p1)
+PREPARE stmt_1 FROM 'DROP PROCEDURE p1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'DROP PROCEDURE' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error ER_SP_DOES_NOT_EXIST.
+
+--error ER_SP_DOES_NOT_EXIST
+EXECUTE stmt_1;
+
+--echo # Test case 14: Check that the 'CALL' statement is supported
+--echo # by prepared statements.
+
+CREATE PROCEDURE p1() SET @a=1;
+PREPARE stmt_1 FROM 'CALL p1()';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CALL' statement
+--echo # were damaged.
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP PROCEDURE p1;
+
+--echo # Test case 15: Check that the 'CREATE VIEW' statement can be executed
+--echo # as a prepared statement.
+--echo # Create environment for the test case
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+
+PREPARE stmt_1 FROM 'CREATE VIEW v1 AS SELECT * FROM t1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE VIEW'
+--echo # statement were damaged. The second execution of the prepared
+--echo # statement stmt_1 results in error ER_TABLE_EXISTS_ERROR since
+--echo # the view v1 does already exist. It is expected behaviour.
+
+--error ER_TABLE_EXISTS_ERROR
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+--echo # Test case 16: Check that the 'CREATE TRIGGER' statement can be executed
+--echo # as a prepared statement.
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a=1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE VIEW' statement
+--echo # were damaged. The second execution of the prepared statement stmt_1
+--echo # results in error ER_TRG_ALREADY_EXISTS since the trigger trg1 does
+--echo # already exist. It is expected behaviour.
+--error ER_TRG_ALREADY_EXISTS
+EXECUTE stmt_1;
+
+--echo # Test case 17: Check that the 'DROP TRIGGER' statement can be executed
+--echo # as a prepared statement.
+--echo # This test relies on presence of the trigger trg1 created by
+--echo # the test case 16.
+PREPARE stmt_1 FROM 'DROP TRIGGER trg1';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'DROP TRIGGER' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error ER_TRG_DOES_NOT_EXIST.
+--error ER_TRG_DOES_NOT_EXIST
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DROP TABLE t1;
+
+--echo # Test case 18: Check that XA related SQL statements can be executed
+--echo # as prepared statements.
+--echo # Create the table t1 used by XA transaction.
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM "XA START 'xid1'";
+PREPARE stmt_2 FROM "XA END 'xid1'";
+PREPARE stmt_3 FROM "XA PREPARE 'xid1'";
+PREPARE stmt_4 FROM "XA RECOVER";
+PREPARE stmt_5 FROM "XA COMMIT 'xid1'";
+PREPARE stmt_6 FROM "XA ROLLBACK 'xid1'";
+
+--echo # Start a new XA transaction
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'XA START' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error XAER_RMFAIL since there is active
+--echo # XA transaction that has just been already.
+--error ER_XAER_RMFAIL
+EXECUTE stmt_1;
+
+INSERT INTO t1 VALUES (1);
+
+--echo # End the current XA transaction
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'XA END' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error XAER_RMFAIL since the XA transaction
+--echo # with XID 'xid1' has been already ended.
+--error ER_XAER_RMFAIL
+EXECUTE stmt_2;
+
+--echo # Prepare the current XA transaction for finalization
+EXECUTE stmt_3;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'XA END' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error XAER_RMFAIL since the XA transaction
+--echo # with XID 'xid1' has been already ended.
+--error ER_XAER_RMFAIL
+EXECUTE stmt_3;
+
+--echo # Run XA RECOVER as a prepared statement
+EXECUTE stmt_4;
+--echo # And execute it yet another time to check that no internal structures
+--echo # used for handling the statement 'XA RECOVER' were damaged.
+EXECUTE stmt_4;
+
+--echo # Commit the current XA transaction
+EXECUTE stmt_5;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'XA COMMIT' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error XAER_NOTA since the XA transaction
+--echo # with XID 'xid1' has been finalized and no more exists.
+--error ER_XAER_NOTA
+EXECUTE stmt_5;
+
+--echo # Query the table t1 to check that it contains a record inserted by
+--echo # the XA transaction just finished.
+SELECT * FROM t1;
+
+--echo # Using prepared statements start a new XA transaction, INSERT a row
+--echo # into the table t1, prepare the XA transaction and rollback it.
+--echo # This use case is similar to precedence one except it does rollback
+--echo # XA transaction instead commit it. Therefore every prepared statement
+--echo # is executed only once except the last XA ROLLBACK.
+
+--echo # Start a new XA transaction
+EXECUTE stmt_1;
+
+INSERT INTO t1 VALUES (1);
+
+--echo # End the current XA transaction
+EXECUTE stmt_2;
+
+--echo # Prepare the current XA transaction for finalization
+EXECUTE stmt_3;
+
+--echo # Rolback the current XA transaction
+EXECUTE stmt_6;
+
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the statement 'XA ROLLBACK'
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error XAER_NOTA since the XA transaction
+--echo # with XID 'xid1' has been finalized and no more exists.
+--error ER_XAER_NOTA
+EXECUTE stmt_6;
+
+--echo # Clean up
+DROP TABLE t1;
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+DEALLOCATE PREPARE stmt_4;
+DEALLOCATE PREPARE stmt_5;
+DEALLOCATE PREPARE stmt_6;
+
+--echo # Test case 19: Check that the CREATE SERVER/ALTER SERVER/DROP SERVER
+--echo # statements can be executed as prepared statements.
+
+PREPARE stmt_1 FROM "CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (USER 'u1', HOST '127.0.0.1')";
+PREPARE stmt_2 FROM "ALTER SERVER s OPTIONS (USER 'u2')";
+PREPARE stmt_3 FROM "DROP SERVER s";
+
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE SERVER' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error ER_FOREIGN_SERVER_EXISTS
+--echo # since a server with same has just been created.
+--error ER_FOREIGN_SERVER_EXISTS
+EXECUTE stmt_1;
+
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'ALTER SERVER' statement
+--echo # were damaged.
+EXECUTE stmt_2;
+
+EXECUTE stmt_3;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'DROP SERVER' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error ER_FOREIGN_SERVER_DOESNT_EXIST
+--echo # since the server with same has just been dropped.
+--error ER_FOREIGN_SERVER_DOESNT_EXIST
+EXECUTE stmt_3;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+
+--echo # Test case 21: Check that the SIGNAL and RESIGNAL statements
+--echo # can be executed as a prepared statement
+PREPARE stmt_1 FROM "SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT='Hello, world!'";
+--error 30001
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'SIGNAL' statement
+--echo # were damaged.
+--error 30001
+EXECUTE stmt_1;
+
+PREPARE stmt_1 FROM 'RESIGNAL SET MYSQL_ERRNO = 5';
+--error ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'RESIGNAL' statement
+--echo # were damaged.
+--error ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+
+--echo # Test case 23: Check the 'GET DIAGNOSTICS' statement
+--echo # can be executed as a prepared statement
+PREPARE stmt_1 FROM 'GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT';
+
+--echo # Query from non existent table to fill the diagnostics area
+--echo # with information
+--error ER_NO_SUCH_TABLE
+SELECT * FROM non_existent_table_1;
+EXECUTE stmt_1;
+--echo # Check that information from diagnostics area has been retrieved
+SELECT @sqlstate, @errno, @text;
+
+--error ER_NO_SUCH_TABLE
+SELECT * FROM non_existent_table_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the
+--echo # 'GET DIAGNOSTICS CONDITION' statement were damaged.
+EXECUTE stmt_1;
+
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+
+--echo # Test case 24: Check the statements 'BACKUP'/'BACKUP UNLOCK'
+--echo # can be executed as a prepared statement
+CREATE TABLE t1 (a INT);
+PREPARE stmt_1 FROM 'BACKUP LOCK t1';
+PREPARE stmt_2 FROM 'BACKUP UNLOCK';
+
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'BACKUP LOCK'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'BACKUP UNLOCK'
+--echo # statement were damaged.
+EXECUTE stmt_2;
+
+--echo # Clean up
+DROP TABLE t1;
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+
+--echo # Test Test case 25: Check the statements 'CREATE/ALTER/DROP TABLEPSPACE'
+--echo # can be executed as a prepared statement
+
+PREPARE stmt_1 FROM "CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd' ENGINE=InnoDB";
+PREPARE stmt_2 FROM "ALTER TABLESPACE ts1 ADD DATAFILE 'ts1_1.ibd' ENGINE=InnoDB";
+PREPARE stmt_3 FROM "DROP TABLESPACE ts1 ENGINE=InnoDB";
+
+# Since MariaDB supports for tablespaces only on syntax level disable warnings
+# before run CREATE/ALTER/DROP TABLESPACE statements in order to exclude
+# the following in result output
+# Warning 1478 Table storage engine 'InnoDB' does not support the create option 'TABLESPACE
+--disable_warnings
+
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE TABLESPACE'
+--echo # statement were damaged.
+# Since the 'CREATE TABLESPACE' statement is supported by MariaDB on syntax
+# level only the second invocation of the CREATE TABLESPACE statement for
+# the same tablespace name doesn't lead to error.
+EXECUTE stmt_1;
+
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'ALTER TABLESPACE'
+--echo # statement were damaged.
+EXECUTE stmt_2;
+
+EXECUTE stmt_3;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'DROP TABLESPACE'
+--echo # statement were damaged.
+
+# Since the 'DROP TABLESPACE' statement is supported by MariaDB on syntax
+# level only the second invocation of the DROP TABLESPACE statement for
+# the same tablespace name doesn't lead to an error that tablespace
+# doesn't exist.
+EXECUTE stmt_3;
+
+--enable_warnings
+
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+
+--enable_ps_protocol
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds_bin_prot.result b/mysql-test/main/ps_missed_cmds_bin_prot.result
new file mode 100644
index 00000000000..d27159354f5
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds_bin_prot.result
@@ -0,0 +1,244 @@
+#
+# MDEV-16708: Unsupported commands for prepared statements
+#
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+# Test case 1: Check that the statement 'LOAD DATA' is supported
+# by prepared statements
+# First, set up environment for use by the statement 'LOAD DATA'
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+SELECT * INTO OUTFILE 'load.data' FROM t1;
+LOAD DATA INFILE 'load.data' INTO TABLE t1;
+SELECT * FROM t1;
+a
+1
+1
+# Clean up
+DROP TABLE t1;
+# Test case 2: Check that the statements 'LOCK TABLE', 'UNLOCK TABLES'
+# are supported by prepared statements
+CREATE TABLE t1 (a INT);
+LOCK TABLE t1 READ;
+UNLOCK TABLE;
+LOCK TABLE t1 WRITE;
+# Clean up
+UNLOCK TABLE;
+DROP TABLE t1;
+# Test case 3: Check that the statement 'USE' is supported by
+# prepared statements
+CREATE DATABASE mdev_16708_db;
+USE mdev_16708_db;
+# Check that the current database has been changed
+SELECT DATABASE();
+DATABASE()
+mdev_16708_db
+# Clean up
+USE test;
+DROP DATABASE mdev_16708_db;
+# Test case 4: Check that the statement 'ALTER DATABASE' is supported
+# by prepared statements
+CREATE DATABASE mdev_16708_db;
+ALTER DATABASE mdev_16708_db COMMENT 'New comment on database';
+# Clean up
+DROP DATABASE mdev_16708_db;
+# Test case 5: Check that the statements 'CREATE FUNCTION/ALTER FUNCTION/
+# DROP FUNCTION' are supported by prepared statements
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+ALTER FUNCTION f1 SQL SECURITY INVOKER;
+DROP FUNCTION f1;
+# Test case 6: Check that the statements 'CHECK TABLE' is supported
+# by prepared statements
+CREATE TABLE t1 (a INT);
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+# Clean up
+DROP TABLE t1;
+# Test case 7: Check that the statements BEGIN/SAVEPOINT/
+# RELEASE SAVEPOINT is supported by prepared statements
+# Set up environmentr for the test case
+CREATE TABLE t1 (a INT);
+BEGIN;
+INSERT INTO t1 VALUES (1);
+SAVEPOINT s1;
+INSERT INTO t1 VALUES (2);
+# Expected rows: '1' and '2'
+SELECT * FROM t1;
+a
+1
+2
+# Rollback the last row inserted ('2')
+ROLLBACK TO SAVEPOINT s1;
+# Expected output from t1 after transaction was rolled back
+# to the savepoint is '1'. If it is case then the statement SAVEPOINT
+# was handled successfully with prepared statement
+SELECT * FROM t1;
+a
+1
+RELEASE SAVEPOINT s1;
+# Clean up
+DROP TABLE t1;
+# Test case 8: Check that the statements 'PURGE BINARY LOGS BEFORE'
+# is supported by prepared statements
+PURGE BINARY LOGS BEFORE '2020-11-17';
+# Check that the statements 'PURGE BINARY LOGS TO' is supported by
+# prepared statements
+PURGE BINARY LOGS TO 'mariadb-bin.000063';
+# Test case 9: Check that the statements 'HANDLER OPEN/HANDLER READ/
+# HANDLER CLOSE' are supported by prepared statements
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+HANDLER t1 OPEN;
+HANDLER t1 READ FIRST;
+a
+1
+HANDLER t1 READ NEXT;
+a
+1
+HANDLER t1 CLOSE;
+# Clean up
+DROP TABLE t1;
+# Test case 10: Check that the statements 'HELP'
+# is supported by prepared statements
+HELP `ALTER SERVER`;
+name description example
+ALTER SERVER Syntax
+------
+ALTER SERVER server_name
+ OPTIONS (option [, option] ...)
+
+Description
+-----------
+Alters the server information for server_name, adjusting the
+specified
+options as per the CREATE SERVER command. The corresponding
+fields in the mysql.servers table are updated accordingly.
+This statement requires the SUPER privilege.
+
+Examples
+--------
+ALTER SERVER s OPTIONS (USER 'sally');
+
+
+
+URL: https://mariadb.com/kb/en/library/alter-server/
+# Test case 11: Check that the statements CREATE/ALTER/DROP PROCEDURE
+# are supported by prepared statements
+CREATE PROCEDURE p1() SET @a=1;
+ALTER PROCEDURE p1 SQL SECURITY INVOKER;
+DROP PROCEDURE p1;
+# Test case 12: Check that the statement 'CALL' is supported
+# by prepared statements.
+CREATE PROCEDURE p1() SET @a=1;
+CALL p1();
+# Check that the @a variable has been set
+SELECT @a;
+@a
+1
+DROP PROCEDURE p1;
+# Test case 13: Check that the statements PREPARE FROM/EXECUTE/
+# DEALLOCAT PREPARE can be executed as prepared statements.
+PREPARE stmt_1 FROM 'SELECT 1';
+# Now execute the prepared statement with the name stmt_1
+# It is expected that output contains the single row '1'
+EXECUTE stmt_1;
+1
+1
+DEALLOCATE PREPARE stmt_1;
+# Test case 14: Check that the statement 'CREATE VIEW' can be executed
+# as a prepared statement.
+# Create environment for the test case
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+CREATE VIEW v1 AS SELECT * FROM t1;
+# Query the view. Expected result is the row '1'
+SELECT * FROM v1;
+a
+1
+# Clean up
+DROP VIEW v1;
+DROP TABLE t1;
+# Test case 15: Check that the statements CREATE/DROP TRIGGER can be executed
+# as prepared statements.
+CREATE TABLE t1 (a INT);
+CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a=1;
+DROP TRIGGER trg1;
+DROP TABLE t1;
+# Test case 16: Check that XA related SQL statements can be executed in
+# as prepared statements.
+# Create the table t1 used by XA transaction.
+CREATE TABLE t1 (a INT);
+XA START 'xid1';
+INSERT INTO t1 VALUES (1);
+XA END 'xid1';
+XA PREPARE 'xid1';
+XA RECOVER;
+formatID gtrid_length bqual_length data
+1 4 0 xid1
+XA COMMIT 'xid1';
+# Query the table t1 to check that it contains a record inserted by XA
+# transaction just committed.
+SELECT * FROM t1;
+a
+1
+# Check that XA ROLLBACK is supported by prepared statements
+# First, clean up the table t1 that was filled by just
+# committed XA transaction
+TRUNCATE TABLE t1;
+XA START 'xid1';
+INSERT INTO t1 VALUES (1);
+XA END 'xid1';
+XA PREPARE 'xid1';
+XA RECOVER;
+formatID gtrid_length bqual_length data
+1 4 0 xid1
+XA ROLLBACK 'xid1';
+# Query the table t1 to check that it doesn't contain a record
+# inserted by XA transaction just rollbacked.
+SELECT * FROM t1;
+a
+# Clean up
+DROP TABLE t1;
+# Test case 17: Check that the statements CREATE SERVER/ALTER SERVER/
+# DROP SERVER can be executed
+# as a prepared statement.
+CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (USER 'u1', HOST '127.0.0.1');
+ALTER SERVER s OPTIONS (USER 'u2');
+DROP SERVER s;
+# Test Test case 21: Check the statements 'BACKUP'/'BACKUP STAGE'
+# can be executed as a prepared statement
+CREATE TABLE t1 (a INT);
+BACKUP LOCK t1;
+BACKUP UNLOCK;
+BACKUP STAGE START;
+BACKUP STAGE BLOCK_COMMIT;
+BACKUP STAGE END;
+DROP TABLE t1;
+# Test case 22: Check the the statement 'GET DIAGNOSTICS'
+# can be executed as a prepared statement
+# Query from non existent table to fill the diagnostics area with information
+SELECT * FROM non_existent_table_1;
+ERROR 42S02: Table 'test.non_existent_table_1' doesn't exist
+GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
+# Check that information from diagnostics area has been retrieved
+SELECT @sqlstate, @errno, @text;
+@sqlstate @errno @text
+42S02 1146 Table 'test.non_existent_table_1' doesn't exist
+# Clean up
+# Test case 23: Check that the statements SIGNAL and RESIGNAL can be executed as
+# a prepared statement
+SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT='Hello, world!';
+ERROR 45000: Hello, world!
+RESIGNAL SET MESSAGE_TEXT = 'New error message';
+ERROR 0K000: RESIGNAL when handler not active
+# Test Test case 29: Check the statements 'CREATE/ALTER/DROP TABLEPSPACE'
+# can be executed as a prepared statement
+CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd' ENGINE=InnoDB;
+ALTER TABLESPACE ts1 ADD DATAFILE 'ts1_1.ibd' ENGINE=InnoDB;
+DROP TABLESPACE ts1 ENGINE=InnoDB;
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds_bin_prot.test b/mysql-test/main/ps_missed_cmds_bin_prot.test
new file mode 100644
index 00000000000..f36385cc079
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds_bin_prot.test
@@ -0,0 +1,269 @@
+--echo #
+--echo # MDEV-16708: Unsupported commands for prepared statements
+--echo #
+
+if (`SELECT $PS_PROTOCOL = 0`)
+{
+ --skip Need ps-protocol
+}
+
+--source include/have_innodb.inc
+
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+
+--echo # Test case 1: Check that the statement 'LOAD DATA' is supported
+--echo # by prepared statements
+
+--echo # First, set up environment for use by the statement 'LOAD DATA'
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+SELECT * INTO OUTFILE 'load.data' FROM t1;
+
+LOAD DATA INFILE 'load.data' INTO TABLE t1;
+SELECT * FROM t1;
+--echo # Clean up
+DROP TABLE t1;
+--let $datadir= `select @@datadir`
+--remove_file $datadir/test/load.data
+
+--echo # Test case 2: Check that the statements 'LOCK TABLE', 'UNLOCK TABLES'
+--echo # are supported by prepared statements
+CREATE TABLE t1 (a INT);
+
+LOCK TABLE t1 READ;
+UNLOCK TABLE;
+
+LOCK TABLE t1 WRITE;
+--echo # Clean up
+UNLOCK TABLE;
+DROP TABLE t1;
+
+--echo # Test case 3: Check that the statement 'USE' is supported by
+--echo # prepared statements
+
+CREATE DATABASE mdev_16708_db;
+USE mdev_16708_db;
+
+--echo # Check that the current database has been changed
+SELECT DATABASE();
+
+--echo # Clean up
+USE test;
+DROP DATABASE mdev_16708_db;
+
+--echo # Test case 4: Check that the statement 'ALTER DATABASE' is supported
+--echo # by prepared statements
+CREATE DATABASE mdev_16708_db;
+ALTER DATABASE mdev_16708_db COMMENT 'New comment on database';
+
+--echo # Clean up
+DROP DATABASE mdev_16708_db;
+
+--echo # Test case 5: Check that the statements 'CREATE FUNCTION/ALTER FUNCTION/
+--echo # DROP FUNCTION' are supported by prepared statements
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+
+ALTER FUNCTION f1 SQL SECURITY INVOKER;
+
+DROP FUNCTION f1;
+
+--echo # Test case 6: Check that the statements 'CHECK TABLE' is supported
+--echo # by prepared statements
+CREATE TABLE t1 (a INT);
+CHECK TABLE t1;
+--echo # Clean up
+DROP TABLE t1;
+
+--echo # Test case 7: Check that the statements BEGIN/SAVEPOINT/
+--echo # RELEASE SAVEPOINT is supported by prepared statements
+
+--echo # Set up environmentr for the test case
+CREATE TABLE t1 (a INT);
+
+BEGIN;
+
+INSERT INTO t1 VALUES (1);
+
+SAVEPOINT s1;
+
+INSERT INTO t1 VALUES (2);
+--echo # Expected rows: '1' and '2'
+SELECT * FROM t1;
+--echo # Rollback the last row inserted ('2')
+ROLLBACK TO SAVEPOINT s1;
+--echo # Expected output from t1 after transaction was rolled back
+--echo # to the savepoint is '1'. If it is case then the statement SAVEPOINT
+--echo # was handled successfully with prepared statement
+SELECT * FROM t1;
+
+RELEASE SAVEPOINT s1;
+
+--echo # Clean up
+DROP TABLE t1;
+
+--echo # Test case 8: Check that the statements 'PURGE BINARY LOGS BEFORE'
+--echo # is supported by prepared statements
+PURGE BINARY LOGS BEFORE '2020-11-17';
+
+--echo # Check that the statements 'PURGE BINARY LOGS TO' is supported by
+--echo # prepared statements
+PURGE BINARY LOGS TO 'mariadb-bin.000063';
+
+--echo # Test case 9: Check that the statements 'HANDLER OPEN/HANDLER READ/
+--echo # HANDLER CLOSE' are supported by prepared statements
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+
+HANDLER t1 OPEN;
+HANDLER t1 READ FIRST;
+HANDLER t1 READ NEXT;
+HANDLER t1 CLOSE;
+
+--echo # Clean up
+DROP TABLE t1;
+
+--echo # Test case 10: Check that the statements 'HELP'
+--echo # is supported by prepared statements
+HELP `ALTER SERVER`;
+
+--echo # Test case 11: Check that the statements CREATE/ALTER/DROP PROCEDURE
+--echo # are supported by prepared statements
+CREATE PROCEDURE p1() SET @a=1;
+ALTER PROCEDURE p1 SQL SECURITY INVOKER;
+DROP PROCEDURE p1;
+
+--echo # Test case 12: Check that the statement 'CALL' is supported
+--echo # by prepared statements.
+
+CREATE PROCEDURE p1() SET @a=1;
+CALL p1();
+
+--echo # Check that the @a variable has been set
+SELECT @a;
+DROP PROCEDURE p1;
+
+--echo # Test case 13: Check that the statements PREPARE FROM/EXECUTE/
+--echo # DEALLOCAT PREPARE can be executed as prepared statements.
+PREPARE stmt_1 FROM 'SELECT 1';
+
+--echo # Now execute the prepared statement with the name stmt_1
+--echo # It is expected that output contains the single row '1'
+EXECUTE stmt_1;
+
+DEALLOCATE PREPARE stmt_1;
+
+--echo # Test case 14: Check that the statement 'CREATE VIEW' can be executed
+--echo # as a prepared statement.
+--echo # Create environment for the test case
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+COMMIT;
+
+CREATE VIEW v1 AS SELECT * FROM t1;
+--echo # Query the view. Expected result is the row '1'
+SELECT * FROM v1;
+--echo # Clean up
+DROP VIEW v1;
+DROP TABLE t1;
+
+--echo # Test case 15: Check that the statements CREATE/DROP TRIGGER can be executed
+--echo # as prepared statements.
+CREATE TABLE t1 (a INT);
+CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a=1;
+
+DROP TRIGGER trg1;
+DROP TABLE t1;
+
+--echo # Test case 16: Check that XA related SQL statements can be executed in
+--echo # as prepared statements.
+--echo # Create the table t1 used by XA transaction.
+CREATE TABLE t1 (a INT);
+XA START 'xid1';
+INSERT INTO t1 VALUES (1);
+XA END 'xid1';
+XA PREPARE 'xid1';
+XA RECOVER;
+XA COMMIT 'xid1';
+--echo # Query the table t1 to check that it contains a record inserted by XA
+--echo # transaction just committed.
+SELECT * FROM t1;
+
+--echo # Check that XA ROLLBACK is supported by prepared statements
+
+--echo # First, clean up the table t1 that was filled by just
+--echo # committed XA transaction
+TRUNCATE TABLE t1;
+XA START 'xid1';
+INSERT INTO t1 VALUES (1);
+XA END 'xid1';
+XA PREPARE 'xid1';
+XA RECOVER;
+XA ROLLBACK 'xid1';
+
+--echo # Query the table t1 to check that it doesn't contain a record
+--echo # inserted by XA transaction just rollbacked.
+SELECT * FROM t1;
+
+--echo # Clean up
+DROP TABLE t1;
+
+--echo # Test case 17: Check that the statements CREATE SERVER/ALTER SERVER/
+--echo # DROP SERVER can be executed
+--echo # as a prepared statement.
+
+CREATE SERVER s FOREIGN DATA WRAPPER mysql OPTIONS (USER 'u1', HOST '127.0.0.1');
+ALTER SERVER s OPTIONS (USER 'u2');
+DROP SERVER s;
+
+--echo # Test Test case 21: Check the statements 'BACKUP'/'BACKUP STAGE'
+--echo # can be executed as a prepared statement
+CREATE TABLE t1 (a INT);
+BACKUP LOCK t1;
+BACKUP UNLOCK;
+
+BACKUP STAGE START;
+BACKUP STAGE BLOCK_COMMIT;
+BACKUP STAGE END;
+
+DROP TABLE t1;
+
+--echo # Test case 22: Check the the statement 'GET DIAGNOSTICS'
+--echo # can be executed as a prepared statement
+
+--echo # Query from non existent table to fill the diagnostics area with information
+--error ER_NO_SUCH_TABLE
+SELECT * FROM non_existent_table_1;
+GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
+--echo # Check that information from diagnostics area has been retrieved
+SELECT @sqlstate, @errno, @text;
+--echo # Clean up
+
+--echo # Test case 23: Check that the statements SIGNAL and RESIGNAL can be executed as
+--echo # a prepared statement
+
+--error 30001
+SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=30001, MESSAGE_TEXT='Hello, world!';
+
+--error ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER
+RESIGNAL SET MESSAGE_TEXT = 'New error message';
+
+--echo # Test Test case 29: Check the statements 'CREATE/ALTER/DROP TABLEPSPACE'
+--echo # can be executed as a prepared statement
+
+# Since MariaDB supports for tablespaces only on syntax level disable warnings
+# before run CREATE/ALTER/DROP TABLESPACE statements in order to exclude
+# the following in result output
+# Warning 1478 Table storage engine 'InnoDB' does not support the create option 'TABLESPACE
+--disable_warnings
+
+CREATE TABLESPACE ts1 ADD DATAFILE 'ts1.ibd' ENGINE=InnoDB;
+ALTER TABLESPACE ts1 ADD DATAFILE 'ts1_1.ibd' ENGINE=InnoDB;
+DROP TABLESPACE ts1 ENGINE=InnoDB;
+
+--enable_warnings
+
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.result b/mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.result
new file mode 100644
index 00000000000..0e36165db33
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.result
@@ -0,0 +1,21 @@
+#
+# MDEV-16708: Unsupported commands for prepared statements
+#
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+# Test case 18: Check that the statements CREATE EVENT/ALTER EVENT/
+# DROP EVENT can be executed as a prepared statement
+# Create the event e1 that specifies time in past. Such event is created
+# just for the sake of its existence and never will be triggered.
+# Disable warnings temprorary in order to hide the following warnings
+# generated in result of execution the 'CREATE EVENT' statement:
+# "1544 | Event execution time is in the past. Event has been disabled"
+# "1105 | Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it."
+CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP - INTERVAL 1 DAY ON COMPLETION PRESERVE DO SET @a=1;
+ALTER EVENT e1 COMMENT 'New comment';
+DROP EVENT IF EXISTS e1;
+# Test case 19: Check that the statement 'SHOW RELAYLOG EVENTS' can be
+# executed as a prepared statement.
+SHOW RELAYLOG EVENTS;
+Log_name Pos Event_type Server_id End_log_pos Info
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.test b/mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.test
new file mode 100644
index 00000000000..6d87441a476
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds_bin_prot_not_embedded.test
@@ -0,0 +1,40 @@
+source include/not_embedded.inc;
+--echo #
+--echo # MDEV-16708: Unsupported commands for prepared statements
+--echo #
+
+if (`SELECT $PS_PROTOCOL = 0`)
+{
+ --skip Need ps-protocol
+}
+
+--source include/have_innodb.inc
+
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+
+--echo # Test case 18: Check that the statements CREATE EVENT/ALTER EVENT/
+--echo # DROP EVENT can be executed as a prepared statement
+
+--echo # Create the event e1 that specifies time in past. Such event is created
+--echo # just for the sake of its existence and never will be triggered.
+--echo # Disable warnings temprorary in order to hide the following warnings
+--echo # generated in result of execution the 'CREATE EVENT' statement:
+--echo # "1544 | Event execution time is in the past. Event has been disabled"
+--echo # "1105 | Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it."
+
+--disable_warnings
+
+CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP - INTERVAL 1 DAY ON COMPLETION PRESERVE DO SET @a=1;
+
+ALTER EVENT e1 COMMENT 'New comment';
+
+DROP EVENT IF EXISTS e1;
+
+--enable_warnings
+
+--echo # Test case 19: Check that the statement 'SHOW RELAYLOG EVENTS' can be
+--echo # executed as a prepared statement.
+SHOW RELAYLOG EVENTS;
+
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds_not_embedded.result b/mysql-test/main/ps_missed_cmds_not_embedded.result
new file mode 100644
index 00000000000..959a78b5591
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds_not_embedded.result
@@ -0,0 +1,61 @@
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+#
+# MDEV-16708: Unsupported commands for prepared statements
+#
+# Disable ps-protocol explicitly in order to test support of
+# prepared statements for use case when statements passed
+# to the server via text client-server protocol (in contrast
+# with binary protocol used in the test file
+# ps_missed_cmds_bin_prot.test)
+# Test case 20: Check that the CREATE EVENT/ALTER EVENT/DROP EVENT
+# statements can be executed as a prepared statement
+PREPARE stmt_1 FROM "CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP - INTERVAL 1 DAY ON COMPLETION PRESERVE DO SET @a=1";
+PREPARE stmt_2 FROM "ALTER EVENT e1 COMMENT 'New comment'";
+PREPARE stmt_3 FROM "DROP EVENT e1";
+# Create the event e1 that specifies time in past. Such event is created
+# just for the sake of its existence and never will be triggered.
+# Disable warnings temprorary in order to hide the following warnings
+# generated in result of execution the 'CREATE EVENT' statement:
+# "1544 | Event execution time is in the past. Event has been disabled"
+# "1105 | Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it."
+EXECUTE stmt_1;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'CREATE EVENT' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error ER_EVENT_ALREADY_EXISTS since the event
+# with the same name has just been created.
+EXECUTE stmt_1;
+ERROR HY000: Event 'e1' already exists
+# Alter event e1
+EXECUTE stmt_2;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'ALTER EVENT' statement
+# were damaged.
+EXECUTE stmt_2;
+# Drop event e1
+EXECUTE stmt_3;
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'DROP EVENT' statement
+# were damaged. Execution of this statement the second time expectedly
+# results in emitting the error ER_EVENT_DOESNT_EXIST since the event
+# with the same name has just been dropped.
+EXECUTE stmt_3;
+ERROR HY000: Unknown event 'e1'
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+# Test case 22: Check that the 'SHOW RELAYLOG EVENTS' statement can be
+# executed as a prepared statement.
+PREPARE stmt_1 FROM 'SHOW RELAYLOG EVENTS';
+EXECUTE stmt_1;
+Log_name Pos Event_type Server_id End_log_pos Info
+# Execute the same prepared statement the second time to check that
+# no internal structures used for handling the 'SHOW RELAYLOG EVENTS'
+# statement were damaged.
+EXECUTE stmt_1;
+Log_name Pos Event_type Server_id End_log_pos Info
+# Clean up
+DEALLOCATE PREPARE stmt_1;
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/ps_missed_cmds_not_embedded.test b/mysql-test/main/ps_missed_cmds_not_embedded.test
new file mode 100644
index 00000000000..2e7eebedf91
--- /dev/null
+++ b/mysql-test/main/ps_missed_cmds_not_embedded.test
@@ -0,0 +1,85 @@
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Need regular protocol but ps-protocol was specified
+}
+
+SET @save_storage_engine= @@default_storage_engine;
+SET default_storage_engine= InnoDB;
+
+--echo #
+--echo # MDEV-16708: Unsupported commands for prepared statements
+--echo #
+
+--echo # Disable ps-protocol explicitly in order to test support of
+--echo # prepared statements for use case when statements passed
+--echo # to the server via text client-server protocol (in contrast
+--echo # with binary protocol used in the test file
+--echo # ps_missed_cmds_bin_prot.test)
+--disable_ps_protocol
+
+--echo # Test case 20: Check that the CREATE EVENT/ALTER EVENT/DROP EVENT
+--echo # statements can be executed as a prepared statement
+
+PREPARE stmt_1 FROM "CREATE EVENT e1 ON SCHEDULE AT CURRENT_TIMESTAMP - INTERVAL 1 DAY ON COMPLETION PRESERVE DO SET @a=1";
+
+PREPARE stmt_2 FROM "ALTER EVENT e1 COMMENT 'New comment'";
+
+PREPARE stmt_3 FROM "DROP EVENT e1";
+--echo # Create the event e1 that specifies time in past. Such event is created
+--echo # just for the sake of its existence and never will be triggered.
+--echo # Disable warnings temprorary in order to hide the following warnings
+--echo # generated in result of execution the 'CREATE EVENT' statement:
+--echo # "1544 | Event execution time is in the past. Event has been disabled"
+--echo # "1105 | Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it."
+
+--disable_warnings
+EXECUTE stmt_1;
+
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'CREATE EVENT' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error ER_EVENT_ALREADY_EXISTS since the event
+--echo # with the same name has just been created.
+--error ER_EVENT_ALREADY_EXISTS
+EXECUTE stmt_1;
+
+--enable_warnings
+
+--echo # Alter event e1
+EXECUTE stmt_2;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'ALTER EVENT' statement
+--echo # were damaged.
+EXECUTE stmt_2;
+
+--echo # Drop event e1
+EXECUTE stmt_3;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'DROP EVENT' statement
+--echo # were damaged. Execution of this statement the second time expectedly
+--echo # results in emitting the error ER_EVENT_DOESNT_EXIST since the event
+--echo # with the same name has just been dropped.
+--error ER_EVENT_DOES_NOT_EXIST
+EXECUTE stmt_3;
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+DEALLOCATE PREPARE stmt_2;
+DEALLOCATE PREPARE stmt_3;
+
+--echo # Test case 22: Check that the 'SHOW RELAYLOG EVENTS' statement can be
+--echo # executed as a prepared statement.
+PREPARE stmt_1 FROM 'SHOW RELAYLOG EVENTS';
+EXECUTE stmt_1;
+--echo # Execute the same prepared statement the second time to check that
+--echo # no internal structures used for handling the 'SHOW RELAYLOG EVENTS'
+--echo # statement were damaged.
+EXECUTE stmt_1;
+--echo # Clean up
+DEALLOCATE PREPARE stmt_1;
+
+--enable_warnings
+--enable_ps_protocol
+SET default_storage_engine= @save_storage_engine;
diff --git a/mysql-test/main/query_cache.result b/mysql-test/main/query_cache.result
index bff04de6520..3a81b648171 100644
--- a/mysql-test/main/query_cache.result
+++ b/mysql-test/main/query_cache.result
@@ -1098,7 +1098,7 @@ call p1()//
a
1
2
-drop procedure p1;
+drop procedure p1//
create function f1() returns int
begin
Declare var1 int;
@@ -1111,13 +1111,13 @@ create procedure `p1`()
begin
select a, f1() from t1;
end//
-SET @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
-SET GLOBAL log_bin_trust_function_creators = 1;
+SET @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators//
+SET GLOBAL log_bin_trust_function_creators = 1//
call p1()//
a f1()
1 2
2 2
-SET GLOBAL log_bin_trust_function_creators = @old_log_bin_trust_function_creators;
+SET GLOBAL log_bin_trust_function_creators = @old_log_bin_trust_function_creators//
drop procedure p1//
drop function f1//
drop table t1//
@@ -2210,7 +2210,32 @@ drop table t1;
#
# MDEV-24858 SIGABRT in DbugExit from my_malloc in Query_cache::init_cache Regression
#
+SET @qc= @@query_cache_size;
set global Query_cache_size=18446744073709547520;
+SET GLOBAL query_cache_size= @qc;
+#
+# MDEV-22301 JSON_TABLE: Queries are not inserted into query cache.
+#
+create table t1 (a text);
+insert into t1 values ('{"a":"foo"}');
+flush status;
+SHOW STATUS LIKE 'Qcache_inserts';
+Variable_name Value
+Qcache_inserts 0
+select * from t1, json_table(t1.a, '$' columns (f varchar(20) path '$.a')) as jt;
+a f
+{"a":"foo"} foo
+SHOW STATUS LIKE 'Qcache_inserts';
+Variable_name Value
+Qcache_inserts 1
+drop table t1;
+#
+# MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table.
+#
+CREATE TABLE t (a INT);
+SELECT * FROM t JOIN JSON_TABLE('{}' , '$' COLUMNS(b FOR ORDINALITY)) AS jt;
+a b
+DROP TABLE t;
restore defaults
SET GLOBAL query_cache_type= default;
SET GLOBAL query_cache_size=@save_query_cache_size;
diff --git a/mysql-test/main/query_cache.test b/mysql-test/main/query_cache.test
index 4d769b46213..f8152945396 100644
--- a/mysql-test/main/query_cache.test
+++ b/mysql-test/main/query_cache.test
@@ -432,10 +432,12 @@ drop table t1;
create table t1 (a int);
insert into t1 values (1),(2),(3);
show status like "Qcache_queries_in_cache";
+--enable_prepare_warnings
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";
+--disable_prepare_warnings
show status like "Qcache_queries_in_cache";
drop table t1;
let $datadir=`select @@datadir`;
@@ -810,22 +812,24 @@ open c1;
select * from t1;
end//
call p1()//
-drop procedure p1;
+drop procedure p1//
+--enable_prepare_warnings
create function f1() returns int
begin
Declare var1 int;
select max(a) from t1 into var1;
return var1;
end//
+--disable_prepare_warnings
create procedure `p1`()
begin
select a, f1() from t1;
end//
-SET @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
-SET GLOBAL log_bin_trust_function_creators = 1;
+SET @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators//
+SET GLOBAL log_bin_trust_function_creators = 1//
call p1()//
-SET GLOBAL log_bin_trust_function_creators = @old_log_bin_trust_function_creators;
+SET GLOBAL log_bin_trust_function_creators = @old_log_bin_trust_function_creators//
drop procedure p1//
drop function f1//
@@ -1804,9 +1808,29 @@ drop table t1;
--echo # MDEV-24858 SIGABRT in DbugExit from my_malloc in Query_cache::init_cache Regression
--echo #
--disable_warnings
+SET @qc= @@query_cache_size;
set global Query_cache_size=18446744073709547520;
+SET GLOBAL query_cache_size= @qc;
--enable_warnings
+--echo #
+--echo # MDEV-22301 JSON_TABLE: Queries are not inserted into query cache.
+--echo #
+create table t1 (a text);
+insert into t1 values ('{"a":"foo"}');
+flush status;
+SHOW STATUS LIKE 'Qcache_inserts';
+select * from t1, json_table(t1.a, '$' columns (f varchar(20) path '$.a')) as jt;
+SHOW STATUS LIKE 'Qcache_inserts';
+drop table t1;
+
+--echo #
+--echo # MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table.
+--echo #
+CREATE TABLE t (a INT);
+SELECT * FROM t JOIN JSON_TABLE('{}' , '$' COLUMNS(b FOR ORDINALITY)) AS jt;
+DROP TABLE t;
+
--echo restore defaults
SET GLOBAL query_cache_type= default;
SET GLOBAL query_cache_size=@save_query_cache_size;
diff --git a/mysql-test/main/query_cache_ps_no_prot.result b/mysql-test/main/query_cache_ps_no_prot.result
index ef1f92b597d..94986da49f0 100644
--- a/mysql-test/main/query_cache_ps_no_prot.result
+++ b/mysql-test/main/query_cache_ps_no_prot.result
@@ -408,9 +408,9 @@ EXECUTE stmt_a_2;
SELECT * FROM mysqltest1.t1;
msg
mysqltest1
-utf8_unicode_ci
+utf8mb3_unicode_ci
mysqltest1
-utf8_unicode_ci
+utf8mb3_unicode_ci
SELECT * FROM mysqltest2.t1;
msg
@@ -484,7 +484,7 @@ NULL latin1_swedish_ci
EXECUTE stmt_c_1;
DATABASE() @@collation_database
-mysqltest1 utf8_unicode_ci
+mysqltest1 utf8mb3_unicode_ci
SELECT DATABASE(), @@collation_database;
DATABASE() @@collation_database
@@ -516,7 +516,7 @@ Note 1049 Unknown database 'mysqltest2'
SELECT DATABASE(), @@collation_database;
DATABASE() @@collation_database
-mysqltest1 utf8_unicode_ci
+mysqltest1 utf8mb3_unicode_ci
EXECUTE stmt_c_3;
DATABASE() @@collation_database
@@ -524,7 +524,7 @@ NULL latin1_swedish_ci
SELECT DATABASE(), @@collation_database;
DATABASE() @@collation_database
-mysqltest1 utf8_unicode_ci
+mysqltest1 utf8mb3_unicode_ci
DROP DATABASE mysqltest1;
diff --git a/mysql-test/main/query_cache_ps_no_prot.test b/mysql-test/main/query_cache_ps_no_prot.test
index 61388b0f97a..d5d77927f8f 100644
--- a/mysql-test/main/query_cache_ps_no_prot.test
+++ b/mysql-test/main/query_cache_ps_no_prot.test
@@ -14,7 +14,7 @@
--source include/have_query_cache.inc
--source include/default_charset.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
# The file with expected results fits only to a run without
diff --git a/mysql-test/main/query_cache_ps_ps_prot.result b/mysql-test/main/query_cache_ps_ps_prot.result
index e3f2da1dbbe..16cad15450e 100644
--- a/mysql-test/main/query_cache_ps_ps_prot.result
+++ b/mysql-test/main/query_cache_ps_ps_prot.result
@@ -408,9 +408,9 @@ EXECUTE stmt_a_2;
SELECT * FROM mysqltest1.t1;
msg
mysqltest1
-utf8_unicode_ci
+utf8mb3_unicode_ci
mysqltest1
-utf8_unicode_ci
+utf8mb3_unicode_ci
SELECT * FROM mysqltest2.t1;
msg
@@ -484,7 +484,7 @@ NULL latin1_swedish_ci
EXECUTE stmt_c_1;
DATABASE() @@collation_database
-mysqltest1 utf8_unicode_ci
+mysqltest1 utf8mb3_unicode_ci
SELECT DATABASE(), @@collation_database;
DATABASE() @@collation_database
@@ -516,7 +516,7 @@ Note 1049 Unknown database 'mysqltest2'
SELECT DATABASE(), @@collation_database;
DATABASE() @@collation_database
-mysqltest1 utf8_unicode_ci
+mysqltest1 utf8mb3_unicode_ci
EXECUTE stmt_c_3;
DATABASE() @@collation_database
@@ -524,7 +524,7 @@ NULL latin1_swedish_ci
SELECT DATABASE(), @@collation_database;
DATABASE() @@collation_database
-mysqltest1 utf8_unicode_ci
+mysqltest1 utf8mb3_unicode_ci
DROP DATABASE mysqltest1;
diff --git a/mysql-test/main/query_cache_ps_ps_prot.test b/mysql-test/main/query_cache_ps_ps_prot.test
index d431ce349d2..5f6d43f36e9 100644
--- a/mysql-test/main/query_cache_ps_ps_prot.test
+++ b/mysql-test/main/query_cache_ps_ps_prot.test
@@ -12,7 +12,7 @@
# We cannot run on embedded server because we use multiple sessions.
--source include/not_embedded.inc
--source include/have_query_cache.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
# The file with expected results fits only to a run with "--ps-protocol".
diff --git a/mysql-test/main/range_vs_index_merge.result b/mysql-test/main/range_vs_index_merge.result
index 33129ac84dc..1729b95a105 100644
--- a/mysql-test/main/range_vs_index_merge.result
+++ b/mysql-test/main/range_vs_index_merge.result
@@ -1,5 +1,3 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4;
-DROP DATABASE IF EXISTS world;
set names utf8;
CREATE DATABASE world;
use world;
diff --git a/mysql-test/main/range_vs_index_merge.test b/mysql-test/main/range_vs_index_merge.test
index 94210ce5dd3..670762bcb2f 100644
--- a/mysql-test/main/range_vs_index_merge.test
+++ b/mysql-test/main/range_vs_index_merge.test
@@ -2,11 +2,6 @@
--source include/default_charset.inc
--source include/have_sequence.inc
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4;
-DROP DATABASE IF EXISTS world;
---enable_warnings
-
set names utf8;
CREATE DATABASE world;
@@ -1049,6 +1044,8 @@ INSERT INTO t1 VALUES
(0,99083,'all','jhjerdvdxboydmpefbiesqbyyvdftsidjtvulamazljx'),
(32767,99084,'s','flj'),(-4947,99085,'something','Vermont'),
(0,99086,'cjfljhjerd','Washington');
+
+ANALYZE TABLE t1;
--enable_query_log
--enable_result_log
diff --git a/mysql-test/main/range_vs_index_merge_innodb.result b/mysql-test/main/range_vs_index_merge_innodb.result
index 4ac62e24940..79a670aedb2 100644
--- a/mysql-test/main/range_vs_index_merge_innodb.result
+++ b/mysql-test/main/range_vs_index_merge_innodb.result
@@ -4,8 +4,6 @@ set @innodb_stats_persistent_sample_pages_save=
@@innodb_stats_persistent_sample_pages;
set global innodb_stats_persistent= 1;
set global innodb_stats_persistent_sample_pages=100;
-DROP TABLE IF EXISTS t1,t2,t3,t4;
-DROP DATABASE IF EXISTS world;
set names utf8;
CREATE DATABASE world;
use world;
diff --git a/mysql-test/main/repair.result b/mysql-test/main/repair.result
index 899ca1e1a32..88f5f9eb06b 100644
--- a/mysql-test/main/repair.result
+++ b/mysql-test/main/repair.result
@@ -14,16 +14,16 @@ create table t1(id int PRIMARY KEY, st varchar(10), KEY st_key(st));
insert into t1 values(1, "One");
alter table t1 disable keys;
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 0 PRIMARY 1 id A 1 NULL NULL BTREE
-t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A 1 NULL NULL BTREE NO
+t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled NO
repair table t1 extended;
Table Op Msg_type Msg_text
test.t1 repair status OK
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 0 PRIMARY 1 id A 1 NULL NULL BTREE
-t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A 1 NULL NULL BTREE NO
+t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled NO
drop table t1;
repair table t1 use_frm;
Table Op Msg_type Msg_text
@@ -47,8 +47,8 @@ REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
SET myisam_repair_threads=@@global.myisam_repair_threads;
DROP TABLE t1;
CREATE TABLE t1(a INT);
diff --git a/mysql-test/main/reset_connection.result b/mysql-test/main/reset_connection.result
index 54f6ffdbd25..f2525760528 100644
--- a/mysql-test/main/reset_connection.result
+++ b/mysql-test/main/reset_connection.result
@@ -8,10 +8,10 @@ Com_select 0
# Test if charset changes after reset (utf8)
connect utf8_conn,localhost,root,,,,,CHARSET=utf8;
connection utf8_conn;
-SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
+SELECT IF(@@character_set_client='utf8mb3','OK', 'FAIL') AS RESULT;
RESULT
OK
-SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
+SELECT IF(@@character_set_client='utf8mb3','OK', 'FAIL') AS RESULT;
RESULT
OK
disconnect utf8_conn;
diff --git a/mysql-test/main/reset_connection.test b/mysql-test/main/reset_connection.test
index 73c8280703c..29a8ff52f89 100644
--- a/mysql-test/main/reset_connection.test
+++ b/mysql-test/main/reset_connection.test
@@ -26,9 +26,9 @@ SHOW local STATUS LIKE 'com_select';
--echo # Test if charset changes after reset (utf8)
connect(utf8_conn,localhost,root,,,,,CHARSET=utf8);
connection utf8_conn;
-SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
+SELECT IF(@@character_set_client='utf8mb3','OK', 'FAIL') AS RESULT;
--reset_connection
-SELECT IF(@@character_set_client='utf8','OK', 'FAIL') AS RESULT;
+SELECT IF(@@character_set_client='utf8mb3','OK', 'FAIL') AS RESULT;
disconnect utf8_conn;
--echo # Test if charset changes after reset (latin1)
diff --git a/mysql-test/main/rowid_filter_innodb.result b/mysql-test/main/rowid_filter_innodb.result
index 6c8b5eda8e8..49e74d1ba2d 100644
--- a/mysql-test/main/rowid_filter_innodb.result
+++ b/mysql-test/main/rowid_filter_innodb.result
@@ -1,4 +1,6 @@
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
DROP DATABASE IF EXISTS dbt3_s001;
CREATE DATABASE dbt3_s001;
use dbt3_s001;
@@ -2144,13 +2146,14 @@ a b
drop table t1;
SET @@optimizer_switch=@save_optimizer_switch;
set @@use_stat_tables=@save_use_stat_tables;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
#
# MDEV-18755: possible RORI-plan and possible plan with range filter
#
create table t1 (
pk int not null primary key, f1 varchar(10), f2 varchar(30), a int(10),
key (f1), key (f2)
-) engine=innodb;
+) engine=innodb stats_persistent=0;
insert into t1 values
(2,'a','a',2),(3,'a','a',null),(4,'a','a',55),(5,'a','a',4),(6,'a','a',0),
(7,'a','a',1),(8,'a','a',4),(9,'a','a',null),(10,'a','a',0),(11,'a','a',0),
@@ -2513,7 +2516,7 @@ timestamp timestamp NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (id),
KEY ixEventWhoisDomainDomain (domain),
KEY ixEventWhoisDomainTimestamp (timestamp)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB STATS_PERSISTENT=0 DEFAULT CHARSET=utf8;
INSERT INTO t1 (
id, domain, registrant_name, registrant_organization, registrant_street1,
registrant_street2, registrant_street3, registrant_street4, registrant_street5,
@@ -2971,6 +2974,8 @@ set global innodb_stats_persistent= @stats.save;
#
# MDEV-22846: ref access with full scan on keys with NULLs + rowid_filter
#
+set @stats.save= @@innodb_stats_persistent;
+set global innodb_stats_persistent=0;
CREATE TABLE t1 (pk int NOT NULL, c1 varchar(1)) engine=innodb;
INSERT INTO t1 VALUES
(1,NULL),(15,'o'),(16,'x'),(19,'t'),(35,'k'),(36,'h'),(42,'t'),(43,'h'),
@@ -3009,4 +3014,5 @@ Warnings:
Note 1276 Field or reference 'test.t1.pk' of SELECT #2 was resolved in SELECT #1
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c1` AS `c1` from `test`.`t1` where !<expr_cache><`test`.`t1`.`c1`,`test`.`t1`.`pk`>(<in_optimizer>(`test`.`t1`.`c1`,<exists>(/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2` join `test`.`t1` `a1` where `test`.`t2`.`i1` = `test`.`t1`.`pk` and `test`.`t2`.`i1` is not null and trigcond(<cache>(`test`.`t1`.`c1`) = `test`.`t2`.`c1`))))
DROP TABLE t1,t2;
+set global innodb_stats_persistent= @stats.save;
# End of 10.4 tests
diff --git a/mysql-test/main/rowid_filter_innodb.test b/mysql-test/main/rowid_filter_innodb.test
index 6f014c62021..97b9aa0102c 100644
--- a/mysql-test/main/rowid_filter_innodb.test
+++ b/mysql-test/main/rowid_filter_innodb.test
@@ -2,7 +2,13 @@
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
+
--source rowid_filter.test
+
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
+
--source include/have_sequence.inc
--echo #
@@ -12,7 +18,7 @@ SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
create table t1 (
pk int not null primary key, f1 varchar(10), f2 varchar(30), a int(10),
key (f1), key (f2)
-) engine=innodb;
+) engine=innodb stats_persistent=0;
insert into t1 values
(2,'a','a',2),(3,'a','a',null),(4,'a','a',55),(5,'a','a',4),(6,'a','a',0),
@@ -265,7 +271,7 @@ CREATE TABLE t1 (
PRIMARY KEY (id),
KEY ixEventWhoisDomainDomain (domain),
KEY ixEventWhoisDomainTimestamp (timestamp)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB STATS_PERSISTENT=0 DEFAULT CHARSET=utf8;
INSERT INTO t1 (
id, domain, registrant_name, registrant_organization, registrant_street1,
@@ -539,6 +545,8 @@ set global innodb_stats_persistent= @stats.save;
--echo # MDEV-22846: ref access with full scan on keys with NULLs + rowid_filter
--echo #
+set @stats.save= @@innodb_stats_persistent;
+set global innodb_stats_persistent=0;
CREATE TABLE t1 (pk int NOT NULL, c1 varchar(1)) engine=innodb;
INSERT INTO t1 VALUES
@@ -563,4 +571,6 @@ eval EXPLAIN EXTENDED $q;
DROP TABLE t1,t2;
+set global innodb_stats_persistent= @stats.save;
+
--echo # End of 10.4 tests
diff --git a/mysql-test/main/rowid_order_innodb.result b/mysql-test/main/rowid_order_innodb.result
index 9b32bf6018f..26fb8ebb707 100644
--- a/mysql-test/main/rowid_order_innodb.result
+++ b/mysql-test/main/rowid_order_innodb.result
@@ -1,3 +1,5 @@
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
SET SESSION DEFAULT_STORAGE_ENGINE = InnoDB;
drop table if exists t1, t2, t3,t4;
create table t1 (
@@ -185,3 +187,4 @@ bb b--b 2 2
ccc c--c 2 2
dddd d--d 2 2
drop table t1;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/rowid_order_innodb.test b/mysql-test/main/rowid_order_innodb.test
index 152eb28d388..d60c29bebf7 100644
--- a/mysql-test/main/rowid_order_innodb.test
+++ b/mysql-test/main/rowid_order_innodb.test
@@ -10,5 +10,9 @@
--source include/have_innodb.inc
let $engine_type= InnoDB;
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
--source include/rowid_order.inc
+
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/rownum.result b/mysql-test/main/rownum.result
new file mode 100644
index 00000000000..3ad51c93260
--- /dev/null
+++ b/mysql-test/main/rownum.result
@@ -0,0 +1,986 @@
+CREATE OR REPLACE TABLE t1(a int, b int) engine=aria;
+CREATE OR REPLACE TABLE t2(a int, b int) engine=aria;
+insert into t1 values (1,10),(2,20),(3,30);
+insert into t2 values (2,21),(3,31),(4,41);
+#
+# Simple selects
+#
+select a,b,rownum() from t1;
+a b rownum()
+1 10 1
+2 20 2
+3 30 3
+select a,b,rownum() from t1 where rownum() < 2;
+a b rownum()
+1 10 1
+select a,b from t1 where rownum() <= 2;
+a b
+1 10
+2 20
+select a,b from t1 where rownum() > 2;
+a b
+#
+# Subqueries
+#
+select t1.a,rownum(),t3.a,t3.t2_rownum from t1, (select t2.a,rownum() as t2_rownum from t2 where rownum() <=2) t3;
+a rownum() a t2_rownum
+1 1 2 1
+1 2 3 2
+2 3 2 1
+2 4 3 2
+3 5 2 1
+3 6 3 2
+select t1.a, (select t2.b from t2 where t1.a=t2.a and rownum() <= 1) 'b' from t1;
+a b
+1 NULL
+2 21
+3 31
+select t1.a, t3.a from t1, (select * from t2 where rownum() <= 2) t3;
+a a
+1 2
+1 3
+2 2
+2 3
+3 2
+3 3
+select * from (select tt.*,rownum() as id from (select * from t1) tt) t3 where id>2;
+a b id
+3 30 3
+#
+# Joins
+#
+select t1.a,t1.b,t2.a,t2.b,rownum() from t1,t2 where rownum() <= 4;
+a b a b rownum()
+1 10 2 21 1
+2 20 2 21 2
+3 30 2 21 3
+1 10 3 31 4
+select *,rownum() from t1,t2 where t1.a=t2.a and rownum()<=2;
+a b a b rownum()
+2 20 2 21 1
+3 30 3 31 2
+select * from t1 left join t2 on (t2.a=t1.a and rownum()=0);
+a b a b
+1 10 NULL NULL
+2 20 NULL NULL
+3 30 NULL NULL
+select * from t1 left join t2 on (t2.a=t1.a and rownum()>1);
+a b a b
+1 10 NULL NULL
+2 20 NULL NULL
+3 30 NULL NULL
+select * from t1 left join t2 on (t2.a=t1.a and rownum()<1);
+a b a b
+1 10 NULL NULL
+2 20 NULL NULL
+3 30 NULL NULL
+select * from t1 left join t2 on (t2.a=t1.a and rownum()=1);
+a b a b
+2 20 2 21
+1 10 NULL NULL
+3 30 NULL NULL
+select * from t1 left join t2 on (t2.a=t1.a and rownum()>=1);
+a b a b
+2 20 2 21
+3 30 3 31
+1 10 NULL NULL
+#
+# Union
+#
+select * from t1 where rownum() <=2 union select * from t2 where rownum()<= 1;
+a b
+1 10
+2 20
+2 21
+#
+# Order by
+#
+select * from t1 where rownum() <= 2 order by a desc;
+a b
+2 20
+1 10
+explain select * from t1 where rownum() <= 2 order by a desc;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using filesort
+select t1.a,t1.b,rownum() from t1 where rownum() <= 2 order by a desc;
+a b rownum()
+2 20 2
+1 10 1
+explain select t1.a,t1.b,rownum() from t1 where rownum() <= 2 order by a desc;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where; Using temporary; Using filesort
+select *,rownum() from t1,t2;
+a b a b rownum()
+1 10 2 21 1
+2 20 2 21 2
+3 30 2 21 3
+1 10 3 31 4
+2 20 3 31 5
+3 30 3 31 6
+1 10 4 41 7
+2 20 4 41 8
+3 30 4 41 9
+select *,rownum() from t1,t2 order by t2.a desc, t1.a desc;
+a b a b rownum()
+3 30 4 41 9
+2 20 4 41 8
+1 10 4 41 7
+3 30 3 31 6
+2 20 3 31 5
+1 10 3 31 4
+3 30 2 21 3
+2 20 2 21 2
+1 10 2 21 1
+select * from (select * from t1 order by a desc) as t where rownum() <= 2;
+a b
+3 30
+2 20
+select * from t1,t2 where t1.a=t2.a and rownum()<=2 order by t1.a,t2.a;
+a b a b
+2 20 2 21
+3 30 3 31
+#
+# Having
+#
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having r <= 2;
+a sum(t1.b) r
+1 10 1
+2 20 2
+select * from t1 having rownum() <= 2;
+a b
+1 10
+2 20
+select t1.a, sum(t1.b), rownum() from t1 group by t1.a;
+a sum(t1.b) rownum()
+1 10 1
+2 20 2
+3 30 3
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having r <= 2;
+a sum(t1.b) r
+1 10 1
+2 20 2
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having rownum() <= 2;
+a sum(t1.b) r
+1 10 1
+2 20 2
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having r <= 2 order by a desc;
+a sum(t1.b) r
+2 20 2
+1 10 1
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having rownum() <= 2 order by a desc;
+a sum(t1.b) r
+2 20 2
+1 10 1
+#
+# Sum functions
+#
+select max(rownum()),min(rownum()) from t1;
+max(rownum()) min(rownum())
+3 1
+select sum(rownum()),avg(rownum()) from t1;
+sum(rownum()) avg(rownum())
+6 2.0000
+#
+# Group by
+#
+select t1.a,sum(t1.b) from t1 where rownum() < 2 group by t1.a;
+a sum(t1.b)
+1 10
+select t1.a,sum(t2.b) from t1 JOIN t2 ON (t1.a=t2.a) where rownum() <= 2 group by t1.a;
+a sum(t2.b)
+2 21
+3 31
+select * from (select t1.a,sum(t2.b) from t1 JOIN t2 ON (t1.a=t2.a) group by t1.a) as t where rownum() <= 1;
+a sum(t2.b)
+2 21
+select t1.a,sum(rownum()),count(*) from t1 where rownum() <= 2 group by t1.a;
+a sum(rownum()) count(*)
+1 1 1
+2 2 1
+select * from (select t1.a,sum(t1.b) from t1 group by t1.a) as t3 where rownum() < 2;
+a sum(t1.b)
+1 10
+create table t3 (a int) engine=myisam;
+insert into t3 values (3),(5),(5),(3);
+select a, max(rownum()) from t3 group by a;
+a max(rownum())
+3 4
+5 3
+drop table t3;
+CREATE TABLE t3 (
+a int(11) DEFAULT NULL,
+b varchar(1024) DEFAULT NULL
+);
+insert into t3 select mod(seq*3,20)+1, repeat(char(33+mod(seq,90)),mod(seq,10)*100) from seq_1_to_23;
+SELECT sq.a,length(sq.f) FROM (SELECT a, GROUP_CONCAT(b,b) AS f FROM t3 GROUP BY a ORDER BY a desc) as sq WHERE ROWNUM() <= 10;
+a length(sq.f)
+20 600
+19 1200
+18 1800
+17 400
+16 1000
+15 1600
+14 200
+13 800
+12 1400
+11 0
+drop table t3;
+#
+# Prepared statements
+#
+PREPARE stmt1 from "select a,b,rownum() from t1 where rownum() <= 2";
+execute stmt1;
+a b rownum()
+1 10 1
+2 20 2
+execute stmt1;
+a b rownum()
+1 10 1
+2 20 2
+deallocate prepare stmt1;
+#
+# Views
+#
+create view v1 as select t1.a,rownum() from t1;
+select * from v1;
+a rownum()
+1 1
+2 2
+3 3
+select t1.a,v1.* from t1,v1 where t1.a=v1.a;
+a a rownum()
+1 1 1
+2 2 2
+3 3 3
+drop view v1;
+CREATE TABLE t3 (a INT);
+INSERT INTO t3 VALUES (1),(2),(3);
+CREATE VIEW v1 AS SELECT a FROM t3 WHERE ROWNUM() <= 2;
+SELECT * FROM v1;
+a
+1
+2
+drop view v1;
+drop table t3;
+#
+# Reserved words
+#
+create table t4 (a int, rownum int);
+insert into t4 (a,rownum) values (1,2);
+select t4.a,t4.rownum from t4;
+a rownum
+1 2
+drop table t4;
+#
+# Test Oracle mode
+#
+set SQL_MODE=ORACLE;
+select t1.a,rownum from t1 where rownum<=2;
+a rownum
+1 1
+2 2
+select t1.a,rownum() from t1 where rownum()<=2;
+a rownum()
+1 1
+2 2
+create table t4 (a int, rownum int);
+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 'rownum int)' at line 1
+DECLARE
+CURSOR c_cursor
+IS select a,b,rownum from t1 where rownum <= 2;
+v_a t1.a%TYPE;
+v_b t1.b%TYPE;
+v_rn t1.a%TYPE;
+BEGIN
+OPEN c_cursor;
+FETCH c_cursor INTO v_a, v_b, v_rn;
+WHILE c_cursor%FOUND LOOP
+SELECT concat(v_a,'--',v_b,'--',v_rn);
+FETCH c_cursor INTO v_a, v_b, v_rn;
+END LOOP;
+CLOSE c_cursor;
+END;|
+concat(v_a,'--',v_b,'--',v_rn)
+1--10--1
+concat(v_a,'--',v_b,'--',v_rn)
+2--20--2
+select a, rownum from t1 group by a, rownum having rownum < 3;
+a rownum
+1 1
+2 2
+select a, rownum as r from t1 group by a, rownum having r < 3;
+a r
+1 1
+2 2
+select a, rownum from t1 group by a, rownum having "rownum" < 3;
+a rownum
+1 1
+2 2
+select a, rownum from t1 group by a, rownum having rownum < 3 order by a desc;
+a rownum
+2 2
+1 1
+select a, rownum as r from t1 group by a, rownum having r < 3 order by a desc;
+a r
+2 2
+1 1
+select a, rownum from t1 group by a, rownum having "rownum" < 3 order by a desc;
+a rownum
+2 2
+1 1
+set SQL_MODE=DEFAULT;
+# Cleanup
+drop table t1,t2;
+#
+# INSERT
+#
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,rownum()),(2,rownum()),(3,rownum());
+select * from t1;
+a b
+1 1
+2 2
+3 3
+drop table t1;
+#
+# INSERT DELAYED
+#
+create table t1 (a int not null primary key, b int);
+insert delayed into t1 values (1,rownum()),(2,rownum()),(3,rownum());
+select * from t1;
+a b
+1 1
+2 2
+3 3
+drop table t1;
+#
+# INSERT IGNORED
+#
+create table t1 (a int not null primary key, b int);
+insert ignore into t1 values (1,rownum()),(2,rownum()),(2,rownum()),(3,rownum());
+Warnings:
+Warning 1062 Duplicate entry '2' for key 'PRIMARY'
+select * from t1;
+a b
+1 1
+2 2
+3 4
+delete from t1;
+insert ignore into t1 select * from (values (1,rownum()),(2,rownum()),(2,rownum()),(3,rownum())) t;
+Warnings:
+Warning 1062 Duplicate entry '2' for key 'PRIMARY'
+select * from t1;
+a b
+1 1
+2 2
+3 4
+drop table t1;
+#
+# INSERT ... RETURNING
+#
+create or replace table t1 (a int);
+insert into t1 values (1),(2) returning a, rownum();
+a rownum()
+1 1
+2 2
+drop table t1;
+#
+# UPDATE
+#
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,1),(2,2),(3,3);
+update t1 set b=0;
+update t1 set b=rownum()+1;
+select * from t1;
+a b
+1 2
+2 3
+3 4
+update t1 set b=0;
+update t1 set b=rownum() where a < 10 and rownum() < 2;
+select * from t1;
+a b
+1 1
+2 0
+3 0
+drop table t1;
+create table t1 (a int);
+insert into t1 values (10),(20),(30);
+update t1 set a = rownum();
+select * from t1;
+a
+1
+2
+3
+update t1 set a = rownum();
+select * from t1;
+a
+1
+2
+3
+drop table t1;
+#
+# DELETE
+#
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,1),(2,0),(3,0);
+delete from t1 where a < 10 and rownum() < 2;
+select * from t1;
+a b
+2 0
+3 0
+drop table t1;
+#
+# MULTI-TABLE-DELETE
+#
+create table t1 (a int not null primary key);
+insert into t1 values (1),(2),(3);
+create table t2 (a int not null primary key);
+insert into t2 values (1),(2),(3);
+delete t1,t2 from t1,t2 where t1.a=t2.a and rownum() <= 2;
+select * from t1;
+a
+3
+select * from t2;
+a
+3
+drop table t1,t2;
+#
+# MULTI-TABLE-UPDATE
+CREATE TABLE t1 (ID INT);
+CREATE TABLE t2 (ID INT,
+s1 TEXT, s2 TEXT, s3 VARCHAR(10), s4 TEXT, s5 VARCHAR(10));
+INSERT INTO t1 VALUES (1),(2);
+INSERT INTO t2 VALUES (1,'test', 'test', 'test', 'test', 'test'),
+(2,'test', 'test', 'test', 'test', 'test');
+SELECT * FROM t1 LEFT JOIN t2 USING(ID);
+ID s1 s2 s3 s4 s5
+1 test test test test test
+2 test test test test test
+UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed';
+select * from t2;
+ID s1 s2 s3 s4 s5
+1 changed test test test test
+2 changed test test test test
+update t2 set s1="";
+UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed' where rownum() <=1;
+select * from t2;
+ID s1 s2 s3 s4 s5
+1 changed test test test test
+2 test test test test
+drop table t1,t2;
+#
+# LOAD DATA
+#
+create table t1 (a int, b int, c int);
+load data infile '../../std_data/loaddata7.dat' into table t1 fields terminated by ',' lines terminated by "\r\n" (a,b) set c=rownum();
+select * from t1;
+a b c
+2 2 1
+3 3 2
+4 4 3
+5 5 4
+6 6 5
+drop table t1;
+#
+# LIMIT OPTIMIZATION
+#
+create table t1 (a int);
+insert into t1 select seq from seq_1_to_100;
+flush status;
+select * from t1 where rownum() <= 3;
+a
+1
+2
+3
+show status like "Rows_read";
+Variable_name Value
+Rows_read 3
+flush status;
+select * from t1 where rownum() <= 4 and rownum() <= 3;
+a
+1
+2
+3
+show status like "Rows_read";
+Variable_name Value
+Rows_read 3
+flush status;
+select * from t1 where rownum() < 4 and a > 10;
+a
+11
+12
+13
+show status like "Rows_read";
+Variable_name Value
+Rows_read 13
+flush status;
+select * from t1 where 3 >= rownum();
+a
+1
+2
+3
+show status like "Rows_read";
+Variable_name Value
+Rows_read 3
+flush status;
+select * from t1 where 4 > rownum() and a > 20;
+a
+21
+22
+23
+show status like "Rows_read";
+Variable_name Value
+Rows_read 23
+flush status;
+select * from t1 where rownum() = 1 and a > 10;
+a
+11
+show status like "Rows_read";
+Variable_name Value
+Rows_read 11
+flush status;
+select * from t1 where a > 30 && 1 = rownum();
+a
+31
+show status like "Rows_read";
+Variable_name Value
+Rows_read 31
+flush status;
+# No limit optimization
+select * from t1 where rownum() > 10;
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where 10 < rownum();
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where rownum() >= 10;
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where 10 < rownum();
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where 10 <= rownum();
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where 2 = rownum();
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where rownum() = 2;
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select * from t1 where rownum() <= 0;
+a
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+select *,rownum() from t1 where rownum() < 10 limit 4, 4;
+a rownum()
+5 5
+6 6
+7 7
+8 8
+show status like "Rows_read";
+Variable_name Value
+Rows_read 8
+flush status;
+select * from t1 where rownum() < 10 order by a;
+a
+1
+2
+3
+4
+5
+6
+7
+8
+9
+show status like "Rows_read";
+Variable_name Value
+Rows_read 100
+flush status;
+# rownum and limit
+select * from t1 where rownum() < 4 limit 10;
+a
+1
+2
+3
+show status like "Rows_read";
+Variable_name Value
+Rows_read 3
+flush status;
+select * from t1 where rownum() < 10 limit 4;
+a
+1
+2
+3
+4
+show status like "Rows_read";
+Variable_name Value
+Rows_read 4
+drop table t1;
+#
+# Rownum examples from Woqutech
+#
+set SQL_MODE=ORACLE;
+create table t1 (c1 int ,c2 varchar(20)) engine=myisam;
+insert into t1 values (1, 'aaa'),(2, 'bbb'),(3, 'ccc'),(4, 'ddd'),(5, 'eee');
+update t1 set c2 = 'xxx' where rownum = 2;
+select * from t1 where c2='xxx';
+c1 c2
+update t1 set c2 = 'xxx' where rownum < 3;
+select * from t1 where c2='xxx';
+c1 c2
+1 xxx
+2 xxx
+delete from t1 where rownum = 2;
+select count(*) from t1;
+count(*)
+5
+delete from t1 where rownum < 3;
+select count(*) from t1;
+count(*)
+3
+delete from t1 where c1=rownum ;
+select count(*) from t1;
+count(*)
+3
+delete from t1 where c1=rownum+2 ;
+select count(*) from t1;
+count(*)
+0
+set SQL_MODE=DEFAULT;
+drop table t1;
+#
+# Rownum() used in not supported places (returns 0 or gives an error)
+#
+set @a=rownum();
+select @a;
+@a
+0
+create or replace table t (a int, b int as (rownum()) virtual);
+ERROR HY000: Function or expression 'rownum()' cannot be used in the GENERATED ALWAYS AS clause of `b`
+create table t1 (a int);
+insert into t1 values (3),(1),(5),(8),(4);
+handler t1 open;
+handler t1 read next where rownum() < 1;
+ERROR HY000: Function or expression 'rownum()' cannot be used in the WHERE clause of `HANDLER`
+handler t1 close;
+drop table t1;
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,1),(2,2),(3,3);
+create function f() returns int return rownum();
+select a, rownum(), f() from t1;
+a rownum() f()
+1 1 0
+2 2 0
+3 3 0
+drop function f;
+drop table t1;
+create or replace table t1 (a int, r int);
+create trigger tr before update on t1 for each row set NEW.r = rownum();
+insert into t1 (a) values (1),(2);
+select * from t1;
+a r
+1 NULL
+2 NULL
+update t1 set a=a+10;
+select * from t1;
+a r
+11 0
+12 0
+drop trigger tr;
+drop table t1;
+#
+# LIMIT optimisation
+#
+create table t1 (a int);
+insert into t1 values (1),(2),(3),(4),(5);
+flush status;
+select * from (select a from t1 where a < 1000) as tt where rownum() <= 2;
+a
+1
+2
+show status like "Rows_read";
+Variable_name Value
+Rows_read 2
+explain extended select * from (select a from t1 where a < 1000) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 limit 2) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000) as tt where rownum() <= 2";
+flush status;
+execute stmt;
+a
+1
+2
+show status like "Rows_read";
+Variable_name Value
+Rows_read 2
+flush status;
+execute stmt;
+a
+1
+2
+show status like "Rows_read";
+Variable_name Value
+Rows_read 2
+deallocate prepare stmt;
+flush status;
+select * from (select a from t1 where a < 1000 group by a) as tt where rownum() <= 2;
+a
+1
+2
+show status like "Rows_read";
+Variable_name Value
+Rows_read 5
+explain extended select * from (select a from t1 where a < 1000 group by a) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where; Using temporary; Using filesort
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 group by `test`.`t1`.`a` limit 2) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000 group by a) as tt where rownum() <= 2";
+execute stmt;
+a
+1
+2
+execute stmt;
+a
+1
+2
+deallocate prepare stmt;
+flush status;
+select * from (select a from t1 where a < 1000 group by a order by 1) as tt where rownum() <= 2;
+a
+1
+2
+show status like "Rows_read";
+Variable_name Value
+Rows_read 5
+explain extended select * from (select a from t1 where a < 1000 group by a order by 1) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where; Using temporary; Using filesort
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 group by `test`.`t1`.`a` order by 1 limit 2) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000 group by a order by 1) as tt where rownum() <= 2";
+execute stmt;
+a
+1
+2
+execute stmt;
+a
+1
+2
+deallocate prepare stmt;
+flush status;
+select * from (select a from t1 where a < 1000 union select 10) as tt where rownum() <= 2;
+a
+1
+2
+show status like "Rows_read";
+Variable_name Value
+Rows_read 5
+explain extended select * from (select a from t1 where a < 1000 union select 10) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+3 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 union /* select#3 */ select 10 AS `10` limit 2) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000 union select 10) as tt where rownum() <= 2";
+execute stmt;
+a
+1
+2
+execute stmt;
+a
+1
+2
+deallocate prepare stmt;
+# Other limit
+select * from (select a from t1 where a < 1000 group by a order by 1 limit 1) as tt where rownum() <= 2;
+a
+1
+explain extended select * from (select a from t1 where a < 1000 group by a order by 1 limit 1) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where; Using temporary; Using filesort
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 group by `test`.`t1`.`a` order by 1 limit 1) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000 group by a order by 1 limit 1) as tt where rownum() <= 2";
+execute stmt;
+a
+1
+execute stmt;
+a
+1
+deallocate prepare stmt;
+# Other limit less
+select * from (select a from t1 where a < 1000 group by a order by 1 limit 10) as tt where rownum() <= 2;
+a
+1
+2
+explain extended select * from (select a from t1 where a < 1000 group by a order by 1 limit 10) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where; Using temporary; Using filesort
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 group by `test`.`t1`.`a` order by 1 limit 2) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000 group by a order by 1 limit 10) as tt where rownum() <= 2";
+execute stmt;
+a
+1
+2
+execute stmt;
+a
+1
+2
+deallocate prepare stmt;
+select * from (select a from t1 where a < 1000 union select 10 limit 1) as tt where rownum() <= 2;
+a
+1
+explain extended select * from (select a from t1 where a < 1000 union select 10 limit 1) as tt where rownum() <= 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+3 UNION NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+NULL UNION RESULT <union2,3> ALL NULL NULL NULL NULL NULL NULL
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 union /* select#3 */ select 10 AS `10` limit 1) `tt` where rownum() <= 2 limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000 union select 10 limit 1) as tt where rownum() <= 2";
+execute stmt;
+a
+1
+execute stmt;
+a
+1
+deallocate prepare stmt;
+# < rownum
+select * from (select a from t1 where a < 1000) as tt where rownum() < 2;
+a
+1
+explain extended select * from (select a from t1 where a < 1000) as tt where rownum() < 2;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 limit 1) `tt` where rownum() < 2 limit 1
+prepare stmt from "select * from (select a from t1 where a < 1000) as tt where rownum() < 2";
+execute stmt;
+a
+1
+execute stmt;
+a
+1
+deallocate prepare stmt;
+# Simple expression
+select * from (select a from t1 where a < 1000) as tt where rownum() <= 1+1;
+a
+1
+2
+explain extended select * from (select a from t1 where a < 1000) as tt where rownum() <= 1+1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 limit 2) `tt` where rownum() <= <cache>(1 + 1) limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000) as tt where rownum() <= 1+1";
+execute stmt;
+a
+1
+2
+execute stmt;
+a
+1
+2
+deallocate prepare stmt;
+# Simple expression reversed
+select * from (select a from t1 where a < 1000) as tt where 1+1 >= rownum();
+a
+1
+2
+explain extended select * from (select a from t1 where a < 1000) as tt where 1+1 >= rownum();
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using where
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 limit 2) `tt` where <cache>(1 + 1) >= rownum() limit 2
+prepare stmt from "select * from (select a from t1 where a < 1000) as tt where 1+1 >= rownum()";
+execute stmt;
+a
+1
+2
+execute stmt;
+a
+1
+2
+deallocate prepare stmt;
+# expensive (no opt)
+select * from (select a from t1 where a < 1000) as tt where (select max(a) from t1) >= rownum();
+a
+1
+2
+3
+4
+5
+explain extended select * from (select a from t1 where a < 1000) as tt where (select max(a) from t1) >= rownum();
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 100.00 Using where
+3 SUBQUERY t1 ALL NULL NULL NULL NULL 5 100.00
+2 DERIVED t1 ALL NULL NULL NULL NULL 5 100.00 Using where
+Warnings:
+Note 1003 /* select#1 */ select `tt`.`a` AS `a` from (/* select#2 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` < 1000 limit 5) `tt` where (/* select#3 */ select max(`test`.`t1`.`a`) from `test`.`t1`) >= rownum() limit 5
+prepare stmt from "select * from (select a from t1 where a < 1000) as tt where (select max(a) from t1) >= rownum()";
+execute stmt;
+a
+1
+2
+3
+4
+5
+execute stmt;
+a
+1
+2
+3
+4
+5
+deallocate prepare stmt;
+drop table t1;
+#
+# Table value constructors
+#
+values ("first row"),("next row is 3"),(rownum()),("next row is 5"),(rownum());
+first row
+first row
+next row is 3
+3
+next row is 5
+5
diff --git a/mysql-test/main/rownum.test b/mysql-test/main/rownum.test
new file mode 100644
index 00000000000..3fe1ac13aac
--- /dev/null
+++ b/mysql-test/main/rownum.test
@@ -0,0 +1,565 @@
+--source include/have_sequence.inc
+#
+# Test of basic rownum() functionallity
+# Test are done with Aria to ensure that row order is stable
+#
+
+CREATE OR REPLACE TABLE t1(a int, b int) engine=aria;
+CREATE OR REPLACE TABLE t2(a int, b int) engine=aria;
+insert into t1 values (1,10),(2,20),(3,30);
+insert into t2 values (2,21),(3,31),(4,41);
+
+--echo #
+--echo # Simple selects
+--echo #
+
+select a,b,rownum() from t1;
+select a,b,rownum() from t1 where rownum() < 2;
+select a,b from t1 where rownum() <= 2;
+select a,b from t1 where rownum() > 2;
+
+--echo #
+--echo # Subqueries
+--echo #
+
+select t1.a,rownum(),t3.a,t3.t2_rownum from t1, (select t2.a,rownum() as t2_rownum from t2 where rownum() <=2) t3;
+select t1.a, (select t2.b from t2 where t1.a=t2.a and rownum() <= 1) 'b' from t1;
+select t1.a, t3.a from t1, (select * from t2 where rownum() <= 2) t3;
+select * from (select tt.*,rownum() as id from (select * from t1) tt) t3 where id>2;
+
+--echo #
+--echo # Joins
+--echo #
+
+select t1.a,t1.b,t2.a,t2.b,rownum() from t1,t2 where rownum() <= 4;
+select *,rownum() from t1,t2 where t1.a=t2.a and rownum()<=2;
+select * from t1 left join t2 on (t2.a=t1.a and rownum()=0);
+select * from t1 left join t2 on (t2.a=t1.a and rownum()>1);
+select * from t1 left join t2 on (t2.a=t1.a and rownum()<1);
+select * from t1 left join t2 on (t2.a=t1.a and rownum()=1);
+select * from t1 left join t2 on (t2.a=t1.a and rownum()>=1);
+
+--echo #
+--echo # Union
+--echo #
+
+select * from t1 where rownum() <=2 union select * from t2 where rownum()<= 1;
+
+--echo #
+--echo # Order by
+--echo #
+
+select * from t1 where rownum() <= 2 order by a desc;
+explain select * from t1 where rownum() <= 2 order by a desc;
+select t1.a,t1.b,rownum() from t1 where rownum() <= 2 order by a desc;
+explain select t1.a,t1.b,rownum() from t1 where rownum() <= 2 order by a desc;
+select *,rownum() from t1,t2;
+select *,rownum() from t1,t2 order by t2.a desc, t1.a desc;
+select * from (select * from t1 order by a desc) as t where rownum() <= 2;
+select * from t1,t2 where t1.a=t2.a and rownum()<=2 order by t1.a,t2.a;
+
+--echo #
+--echo # Having
+--echo #
+
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having r <= 2;
+select * from t1 having rownum() <= 2;
+select t1.a, sum(t1.b), rownum() from t1 group by t1.a;
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having r <= 2;
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having rownum() <= 2;
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having r <= 2 order by a desc;
+select t1.a, sum(t1.b), rownum() as 'r' from t1 group by t1.a having rownum() <= 2 order by a desc;
+
+--echo #
+--echo # Sum functions
+--echo #
+
+select max(rownum()),min(rownum()) from t1;
+select sum(rownum()),avg(rownum()) from t1;
+
+--echo #
+--echo # Group by
+--echo #
+
+select t1.a,sum(t1.b) from t1 where rownum() < 2 group by t1.a;
+select t1.a,sum(t2.b) from t1 JOIN t2 ON (t1.a=t2.a) where rownum() <= 2 group by t1.a;
+select * from (select t1.a,sum(t2.b) from t1 JOIN t2 ON (t1.a=t2.a) group by t1.a) as t where rownum() <= 1;
+select t1.a,sum(rownum()),count(*) from t1 where rownum() <= 2 group by t1.a;
+select * from (select t1.a,sum(t1.b) from t1 group by t1.a) as t3 where rownum() < 2;
+
+create table t3 (a int) engine=myisam;
+insert into t3 values (3),(5),(5),(3);
+select a, max(rownum()) from t3 group by a;
+drop table t3;
+
+CREATE TABLE t3 (
+ a int(11) DEFAULT NULL,
+ b varchar(1024) DEFAULT NULL
+);
+insert into t3 select mod(seq*3,20)+1, repeat(char(33+mod(seq,90)),mod(seq,10)*100) from seq_1_to_23;
+SELECT sq.a,length(sq.f) FROM (SELECT a, GROUP_CONCAT(b,b) AS f FROM t3 GROUP BY a ORDER BY a desc) as sq WHERE ROWNUM() <= 10;
+drop table t3;
+
+--echo #
+--echo # Prepared statements
+--echo #
+
+PREPARE stmt1 from "select a,b,rownum() from t1 where rownum() <= 2";
+execute stmt1;
+execute stmt1;
+deallocate prepare stmt1;
+
+--echo #
+--echo # Views
+--echo #
+
+create view v1 as select t1.a,rownum() from t1;
+select * from v1;
+select t1.a,v1.* from t1,v1 where t1.a=v1.a;
+drop view v1;
+
+CREATE TABLE t3 (a INT);
+INSERT INTO t3 VALUES (1),(2),(3);
+CREATE VIEW v1 AS SELECT a FROM t3 WHERE ROWNUM() <= 2;
+SELECT * FROM v1;
+drop view v1;
+drop table t3;
+
+--echo #
+--echo # Reserved words
+--echo #
+
+create table t4 (a int, rownum int);
+insert into t4 (a,rownum) values (1,2);
+select t4.a,t4.rownum from t4;
+drop table t4;
+
+--echo #
+--echo # Test Oracle mode
+--echo #
+
+set SQL_MODE=ORACLE;
+select t1.a,rownum from t1 where rownum<=2;
+select t1.a,rownum() from t1 where rownum()<=2;
+--error ER_PARSE_ERROR
+create table t4 (a int, rownum int);
+
+DELIMITER |;
+DECLARE
+ CURSOR c_cursor
+ IS select a,b,rownum from t1 where rownum <= 2;
+ v_a t1.a%TYPE;
+ v_b t1.b%TYPE;
+ v_rn t1.a%TYPE;
+BEGIN
+ OPEN c_cursor;
+ FETCH c_cursor INTO v_a, v_b, v_rn;
+ WHILE c_cursor%FOUND LOOP
+ SELECT concat(v_a,'--',v_b,'--',v_rn);
+ FETCH c_cursor INTO v_a, v_b, v_rn;
+ END LOOP;
+ CLOSE c_cursor;
+END;|
+DELIMITER ;|
+
+select a, rownum from t1 group by a, rownum having rownum < 3;
+select a, rownum as r from t1 group by a, rownum having r < 3;
+select a, rownum from t1 group by a, rownum having "rownum" < 3;
+select a, rownum from t1 group by a, rownum having rownum < 3 order by a desc;
+select a, rownum as r from t1 group by a, rownum having r < 3 order by a desc;
+select a, rownum from t1 group by a, rownum having "rownum" < 3 order by a desc;
+
+set SQL_MODE=DEFAULT;
+
+--echo # Cleanup
+
+drop table t1,t2;
+
+--echo #
+--echo # INSERT
+--echo #
+
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,rownum()),(2,rownum()),(3,rownum());
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # INSERT DELAYED
+--echo #
+
+create table t1 (a int not null primary key, b int);
+insert delayed into t1 values (1,rownum()),(2,rownum()),(3,rownum());
+let $wait_condition= SELECT COUNT(*)=3 FROM t1;
+source include/wait_condition.inc;
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # INSERT IGNORED
+--echo #
+
+create table t1 (a int not null primary key, b int);
+# with VALUES
+insert ignore into t1 values (1,rownum()),(2,rownum()),(2,rownum()),(3,rownum());
+select * from t1;
+delete from t1;
+# with SELECT
+insert ignore into t1 select * from (values (1,rownum()),(2,rownum()),(2,rownum()),(3,rownum())) t;
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # INSERT ... RETURNING
+--echo #
+
+create or replace table t1 (a int);
+insert into t1 values (1),(2) returning a, rownum();
+drop table t1;
+
+--echo #
+--echo # UPDATE
+--echo #
+
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,1),(2,2),(3,3);
+update t1 set b=0;
+update t1 set b=rownum()+1;
+select * from t1;
+
+update t1 set b=0;
+update t1 set b=rownum() where a < 10 and rownum() < 2;
+select * from t1;
+drop table t1;
+
+create table t1 (a int);
+insert into t1 values (10),(20),(30);
+update t1 set a = rownum();
+select * from t1;
+update t1 set a = rownum();
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # DELETE
+--echo #
+
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,1),(2,0),(3,0);
+delete from t1 where a < 10 and rownum() < 2;
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # MULTI-TABLE-DELETE
+--echo #
+
+create table t1 (a int not null primary key);
+insert into t1 values (1),(2),(3);
+create table t2 (a int not null primary key);
+insert into t2 values (1),(2),(3);
+
+delete t1,t2 from t1,t2 where t1.a=t2.a and rownum() <= 2;
+select * from t1;
+select * from t2;
+drop table t1,t2;
+
+--echo #
+--echo # MULTI-TABLE-UPDATE
+
+CREATE TABLE t1 (ID INT);
+CREATE TABLE t2 (ID INT,
+ s1 TEXT, s2 TEXT, s3 VARCHAR(10), s4 TEXT, s5 VARCHAR(10));
+
+INSERT INTO t1 VALUES (1),(2);
+INSERT INTO t2 VALUES (1,'test', 'test', 'test', 'test', 'test'),
+ (2,'test', 'test', 'test', 'test', 'test');
+
+SELECT * FROM t1 LEFT JOIN t2 USING(ID);
+UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed';
+select * from t2;
+update t2 set s1="";
+UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed' where rownum() <=1;
+select * from t2;
+drop table t1,t2;
+
+--echo #
+--echo # LOAD DATA
+--echo #
+
+create table t1 (a int, b int, c int);
+load data infile '../../std_data/loaddata7.dat' into table t1 fields terminated by ',' lines terminated by "\r\n" (a,b) set c=rownum();
+select * from t1;
+drop table t1;
+
+--echo #
+--echo # LIMIT OPTIMIZATION
+--echo #
+
+create table t1 (a int);
+insert into t1 select seq from seq_1_to_100;
+
+flush status;
+select * from t1 where rownum() <= 3;
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() <= 4 and rownum() <= 3;
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() < 4 and a > 10;
+show status like "Rows_read";
+flush status;
+select * from t1 where 3 >= rownum();
+show status like "Rows_read";
+flush status;
+select * from t1 where 4 > rownum() and a > 20;
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() = 1 and a > 10;
+show status like "Rows_read";
+flush status;
+select * from t1 where a > 30 && 1 = rownum();
+show status like "Rows_read";
+flush status;
+
+--echo # No limit optimization
+
+select * from t1 where rownum() > 10;
+show status like "Rows_read";
+flush status;
+select * from t1 where 10 < rownum();
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() >= 10;
+show status like "Rows_read";
+flush status;
+select * from t1 where 10 < rownum();
+show status like "Rows_read";
+flush status;
+select * from t1 where 10 <= rownum();
+show status like "Rows_read";
+flush status;
+select * from t1 where 2 = rownum();
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() = 2;
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() <= 0;
+show status like "Rows_read";
+flush status;
+select *,rownum() from t1 where rownum() < 10 limit 4, 4;
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() < 10 order by a;
+show status like "Rows_read";
+flush status;
+
+
+--echo # rownum and limit
+
+select * from t1 where rownum() < 4 limit 10;
+show status like "Rows_read";
+flush status;
+select * from t1 where rownum() < 10 limit 4;
+show status like "Rows_read";
+
+drop table t1;
+
+--echo #
+--echo # Rownum examples from Woqutech
+--echo #
+
+set SQL_MODE=ORACLE;
+create table t1 (c1 int ,c2 varchar(20)) engine=myisam;
+insert into t1 values (1, 'aaa'),(2, 'bbb'),(3, 'ccc'),(4, 'ddd'),(5, 'eee');
+update t1 set c2 = 'xxx' where rownum = 2;
+select * from t1 where c2='xxx';
+update t1 set c2 = 'xxx' where rownum < 3;
+select * from t1 where c2='xxx';
+delete from t1 where rownum = 2;
+select count(*) from t1;
+delete from t1 where rownum < 3;
+select count(*) from t1;
+delete from t1 where c1=rownum ;
+select count(*) from t1;
+delete from t1 where c1=rownum+2 ;
+select count(*) from t1;
+set SQL_MODE=DEFAULT;
+drop table t1;
+
+--echo #
+--echo # Rownum() used in not supported places (returns 0 or gives an error)
+--echo #
+
+set @a=rownum();
+select @a;
+
+--error ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED
+create or replace table t (a int, b int as (rownum()) virtual);
+
+create table t1 (a int);
+insert into t1 values (3),(1),(5),(8),(4);
+handler t1 open;
+--error ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED
+handler t1 read next where rownum() < 1;
+handler t1 close;
+drop table t1;
+
+# rownum() executed in a function will be run in the function context.
+
+create table t1 (a int not null primary key, b int);
+insert into t1 values (1,1),(2,2),(3,3);
+create function f() returns int return rownum();
+select a, rownum(), f() from t1;
+drop function f;
+drop table t1;
+
+# rownum() executed in a trigger will be run in the function context.
+
+create or replace table t1 (a int, r int);
+create trigger tr before update on t1 for each row set NEW.r = rownum();
+insert into t1 (a) values (1),(2);
+select * from t1;
+update t1 set a=a+10;
+select * from t1;
+drop trigger tr;
+drop table t1;
+
+--echo #
+--echo # LIMIT optimisation
+--echo #
+
+create table t1 (a int);
+insert into t1 values (1),(2),(3),(4),(5);
+
+let $query=
+select * from (select a from t1 where a < 1000) as tt where rownum() <= 2;
+flush status;
+eval $query;
+show status like "Rows_read";
+eval explain extended $query;
+eval prepare stmt from "$query";
+flush status;
+execute stmt;
+show status like "Rows_read";
+flush status;
+execute stmt;
+show status like "Rows_read";
+deallocate prepare stmt;
+
+
+let $query=
+select * from (select a from t1 where a < 1000 group by a) as tt where rownum() <= 2;
+flush status;
+eval $query;
+show status like "Rows_read";
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+let $query=
+select * from (select a from t1 where a < 1000 group by a order by 1) as tt where rownum() <= 2;
+flush status;
+eval $query;
+show status like "Rows_read";
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+let $query=
+select * from (select a from t1 where a < 1000 union select 10) as tt where rownum() <= 2;
+flush status;
+eval $query;
+show status like "Rows_read";
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+--echo # Other limit
+
+let $query=
+select * from (select a from t1 where a < 1000 group by a order by 1 limit 1) as tt where rownum() <= 2;
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+--echo # Other limit less
+
+let $query=
+select * from (select a from t1 where a < 1000 group by a order by 1 limit 10) as tt where rownum() <= 2;
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+let $query=
+select * from (select a from t1 where a < 1000 union select 10 limit 1) as tt where rownum() <= 2;
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+--echo # < rownum
+
+let $query=
+select * from (select a from t1 where a < 1000) as tt where rownum() < 2;
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+--echo # Simple expression
+
+let $query=
+select * from (select a from t1 where a < 1000) as tt where rownum() <= 1+1;
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+--echo # Simple expression reversed
+
+let $query=
+select * from (select a from t1 where a < 1000) as tt where 1+1 >= rownum();
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+--echo # expensive (no opt)
+
+let $query=
+select * from (select a from t1 where a < 1000) as tt where (select max(a) from t1) >= rownum();
+eval $query;
+eval explain extended $query;
+eval prepare stmt from "$query";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+drop table t1;
+
+--echo #
+--echo # Table value constructors
+--echo #
+values ("first row"),("next row is 3"),(rownum()),("next row is 5"),(rownum());
diff --git a/mysql-test/main/schema.result b/mysql-test/main/schema.result
index 6d8271a49f3..99ac6c71985 100644
--- a/mysql-test/main/schema.result
+++ b/mysql-test/main/schema.result
@@ -10,6 +10,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
drop schema foo;
#
diff --git a/mysql-test/main/select.result b/mysql-test/main/select.result
index c8df75c58f0..da013eb2619 100644
--- a/mysql-test/main/select.result
+++ b/mysql-test/main/select.result
@@ -2088,10 +2088,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
DO 1;
DO benchmark(100,1+1),1,1;
diff --git a/mysql-test/main/select.test b/mysql-test/main/select.test
index 820a7362fda..fa1cd2d8f26 100644
--- a/mysql-test/main/select.test
+++ b/mysql-test/main/select.test
@@ -3525,7 +3525,9 @@ CREATE VIEW v1 AS SELECT 1 AS ` `;
--error 1166
CREATE VIEW v1 AS SELECT (SELECT 1 AS ` `);
+--enable_prepare_warnings
CREATE VIEW v1 AS SELECT 1 AS ` x`;
+--disable_prepare_warnings
SELECT `x` FROM v1;
--error 1166
diff --git a/mysql-test/main/select_jcl6.result b/mysql-test/main/select_jcl6.result
index 5fcfbd8234b..0d09df225c9 100644
--- a/mysql-test/main/select_jcl6.result
+++ b/mysql-test/main/select_jcl6.result
@@ -2099,10 +2099,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
DO 1;
DO benchmark(100,1+1),1,1;
diff --git a/mysql-test/main/select_pkeycache.result b/mysql-test/main/select_pkeycache.result
index c8df75c58f0..da013eb2619 100644
--- a/mysql-test/main/select_pkeycache.result
+++ b/mysql-test/main/select_pkeycache.result
@@ -2088,10 +2088,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
DO 1;
DO benchmark(100,1+1),1,1;
diff --git a/mysql-test/main/selectivity_innodb.result b/mysql-test/main/selectivity_innodb.result
index a1d227a9baa..5457db21436 100644
--- a/mysql-test/main/selectivity_innodb.result
+++ b/mysql-test/main/selectivity_innodb.result
@@ -1,6 +1,8 @@
SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
set @save_optimizer_switch_for_selectivity_test=@@optimizer_switch;
set optimizer_switch='extended_keys=on';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
drop table if exists t0,t1,t2,t3;
select @@global.use_stat_tables;
@@global.use_stat_tables
@@ -2153,3 +2155,4 @@ set use_stat_tables= @tmp_ust;
set optimizer_use_condition_selectivity= @tmp_oucs;
set @@global.histogram_size=@save_histogram_size;
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/selectivity_innodb.test b/mysql-test/main/selectivity_innodb.test
index 4bcdb5d6ec9..c970e7d871d 100644
--- a/mysql-test/main/selectivity_innodb.test
+++ b/mysql-test/main/selectivity_innodb.test
@@ -7,6 +7,8 @@ SET SESSION DEFAULT_STORAGE_ENGINE='InnoDB';
set @save_optimizer_switch_for_selectivity_test=@@optimizer_switch;
set optimizer_switch='extended_keys=on';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
--source selectivity.test
@@ -233,3 +235,4 @@ set use_stat_tables= @tmp_ust;
set optimizer_use_condition_selectivity= @tmp_oucs;
set @@global.histogram_size=@save_histogram_size;
SET SESSION DEFAULT_STORAGE_ENGINE=DEFAULT;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/selectivity_no_engine.result b/mysql-test/main/selectivity_no_engine.result
index b6830e91f61..3811b12a1be 100644
--- a/mysql-test/main/selectivity_no_engine.result
+++ b/mysql-test/main/selectivity_no_engine.result
@@ -312,7 +312,7 @@ EXPLAIN
SELECT * FROM t1 AS a NATURAL JOIN t1 AS b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE a ALL NULL NULL NULL NULL 5 Using where
-1 SIMPLE b hash_ALL NULL #hash#$hj 612 test.a.Host,test.a.User,test.a.Password,test.a.Select_priv,test.a.Insert_priv,test.a.Update_priv,test.a.Delete_priv,test.a.Create_priv,test.a.Drop_priv,test.a.Reload_priv,test.a.Shutdown_priv,test.a.Process_priv,test.a.File_priv,test.a.Grant_priv,test.a.References_priv,test.a.Index_priv,test.a.Alter_priv,test.a.Show_db_priv,test.a.Super_priv,test.a.Create_tmp_table_priv,test.a.Lock_tables_priv,test.a.Execute_priv,test.a.Repl_slave_priv,test.a.Repl_client_priv,test.a.Create_view_priv,test.a.Show_view_priv,test.a.Create_routine_priv,test.a.Alter_routine_priv,test.a.Create_user_priv,test.a.Event_priv,test.a.Trigger_priv,test.a.Create_tablespace_priv,test.a.Delete_history_priv,test.a.ssl_type,test.a.ssl_cipher,test.a.x509_issuer,test.a.x509_subject,test.a.max_questions,test.a.max_updates,test.a.max_connections,test.a.max_user_connections,test.a.plugin,test.a.authentication_string,test.a.password_expired,test.a.is_role,test.a.default_role,test.a.max_statement_time 5 Using where; Using join buffer (flat, BNLH join)
+1 SIMPLE b hash_ALL NULL #hash#$hj 1341 test.a.Host,test.a.User,test.a.Password,test.a.Select_priv,test.a.Insert_priv,test.a.Update_priv,test.a.Delete_priv,test.a.Create_priv,test.a.Drop_priv,test.a.Reload_priv,test.a.Shutdown_priv,test.a.Process_priv,test.a.File_priv,test.a.Grant_priv,test.a.References_priv,test.a.Index_priv,test.a.Alter_priv,test.a.Show_db_priv,test.a.Super_priv,test.a.Create_tmp_table_priv,test.a.Lock_tables_priv,test.a.Execute_priv,test.a.Repl_slave_priv,test.a.Repl_client_priv,test.a.Create_view_priv,test.a.Show_view_priv,test.a.Create_routine_priv,test.a.Alter_routine_priv,test.a.Create_user_priv,test.a.Event_priv,test.a.Trigger_priv,test.a.Create_tablespace_priv,test.a.Delete_history_priv,test.a.ssl_type,test.a.ssl_cipher,test.a.x509_issuer,test.a.x509_subject,test.a.max_questions,test.a.max_updates,test.a.max_connections,test.a.max_user_connections,test.a.plugin,test.a.authentication_string,test.a.password_expired,test.a.is_role,test.a.default_role,test.a.max_statement_time 5 Using where; Using join buffer (flat, BNLH join)
DROP TABLE t1,t2,t3;
#
# End of the test file
diff --git a/mysql-test/main/show_check.result b/mysql-test/main/show_check.result
index 3498dcd13c0..9c7d45ba3a4 100644
--- a/mysql-test/main/show_check.result
+++ b/mysql-test/main/show_check.result
@@ -76,10 +76,11 @@ def information_schema STATISTICS STATISTICS NULLABLE Null 253 3 0 N 4097 0 8
def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 16 5 N 4097 0 8
def information_schema STATISTICS STATISTICS COMMENT Comment 253 16 0 Y 4096 0 8
def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_comment 253 1024 0 N 4097 0 8
-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 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
-t1 1 b 2 c A 5 NULL NULL BTREE
+def information_schema STATISTICS STATISTICS IGNORED Ignored 253 3 2 N 4097 0 8
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
+t1 1 b 2 c A 5 NULL NULL BTREE NO
insert into t1 values (5,5,5);
ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
-- Here we enable metadata just to check that the collation of the
@@ -148,6 +149,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
show databases like "test%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
@@ -169,11 +171,11 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 f1 A 1 NULL NULL BTREE
-t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE
-t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE
-t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 A 1 NULL NULL BTREE NO
+t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE NO
+t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE NO
+t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE NO
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
@@ -186,11 +188,11 @@ def Msg_text 250 393216 2 Y 0 39 8
Table Op Msg_type Msg_text
test.t1 repair status OK
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 f1 A 1 NULL NULL BTREE
-t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE
-t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE
-t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 A 1 NULL NULL BTREE NO
+t1 0 PRIMARY 2 f2 A 3 NULL NULL BTREE NO
+t1 0 PRIMARY 3 f3 A 9 NULL NULL BTREE NO
+t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE NO
drop table t1;
create temporary table t1 (a int not null);
show create table t1;
@@ -660,8 +662,9 @@ def information_schema STATISTICS STATISTICS NULLABLE Null 253 3 0 N 4097 0 63
def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 16 5 N 4097 0 63
def information_schema STATISTICS STATISTICS COMMENT Comment 253 16 0 Y 4096 0 63
def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_comment 253 1024 0 N 4097 0 63
-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 field1 A 0 1000 NULL BTREE
+def information_schema STATISTICS STATISTICS IGNORED Ignored 253 3 2 N 4097 0 63
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 field1 A 0 1000 NULL BTREE NO
drop table t1;
create table t1 (
c1 int NOT NULL,
@@ -872,14 +875,14 @@ set names utf8;
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
----------------------------------------------------------------
-SHOW CHARACTER SET LIKE 'utf8';
+SHOW CHARACTER SET LIKE 'utf8mb3';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema CHARACTER_SETS CHARACTER_SETS CHARACTER_SET_NAME Charset 253 96 4 N 4097 0 33
+def information_schema CHARACTER_SETS CHARACTER_SETS CHARACTER_SET_NAME Charset 253 96 7 N 4097 0 33
def information_schema CHARACTER_SETS CHARACTER_SETS DESCRIPTION Description 253 180 13 N 4097 0 33
-def information_schema CHARACTER_SETS CHARACTER_SETS DEFAULT_COLLATE_NAME Default collation 253 96 15 N 4097 0 33
+def information_schema CHARACTER_SETS CHARACTER_SETS DEFAULT_COLLATE_NAME Default collation 253 96 18 N 4097 0 33
def information_schema CHARACTER_SETS CHARACTER_SETS MAXLEN Maxlen 8 3 1 N 36865 0 63
Charset Description Default collation Maxlen
-utf8 UTF-8 Unicode utf8_general_ci 3
+utf8mb3 UTF-8 Unicode utf8mb3_general_ci 3
----------------------------------------------------------------
SHOW COLLATION LIKE 'latin1_bin';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
@@ -930,8 +933,9 @@ def information_schema STATISTICS STATISTICS NULLABLE Null 253 9 0 N 4097 0 33
def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 48 5 N 4097 0 33
def information_schema STATISTICS STATISTICS COMMENT Comment 253 48 0 Y 4096 0 33
def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_comment 253 3072 0 N 4097 0 33
-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 c A 0 NULL NULL BTREE
+def information_schema STATISTICS STATISTICS IGNORED Ignored 253 9 2 N 4097 0 33
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c A 0 NULL NULL BTREE NO
----------------------------------------------------------------
SELECT
TABLE_CATALOG,
@@ -1019,7 +1023,7 @@ def information_schema TRIGGERS TRIGGERS ACTION_STATEMENT Statement 252 589815 1
def information_schema TRIGGERS TRIGGERS ACTION_TIMING Timing 253 18 6 N 4097 0 33
def information_schema TRIGGERS TRIGGERS CREATED Created 12 22 22 Y 4224 2 63
def information_schema TRIGGERS TRIGGERS SQL_MODE sql_mode 253 24576 89 N 4097 0 33
-def information_schema TRIGGERS TRIGGERS DEFINER Definer 253 567 14 N 4097 0 33
+def information_schema TRIGGERS TRIGGERS DEFINER Definer 253 1152 14 N 4097 0 33
def information_schema TRIGGERS TRIGGERS CHARACTER_SET_CLIENT character_set_client 253 96 6 N 4097 0 33
def information_schema TRIGGERS TRIGGERS COLLATION_CONNECTION collation_connection 253 96 6 N 4097 0 33
def information_schema TRIGGERS TRIGGERS DATABASE_COLLATION Database Collation 253 96 17 N 4097 0 33
@@ -1063,7 +1067,7 @@ def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_NEW_TABLE ACTION_REFER
def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_OLD_ROW 253 9 3 N 4097 0 33
def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_NEW_ROW ACTION_REFERENCE_NEW_ROW 253 9 3 N 4097 0 33
def information_schema TRIGGERS TRIGGERS SQL_MODE SQL_MODE 253 24576 89 N 4097 0 33
-def information_schema TRIGGERS TRIGGERS DEFINER DEFINER 253 567 14 N 4097 0 33
+def information_schema TRIGGERS TRIGGERS DEFINER DEFINER 253 1152 14 N 4097 0 33
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW SQL_MODE DEFINER
def test t1_bi INSERT def test t1 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost
SELECT CREATED FROM INFORMATION_SCHEMA.TRIGGERS WHERE trigger_name='t1_bi';
@@ -1091,7 +1095,7 @@ def information_schema VIEWS VIEWS TABLE_NAME TABLE_NAME 253 192 2 N 4097 0 33
def information_schema VIEWS VIEWS VIEW_DEFINITION VIEW_DEFINITION 252 589815 15 N 4113 0 33
def information_schema VIEWS VIEWS CHECK_OPTION CHECK_OPTION 253 24 4 N 4097 0 33
def information_schema VIEWS VIEWS IS_UPDATABLE IS_UPDATABLE 253 9 2 N 4097 0 33
-def information_schema VIEWS VIEWS DEFINER DEFINER 253 567 14 N 4097 0 33
+def information_schema VIEWS VIEWS DEFINER DEFINER 253 1152 14 N 4097 0 33
def information_schema VIEWS VIEWS SECURITY_TYPE SECURITY_TYPE 253 21 7 N 4097 0 33
def information_schema VIEWS VIEWS CHARACTER_SET_CLIENT CHARACTER_SET_CLIENT 253 96 6 N 4097 0 33
def information_schema VIEWS VIEWS COLLATION_CONNECTION COLLATION_CONNECTION 253 96 6 N 4097 0 33
@@ -1150,7 +1154,7 @@ def information_schema ROUTINES ROUTINES SQL_PATH SQL_PATH 253 192 0 Y 4096 0 33
def information_schema ROUTINES ROUTINES SECURITY_TYPE SECURITY_TYPE 253 21 7 N 4097 0 33
def information_schema ROUTINES ROUTINES SQL_MODE SQL_MODE 253 24576 89 N 4097 0 33
def information_schema ROUTINES ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 252 589815 0 N 4113 0 33
-def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 567 14 N 4097 0 33
+def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 1152 14 N 4097 0 33
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE SQL_MODE ROUTINE_COMMENT DEFINER
p1 def test p1 PROCEDURE NULL SQL SELECT 1 NULL NULL SQL NO CONTAINS SQL NULL DEFINER STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost
----------------------------------------------------------------
@@ -1205,7 +1209,7 @@ def information_schema ROUTINES ROUTINES SQL_PATH SQL_PATH 253 192 0 Y 4096 0 33
def information_schema ROUTINES ROUTINES SECURITY_TYPE SECURITY_TYPE 253 21 7 N 4097 0 33
def information_schema ROUTINES ROUTINES SQL_MODE SQL_MODE 253 24576 89 N 4097 0 33
def information_schema ROUTINES ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 252 589815 0 N 4113 0 33
-def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 567 14 N 4097 0 33
+def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 1152 14 N 4097 0 33
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE SQL_MODE ROUTINE_COMMENT DEFINER
f1 def test f1 FUNCTION int(11) SQL RETURN 1 NULL NULL SQL NO CONTAINS SQL NULL DEFINER STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost
----------------------------------------------------------------
@@ -1262,7 +1266,7 @@ PRIMARY KEY (Codigo)
show create table t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def Table 253 192 2 N 1 39 33
-def Create Table 253 3072 458 N 1 39 33
+def Create Table 253 3072 461 N 1 39 33
Table Create Table
t1 CREATE TABLE `t1` (
`Codigo` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -1275,7 +1279,7 @@ t1 CREATE TABLE `t1` (
`Provincia` varchar(255) DEFAULT NULL,
`Poblacion` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Codigo`)
-) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8
+) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb3
drop table t1;
End of 5.0 tests
SHOW AUTHORS;
@@ -1312,7 +1316,7 @@ show columns from `a\b` from `mysqlttest\1`;
Field Type Null Key Default Extra
a int(11) YES NULL
show keys from `mysqlttest\1`.`a\b`;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
drop table `mysqlttest\1`.`a\b`;
drop database `mysqlttest\1`;
show engine foobar status;
@@ -1528,7 +1532,7 @@ LOCK TABLE t1 WRITE;
connection default;
SHOW CREATE TRIGGER t1_bi;
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
-t1_bi STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a = 1 utf8 utf8_general_ci latin1_swedish_ci #
+t1_bi STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a = 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci #
connection con1;
UNLOCK TABLES;
# Test 2: ALTER TABLE with SHOW CREATE TRIGGER in transaction
@@ -1536,7 +1540,7 @@ connection default;
START TRANSACTION;
SHOW CREATE TRIGGER t1_bi;
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
-t1_bi STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a = 1 utf8 utf8_general_ci latin1_swedish_ci #
+t1_bi STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a = 1 utf8mb3 utf8mb3_general_ci latin1_swedish_ci #
connection con1;
ALTER TABLE t1 CHARACTER SET = utf8;
disconnect con1;
diff --git a/mysql-test/main/show_check.test b/mysql-test/main/show_check.test
index 38bcb5f14e7..15beaaf0401 100644
--- a/mysql-test/main/show_check.test
+++ b/mysql-test/main/show_check.test
@@ -719,7 +719,7 @@ set names utf8;
--echo ----------------------------------------------------------------
--disable_ps_protocol
-SHOW CHARACTER SET LIKE 'utf8';
+SHOW CHARACTER SET LIKE 'utf8mb3';
--enable_ps_protocol
--echo ----------------------------------------------------------------
diff --git a/mysql-test/main/show_explain.result b/mysql-test/main/show_explain.result
index 69dc506527b..317a12ef311 100644
--- a/mysql-test/main/show_explain.result
+++ b/mysql-test/main/show_explain.result
@@ -714,10 +714,10 @@ id select_type table type possible_keys key key_len ref rows Extra
Warnings:
Note 1003 SHOW INDEX FROM t1
connection con1;
-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 A NULL NULL NULL YES BTREE
-t1 1 b 1 b A NULL NULL NULL YES BTREE
-t1 1 c 1 c A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
+t1 1 b 1 b A NULL NULL NULL YES BTREE NO
+t1 1 c 1 c A NULL NULL NULL YES BTREE NO
SET debug_dbug=@old_debug;
DROP TABLE t1;
#
@@ -1007,7 +1007,7 @@ SELECT a+SLEEP(0.01) FROM t1
WHERE a IN ( 255, 0 ) OR b BETWEEN 6 AND 129
ORDER BY b;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge a,b a,b 5,5 NULL 8 Using sort_union(a,b); Using where; Using filesort
+1 SIMPLE t1 index_merge a,b a,b 5,5 NULL 8 Using sort_union(a,b); Using where; Using temporary; Using filesort
set @show_explain_probe_select_id=1;
SET debug_dbug='+d,show_explain_probe_join_exec_start';
SELECT a+SLEEP(0.01) FROM t1
@@ -1016,7 +1016,7 @@ ORDER BY b;
connection default;
show explain for $thr2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge a,b a,b 5,5 NULL 8 Using sort_union(a,b); Using where; Using filesort
+1 SIMPLE t1 index_merge a,b a,b 5,5 NULL 8 Using sort_union(a,b); Using where; Using temporary; Using filesort
Warnings:
Note 1003 SELECT a+SLEEP(0.01) FROM t1
WHERE a IN ( 255, 0 ) OR b BETWEEN 6 AND 129
@@ -1039,7 +1039,7 @@ ORDER BY b;
connection default;
show explain for $thr2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index_merge a,b a,b 5,5 NULL 8 Using sort_union(a,b); Using where; Using filesort
+1 SIMPLE t1 index_merge a,b a,b 5,5 NULL 8 Using sort_union(a,b); Using where; Using temporary; Using filesort
Warnings:
Note 1003 SELECT a+SLEEP(0.01) FROM t1
WHERE a IN ( 255, 0 ) OR b BETWEEN 6 AND 129
diff --git a/mysql-test/main/show_explain.test b/mysql-test/main/show_explain.test
index 515eb9efa47..415a892c0ec 100644
--- a/mysql-test/main/show_explain.test
+++ b/mysql-test/main/show_explain.test
@@ -3,7 +3,8 @@
#
--source include/have_debug.inc
--source include/have_innodb.inc
-
+# Using valgrind can cause 'reap' to fail. See comment below
+--source include/not_valgrind.inc
--disable_warnings
drop table if exists t0, t1, t2, t3, t4;
@@ -885,6 +886,7 @@ let $wait_condition= select State='show explain' from information_schema.process
evalp kill query $thr_default;
connection default;
+# This may fail when using valgrind
--error ER_QUERY_INTERRUPTED
reap;
diff --git a/mysql-test/main/show_function_with_pad_char_to_full_length.result b/mysql-test/main/show_function_with_pad_char_to_full_length.result
index 785cab7b3e6..c520fee3ffd 100644
--- a/mysql-test/main/show_function_with_pad_char_to_full_length.result
+++ b/mysql-test/main/show_function_with_pad_char_to_full_length.result
@@ -1,9 +1,9 @@
create function f() returns int return 1;
-show function status;
+show function status where db='test';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
T f T T T T T T T T T
set sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';
-show function status;
+show function status where db='test';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
T f T T T T T T T T T
drop function f;
diff --git a/mysql-test/main/show_function_with_pad_char_to_full_length.test b/mysql-test/main/show_function_with_pad_char_to_full_length.test
index f47f36294d4..81e82118786 100644
--- a/mysql-test/main/show_function_with_pad_char_to_full_length.test
+++ b/mysql-test/main/show_function_with_pad_char_to_full_length.test
@@ -6,10 +6,10 @@
create function f() returns int return 1;
--replace_column 1 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 T 11 T
-show function status;
+show function status where db='test';
set sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';
--replace_column 1 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 T 11 T
-show function status;
+show function status where db='test';
drop function f;
select @@sql_mode;
diff --git a/mysql-test/main/signal.result b/mysql-test/main/signal.result
index b5b479db017..6a7f1c1e750 100644
--- a/mysql-test/main/signal.result
+++ b/mysql-test/main/signal.result
@@ -561,9 +561,7 @@ ERROR 42000: Bad SQLSTATE: '00001'
# PART 2: non preparable statements
#
prepare stmt from 'SIGNAL SQLSTATE \'23000\'';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
prepare stmt from 'RESIGNAL SQLSTATE \'23000\'';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
#
# PART 3: runtime execution
#
diff --git a/mysql-test/main/signal.test b/mysql-test/main/signal.test
index 22cfc080895..97cd4d9a5d0 100644
--- a/mysql-test/main/signal.test
+++ b/mysql-test/main/signal.test
@@ -669,10 +669,7 @@ delimiter ;$$
--echo # PART 2: non preparable statements
--echo #
---error ER_UNSUPPORTED_PS
prepare stmt from 'SIGNAL SQLSTATE \'23000\'';
-
---error ER_UNSUPPORTED_PS
prepare stmt from 'RESIGNAL SQLSTATE \'23000\'';
--echo #
diff --git a/mysql-test/main/signal_demo1.test b/mysql-test/main/signal_demo1.test
index 62020b8f3fd..ff6a4437cdf 100644
--- a/mysql-test/main/signal_demo1.test
+++ b/mysql-test/main/signal_demo1.test
@@ -67,6 +67,8 @@ delimiter $$;
--echo # Schema integrity enforcement
--echo #
+--enable_prepare_warnings
+
create procedure check_pk_person(in person_type char, in id integer)
begin
declare x integer;
@@ -158,6 +160,8 @@ begin
end
$$
+--disable_prepare_warnings
+
create trigger po_order_bi before insert on po_order
for each row
begin
diff --git a/mysql-test/main/skip_grants.result b/mysql-test/main/skip_grants.result
index a8633807571..f21bfa1da41 100644
--- a/mysql-test/main/skip_grants.result
+++ b/mysql-test/main/skip_grants.result
@@ -52,8 +52,6 @@ DROP FUNCTION f3;
# Bug #26807 "set global event_scheduler=1" and --skip-grant-tables crashes server
#
set global event_scheduler=1;
-Warnings:
-Note 1408 Event Scheduler: Loaded 0 events
set global event_scheduler=0;
#
# Bug#26285 Selecting information_schema crahes server
diff --git a/mysql-test/main/skip_grants.test b/mysql-test/main/skip_grants.test
index eb8d3c3df88..7594285aed7 100644
--- a/mysql-test/main/skip_grants.test
+++ b/mysql-test/main/skip_grants.test
@@ -1,6 +1,6 @@
# This tests not performed with embedded server
-- source include/not_embedded.inc
-
+-- disable_ps_protocol
use test;
#
@@ -92,7 +92,9 @@ DROP FUNCTION f3;
--echo #
--echo # Bug #26807 "set global event_scheduler=1" and --skip-grant-tables crashes server
--echo #
+--disable_warnings
set global event_scheduler=1;
+--enable_warnings
set global event_scheduler=0;
--echo #
@@ -161,6 +163,8 @@ drop user baz@baz;
# need to restart the server to restore the --skip-grant state
--source include/restart_mysqld.inc
+--enable_ps_protocol
+
--echo #
--echo # End of 10.3 tests
--echo #
diff --git a/mysql-test/main/sp-anchor-row-type-cursor.test b/mysql-test/main/sp-anchor-row-type-cursor.test
index 7089175507c..bf4b6968458 100644
--- a/mysql-test/main/sp-anchor-row-type-cursor.test
+++ b/mysql-test/main/sp-anchor-row-type-cursor.test
@@ -1006,6 +1006,7 @@ DROP TABLE t1;
--echo # SELECT INTO + cursor ROW TYPE variable with a wrong column count
--echo #
+--enable_prepare_warnings
CREATE TABLE t1 (a INT, b VARCHAR(32));
INSERT INTO t1 VALUES (10,'b10');
DELIMITER $$;
@@ -1068,6 +1069,8 @@ CALL p1();
DROP TABLE t1;
DROP PROCEDURE p1;
+--disable_prepare_warnings
+
--echo #
--echo # End of MDEV-12461 TYPE OF and ROW TYPE OF anchored data types
--echo #
diff --git a/mysql-test/main/sp-anchor-row-type-table.test b/mysql-test/main/sp-anchor-row-type-table.test
index 3f04dc68586..33b2d7487a4 100644
--- a/mysql-test/main/sp-anchor-row-type-table.test
+++ b/mysql-test/main/sp-anchor-row-type-table.test
@@ -11,6 +11,8 @@
--echo # Referring to a table in a non-existing database
--echo #
+--enable_prepare_warnings
+
DELIMITER $$;
CREATE PROCEDURE p1()
BEGIN
@@ -881,3 +883,4 @@ END;
$$
DELIMITER ;$$
DROP TABLE t1;
+--disable_prepare_warnings
diff --git a/mysql-test/main/sp-anchor-type.result b/mysql-test/main/sp-anchor-type.result
index f7674735821..9d339b8235c 100644
--- a/mysql-test/main/sp-anchor-type.result
+++ b/mysql-test/main/sp-anchor-type.result
@@ -464,7 +464,7 @@ t2 CREATE TABLE `t2` (
`dc209` decimal(20,9) DEFAULT NULL,
`cc` char(10) DEFAULT NULL,
`cv` varchar(10) DEFAULT NULL,
- `cvu` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
+ `cvu` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
`t1` tinytext DEFAULT NULL,
`t2` text DEFAULT NULL,
`t3` mediumtext DEFAULT NULL,
@@ -626,7 +626,7 @@ t2 CREATE TABLE `t2` (
`dc209` decimal(20,9) DEFAULT NULL,
`cc` char(10) DEFAULT NULL,
`cv` varchar(10) DEFAULT NULL,
- `cvu` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
+ `cvu` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
`t1` tinytext DEFAULT NULL,
`t2` text DEFAULT NULL,
`t3` mediumtext DEFAULT NULL,
@@ -824,9 +824,9 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `tables_table_name` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
+ `tables_table_name` varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL,
`tables_table_rows` bigint(21) unsigned DEFAULT NULL,
- `processlist_info` longtext CHARACTER SET utf8 DEFAULT NULL,
+ `processlist_info` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
`processlist_info_binary` blob DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
diff --git a/mysql-test/main/sp-anchor-type.test b/mysql-test/main/sp-anchor-type.test
index b340cf776c5..56136c4bd63 100644
--- a/mysql-test/main/sp-anchor-type.test
+++ b/mysql-test/main/sp-anchor-type.test
@@ -659,6 +659,7 @@ DROP TABLE t1;
CREATE TABLE t1 (a INT, b VARCHAR(10),c DATETIME(3));
INSERT INTO t1 VALUES (1,'b1','2001-01-01 10:20:30.123');
DELIMITER $$;
+--enable_prepare_warnings
CREATE PROCEDURE p1()
BEGIN
DECLARE v_a TYPE OF t1.a;
@@ -669,6 +670,7 @@ BEGIN
END;
$$
DELIMITER ;$$
+--disable_prepare_warnings
CALL p1();
DROP PROCEDURE p1;
DROP TABLE t1;
diff --git a/mysql-test/main/sp-big.test b/mysql-test/main/sp-big.test
index 043e737105a..ff091c0a883 100644
--- a/mysql-test/main/sp-big.test
+++ b/mysql-test/main/sp-big.test
@@ -8,6 +8,7 @@ insert into t1 values (1),(2),(3);
let $body=`select repeat('select count(*) into out1 from t1;\n', 3072)`;
+--enable_prepare_warnings
delimiter //;
--disable_query_log
eval select length('$body') as length//
@@ -16,6 +17,7 @@ begin
$body
end//
--enable_query_log
+--disable_prepare_warnings
delimiter ;//
@@ -98,6 +100,7 @@ create table t1 (
) default collate=latin1_bin;
delimiter //;
+--enable_prepare_warnings
create procedure select_test()
begin
declare id1_cond int;
@@ -107,6 +110,7 @@ begin
set id1_cond = id1_cond + 1;
end while;
end//
+--disable_prepare_warnings
delimiter ;//
insert t1 select seq, seq, 1, 1, seq, seq, seq from seq_1_to_2000;
diff --git a/mysql-test/main/sp-cursor.result b/mysql-test/main/sp-cursor.result
index b1c2b335ea4..230bf8c66ef 100644
--- a/mysql-test/main/sp-cursor.result
+++ b/mysql-test/main/sp-cursor.result
@@ -800,3 +800,15 @@ drop procedure test_proc;
drop view v1;
drop function get_name;
drop table t1;
+#
+# MDEV-28266: Crash in Field_string::type_handler when calling procedures
+#
+CREATE TABLE t (f INT);
+CREATE TRIGGER tr AFTER INSERT ON t FOR EACH ROW
+FOR x IN (SELECT * FROM json_table(NULL, '$' COLUMNS(a CHAR(1) path '$.*')) tmp)
+DO set @a=1; END FOR $
+INSERT INTO t () values ();
+DROP TABLE t;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/sp-cursor.test b/mysql-test/main/sp-cursor.test
index 9794815c784..c95d59b1d3b 100644
--- a/mysql-test/main/sp-cursor.test
+++ b/mysql-test/main/sp-cursor.test
@@ -800,3 +800,24 @@ drop procedure test_proc;
drop view v1;
drop function get_name;
drop table t1;
+
+--echo #
+--echo # MDEV-28266: Crash in Field_string::type_handler when calling procedures
+--echo #
+
+CREATE TABLE t (f INT);
+
+--delimiter $
+CREATE TRIGGER tr AFTER INSERT ON t FOR EACH ROW
+ FOR x IN (SELECT * FROM json_table(NULL, '$' COLUMNS(a CHAR(1) path '$.*')) tmp)
+ DO set @a=1; END FOR $
+--delimiter ;
+
+INSERT INTO t () values ();
+
+# Cleanup
+DROP TABLE t;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/sp-dynamic.result b/mysql-test/main/sp-dynamic.result
index 9fa3bea1108..ad11763b523 100644
--- a/mysql-test/main/sp-dynamic.result
+++ b/mysql-test/main/sp-dynamic.result
@@ -64,9 +64,8 @@ execute stmt;
deallocate prepare stmt;
end|
call p1()|
-ERROR HY000: This command is not supported in the prepared statement protocol yet
call p1()|
-ERROR HY000: This command is not supported in the prepared statement protocol yet
+ERROR 42000: PROCEDURE p2 already exists
drop procedure p1|
create procedure p1()
begin
@@ -75,9 +74,8 @@ execute stmt;
deallocate prepare stmt;
end|
call p1()|
-ERROR HY000: This command is not supported in the prepared statement protocol yet
call p1()|
-ERROR HY000: This command is not supported in the prepared statement protocol yet
+ERROR 42000: PROCEDURE test.p2 does not exist
drop procedure p1|
create procedure p1()
begin
@@ -295,15 +293,15 @@ select * from t1|
id stmt_text status
1 select 1 supported
2 flush tables supported
-3 handler t1 open as ha not supported
+3 handler t1 open as ha supported
4 analyze table t1 supported
-5 check table t1 not supported
+5 check table t1 supported
6 checksum table t1 supported
-7 check table t1 not supported
+7 check table t1 supported
8 optimize table t1 supported
9 repair table t1 supported
10 describe extended select * from t1 supported
-11 help help not supported
+11 help help supported
12 show databases supported
13 show tables supported
14 show table status supported
@@ -316,7 +314,7 @@ id stmt_text status
21 call p1() supported
22 foo bar syntax error
23 create view v1 as select 1 supported
-24 alter view v1 as select 2 not supported
+24 alter view v1 as select 2 supported
25 drop view v1 supported
26 create table t2 (a int) supported
27 alter table t2 add (b int) supported
diff --git a/mysql-test/main/sp-dynamic.test b/mysql-test/main/sp-dynamic.test
index 3a467e26818..5749a83a27b 100644
--- a/mysql-test/main/sp-dynamic.test
+++ b/mysql-test/main/sp-dynamic.test
@@ -68,9 +68,8 @@ begin
execute stmt;
deallocate prepare stmt;
end|
---error ER_UNSUPPORTED_PS
call p1()|
---error ER_UNSUPPORTED_PS
+--error ER_SP_ALREADY_EXISTS
call p1()|
drop procedure p1|
create procedure p1()
@@ -79,9 +78,8 @@ begin
execute stmt;
deallocate prepare stmt;
end|
---error ER_UNSUPPORTED_PS
call p1()|
---error ER_UNSUPPORTED_PS
+--error ER_SP_DOES_NOT_EXIST
call p1()|
drop procedure p1|
#
diff --git a/mysql-test/main/sp-error.result b/mysql-test/main/sp-error.result
index f64735f8006..3832d63c073 100644
--- a/mysql-test/main/sp-error.result
+++ b/mysql-test/main/sp-error.result
@@ -2771,7 +2771,7 @@ DROP TABLE t2;
DROP PROCEDURE IF EXISTS p1;
DROP PROCEDURE IF EXISTS p2;
-SET sql_mode = '';
+SET sql_mode = ''|
CREATE PROCEDURE p1()
BEGIN
DECLARE var1 INTEGER DEFAULT 'string';
@@ -2782,7 +2782,7 @@ CALL p1()|
Warnings:
Warning 1366 Incorrect integer value: 'string' for column ``.``.`var1` at row 1
-SET sql_mode = DEFAULT;
+SET sql_mode = DEFAULT|
CREATE PROCEDURE p2()
BEGIN
DECLARE EXIT HANDLER FOR SQLWARNING SELECT 'H2';
diff --git a/mysql-test/main/sp-error.test b/mysql-test/main/sp-error.test
index d2af9834823..9b0213a1f91 100644
--- a/mysql-test/main/sp-error.test
+++ b/mysql-test/main/sp-error.test
@@ -9,9 +9,10 @@ drop table if exists t1, t2;
--enable_warnings
# Backup the mysql.proc table
+--enable_prepare_warnings
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval SELECT * FROM mysql.proc INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/proc.txt';
-
+--disable_prepare_warnings
# Make sure we don't have any procedures left.
delete from mysql.proc;
@@ -42,8 +43,10 @@ drop table if exists t3|
create table t3 ( x int )|
insert into t3 values (2), (3)|
+--enable_prepare_warnings
create procedure bad_into(out param int)
select x from t3 into param|
+--disable_prepare_warnings
--error 1172
call bad_into(@x)|
@@ -3711,7 +3714,7 @@ DROP PROCEDURE IF EXISTS p2;
delimiter |;
-SET sql_mode = '';
+SET sql_mode = ''|
CREATE PROCEDURE p1()
BEGIN
DECLARE var1 INTEGER DEFAULT 'string';
@@ -3721,7 +3724,7 @@ END|
--echo
CALL p1()|
--echo
-SET sql_mode = DEFAULT;
+SET sql_mode = DEFAULT|
CREATE PROCEDURE p2()
BEGIN
@@ -3797,12 +3800,14 @@ delimiter |;
--echo # because SIGNAL would raise SQL-error in that case.
--echo
+--enable_prepare_warnings
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
DECLARE v VARCHAR(5) DEFAULT -1;
SELECT b FROM t1 WHERE a = 2 INTO v;
RETURN v;
END|
+--disable_prepare_warnings
--echo
--echo # Here we check that the NOT_FOUND condition raised in f1()
diff --git a/mysql-test/main/sp-row.result b/mysql-test/main/sp-row.result
index 7c257297934..2764b4cd999 100644
--- a/mysql-test/main/sp-row.result
+++ b/mysql-test/main/sp-row.result
@@ -228,6 +228,7 @@ CREATE FUNCTION f1(a INT) RETURNS INT
BEGIN
RETURN a;
END;
+$$
CREATE PROCEDURE p1()
BEGIN
DECLARE a ROW (a INT,b INT);
@@ -743,9 +744,9 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `rec1.a` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
- `rec2.a` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
- `rec3.a` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `rec1.a` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec2.a` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec3.a` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -1835,8 +1836,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` char(10) CHARACTER SET utf8 DEFAULT NULL,
- `rec.var` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `var` char(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec.var` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -1875,8 +1876,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` varchar(10) CHARACTER SET utf8 DEFAULT NULL,
- `rec.var` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `var` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec.var` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -1885,8 +1886,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `rec.var` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ `var` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `rec.var` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2084,8 +2085,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` text CHARACTER SET utf8 DEFAULT NULL,
- `rec.var` text CHARACTER SET utf8 DEFAULT NULL
+ `var` text CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec.var` text CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2094,8 +2095,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` tinytext CHARACTER SET utf8 DEFAULT NULL,
- `rec.var` tinytext CHARACTER SET utf8 DEFAULT NULL
+ `var` tinytext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec.var` tinytext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2104,8 +2105,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` mediumtext CHARACTER SET utf8 DEFAULT NULL,
- `rec.var` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `var` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec.var` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2114,8 +2115,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `var` longtext CHARACTER SET utf8 DEFAULT NULL,
- `rec.var` longtext CHARACTER SET utf8 DEFAULT NULL
+ `var` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `rec.var` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP PROCEDURE p1;
diff --git a/mysql-test/main/sp-row.test b/mysql-test/main/sp-row.test
index b9143b1113b..527ff9455bd 100644
--- a/mysql-test/main/sp-row.test
+++ b/mysql-test/main/sp-row.test
@@ -2,8 +2,6 @@
--echo # MDEV-10914 ROW data type for stored routine variables
--echo #
-
-
--echo #
--echo # ROW of ROWs is not supported yet
--echo #
@@ -301,6 +299,7 @@ CREATE FUNCTION f1(a INT) RETURNS INT
BEGIN
RETURN a;
END;
+$$
CREATE PROCEDURE p1()
BEGIN
DECLARE a ROW (a INT,b INT);
@@ -1337,6 +1336,7 @@ DROP PROCEDURE p1;
--echo # ROW variable with a wrong column count
+--enable_prepare_warnings
CREATE TABLE t1 (a INT, b VARCHAR(32));
INSERT INTO t1 VALUES (10,'b10');
DELIMITER $$;
@@ -1348,6 +1348,7 @@ BEGIN
END;
$$
DELIMITER ;$$
+--disable_prepare_warnings
--error ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT
CALL p1();
DROP TABLE t1;
@@ -1357,6 +1358,7 @@ DROP PROCEDURE p1;
--echo # Multiple ROW variables
CREATE TABLE t1 (a INT, b VARCHAR(32));
INSERT INTO t1 VALUES (10,'b10');
+--enable_prepare_warnings
DELIMITER $$;
CREATE PROCEDURE p1()
BEGIN
@@ -1366,6 +1368,7 @@ BEGIN
END;
$$
DELIMITER ;$$
+--disable_prepare_warnings
--error ER_OPERAND_COLUMNS
CALL p1();
DROP TABLE t1;
@@ -1375,6 +1378,7 @@ DROP PROCEDURE p1;
--echo # ROW variables working example
CREATE TABLE t1 (a INT, b VARCHAR(32));
INSERT INTO t1 VALUES (10,'b10');
+--enable_prepare_warnings
DELIMITER $$;
CREATE PROCEDURE p1()
BEGIN
@@ -1384,6 +1388,7 @@ BEGIN
END;
$$
DELIMITER ;$$
+--disable_prepare_warnings
CALL p1();
DROP TABLE t1;
DROP PROCEDURE p1;
diff --git a/mysql-test/main/sp-security.result b/mysql-test/main/sp-security.result
index 2c48883a509..2571f9d8696 100644
--- a/mysql-test/main/sp-security.result
+++ b/mysql-test/main/sp-security.result
@@ -347,6 +347,7 @@ create function bug12812() returns char(2)
begin
return 'ok';
end;
+|
create user user_bug12812@localhost IDENTIFIED BY 'ABC'|
connect test_user_12812,localhost,user_bug12812,ABC,test;
SELECT test.bug12812()|
diff --git a/mysql-test/main/sp-security.test b/mysql-test/main/sp-security.test
index e7790bf703a..e11e8911b60 100644
--- a/mysql-test/main/sp-security.test
+++ b/mysql-test/main/sp-security.test
@@ -465,6 +465,7 @@ create function bug12812() returns char(2)
begin
return 'ok';
end;
+|
create user user_bug12812@localhost IDENTIFIED BY 'ABC'|
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (test_user_12812,localhost,user_bug12812,ABC,test)|
diff --git a/mysql-test/main/sp-ucs2.result b/mysql-test/main/sp-ucs2.result
index 047a64713af..c1ca89c9150 100644
--- a/mysql-test/main/sp-ucs2.result
+++ b/mysql-test/main/sp-ucs2.result
@@ -121,7 +121,7 @@ RETURN 0;
SHOW CREATE FUNCTION bug48766;
Function sql_mode Create Function character_set_client collation_connection Database Collation
bug48766 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `bug48766`() RETURNS enum('w') CHARSET ucs2
-RETURN 0 utf8 utf8_general_ci latin1_swedish_ci
+RETURN 0 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_NAME='bug48766';
DTD_IDENTIFIER
@@ -133,7 +133,7 @@ RETURN 0;
SHOW CREATE FUNCTION bug48766;
Function sql_mode Create Function character_set_client collation_connection Database Collation
bug48766 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `bug48766`() RETURNS enum('а','б','в','г') CHARSET ucs2
-RETURN 0 utf8 utf8_general_ci latin1_swedish_ci
+RETURN 0 utf8mb3 utf8mb3_general_ci latin1_swedish_ci
SELECT DTD_IDENTIFIER FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_NAME='bug48766';
DTD_IDENTIFIER
diff --git a/mysql-test/main/sp-vars.result b/mysql-test/main/sp-vars.result
index 4952746c4e0..a755f8e739f 100644
--- a/mysql-test/main/sp-vars.result
+++ b/mysql-test/main/sp-vars.result
@@ -987,10 +987,10 @@ CHARSET(arg)
latin1
CALL p2('t');
CHARSET(arg)
-utf8
+utf8mb3
CALL p2(_LATIN1 't');
CHARSET(arg)
-utf8
+utf8mb3
DROP PROCEDURE p1;
DROP PROCEDURE p2;
@@ -1252,7 +1252,7 @@ $$
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" tinytext CHARACTER SET utf8 DEFAULT NULL
+ "var" tinytext CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
BEGIN NOT ATOMIC
@@ -1263,7 +1263,7 @@ $$
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" text CHARACTER SET utf8 DEFAULT NULL
+ "var" text CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
BEGIN NOT ATOMIC
@@ -1274,7 +1274,7 @@ $$
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" mediumtext CHARACTER SET utf8 DEFAULT NULL
+ "var" mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
BEGIN NOT ATOMIC
@@ -1285,7 +1285,7 @@ $$
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" longtext CHARACTER SET utf8 DEFAULT NULL
+ "var" longtext CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
BEGIN NOT ATOMIC
diff --git a/mysql-test/main/sp.result b/mysql-test/main/sp.result
index 95c749d285e..1d6ce57ceae 100644
--- a/mysql-test/main/sp.result
+++ b/mysql-test/main/sp.result
@@ -1227,12 +1227,12 @@ n f
19 121645100408832000
20 2432902008176640000
drop table t3|
-show function status like '%f%'|
+show function status where name like '%f%' and Db <> 'sys'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
test fac FUNCTION root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
drop procedure ifac|
drop function fac|
-show function status like '%f%'|
+show function status where name like '%f%' and Db <> 'sys'|
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
drop table if exists t3|
create table t3 (
@@ -2414,7 +2414,7 @@ Level Code Message
Field Type Null Key Default Extra
id char(16) NO
data int(11) NO NULL
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
Database Table In_use Name_locked
Variable_name Value
Tables_in_test (foo)
@@ -2435,7 +2435,7 @@ Level Code Message
Field Type Null Key Default Extra
id char(16) NO
data int(11) NO NULL
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
Database Table In_use Name_locked
Variable_name Value
Tables_in_test (foo)
@@ -3355,15 +3355,15 @@ begin
lâbel: begin end;
label: begin end;
label1: begin end;
-end utf8 latin1_swedish_ci latin1_swedish_ci
+end utf8mb3 latin1_swedish_ci latin1_swedish_ci
show create procedure bug7088_1|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug7088_1 CREATE DEFINER=`root`@`localhost` PROCEDURE `bug7088_1`()
-label1: begin end label1 utf8 latin1_swedish_ci latin1_swedish_ci
+label1: begin end label1 utf8mb3 latin1_swedish_ci latin1_swedish_ci
show create procedure bug7088_2|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
bug7088_2 CREATE DEFINER=`root`@`localhost` PROCEDURE `bug7088_2`()
-läbel1: begin end utf8 latin1_swedish_ci latin1_swedish_ci
+läbel1: begin end utf8mb3 latin1_swedish_ci latin1_swedish_ci
drop procedure bug6063|
drop procedure bug7088_1|
drop procedure bug7088_2|
@@ -4918,7 +4918,7 @@ Database Create Database
mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET koi8r */
show create database mysqltest2|
Database Create Database
-mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET utf8 */
+mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
alter database mysqltest1 character set utf8|
use mysqltest2|
call mysqltest1.p1()|
@@ -4927,7 +4927,7 @@ Database Create Database
mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET koi8r */
show create database mysqltest2|
Database Create Database
-mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET utf8 */
+mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
drop database mysqltest1|
drop database mysqltest2|
use test|
@@ -4979,20 +4979,20 @@ CREATE FUNCTION mysqltest2.bug16211_f4() RETURNS CHAR(10) CHARSET koi8r
RETURN ""|
SHOW CREATE FUNCTION bug16211_f1|
Function sql_mode Create Function character_set_client collation_connection Database Collation
-bug16211_f1 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f1`() RETURNS char(10) CHARSET utf8
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+bug16211_f1 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f1`() RETURNS char(10) CHARSET utf8mb3
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SHOW CREATE FUNCTION bug16211_f2|
Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f2 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f2`() RETURNS char(10) CHARSET koi8r
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f3|
Function sql_mode Create Function character_set_client collation_connection Database Collation
-bug16211_f3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f3`() RETURNS char(10) CHARSET utf8
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+bug16211_f3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f3`() RETURNS char(10) CHARSET utf8mb3
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f4|
Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f4 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f4`() RETURNS char(10) CHARSET koi8r
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SELECT dtd_identifier
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = "mysqltest1" AND ROUTINE_NAME = "bug16211_f1"|
@@ -5015,13 +5015,13 @@ dtd_identifier
char(10)
SELECT CHARSET(bug16211_f1())|
CHARSET(bug16211_f1())
-utf8
+utf8mb3
SELECT CHARSET(bug16211_f2())|
CHARSET(bug16211_f2())
koi8r
SELECT CHARSET(mysqltest2.bug16211_f3())|
CHARSET(mysqltest2.bug16211_f3())
-utf8
+utf8mb3
SELECT CHARSET(mysqltest2.bug16211_f4())|
CHARSET(mysqltest2.bug16211_f4())
koi8r
@@ -5029,20 +5029,20 @@ ALTER DATABASE mysqltest1 CHARACTER SET cp1251|
ALTER DATABASE mysqltest2 CHARACTER SET cp1251|
SHOW CREATE FUNCTION bug16211_f1|
Function sql_mode Create Function character_set_client collation_connection Database Collation
-bug16211_f1 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f1`() RETURNS char(10) CHARSET utf8
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+bug16211_f1 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f1`() RETURNS char(10) CHARSET utf8mb3
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SHOW CREATE FUNCTION bug16211_f2|
Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f2 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f2`() RETURNS char(10) CHARSET koi8r
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f3|
Function sql_mode Create Function character_set_client collation_connection Database Collation
-bug16211_f3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f3`() RETURNS char(10) CHARSET utf8
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+bug16211_f3 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f3`() RETURNS char(10) CHARSET utf8mb3
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SHOW CREATE FUNCTION mysqltest2.bug16211_f4|
Function sql_mode Create Function character_set_client collation_connection Database Collation
bug16211_f4 CREATE DEFINER=`root`@`localhost` FUNCTION `bug16211_f4`() RETURNS char(10) CHARSET koi8r
-RETURN "" latin1 latin1_swedish_ci utf8_general_ci
+RETURN "" latin1 latin1_swedish_ci utf8mb3_general_ci
SELECT dtd_identifier
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = "mysqltest1" AND ROUTINE_NAME = "bug16211_f1"|
@@ -5065,13 +5065,13 @@ dtd_identifier
char(10)
SELECT CHARSET(bug16211_f1())|
CHARSET(bug16211_f1())
-utf8
+utf8mb3
SELECT CHARSET(bug16211_f2())|
CHARSET(bug16211_f2())
koi8r
SELECT CHARSET(mysqltest2.bug16211_f3())|
CHARSET(mysqltest2.bug16211_f3())
-utf8
+utf8mb3
SELECT CHARSET(mysqltest2.bug16211_f4())|
CHARSET(mysqltest2.bug16211_f4())
koi8r
@@ -5103,11 +5103,11 @@ SET @v2 = 'b'|
SET @v3 = 'c'|
CALL bug16676_p1('a', @v2, @v3)|
CHARSET(p1) COLLATION(p1)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
CHARSET(p2) COLLATION(p2)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
CHARSET(p3) COLLATION(p3)
-utf8 utf8_general_ci
+utf8mb3 utf8mb3_general_ci
CALL bug16676_p2('a', @v2, @v3)|
CHARSET(p1) COLLATION(p1)
koi8r koi8r_general_ci
@@ -5277,13 +5277,13 @@ CREATE DEFINER=longer_than_80_45678901234567890123456789012345678901234567890123
BEGIN
SET @a = 1;
END|
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
FUNCTION bug16899_f1() RETURNS INT
BEGIN
RETURN 1;
END|
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1...' is too long for host name (should be no longer than 255)
drop procedure if exists bug21416|
create procedure bug21416() show create procedure bug21416|
call bug21416()|
@@ -6102,7 +6102,7 @@ create procedure proc_21513()`my_label`:BEGIN END|
show create procedure proc_21513|
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
proc_21513 CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_21513`()
-`my_label`:BEGIN END utf8 utf8_general_ci latin1_swedish_ci
+`my_label`:BEGIN END utf8mb3 utf8mb3_general_ci latin1_swedish_ci
drop procedure proc_21513|
End of 5.0 tests.
drop table t1,t2;
@@ -6137,7 +6137,7 @@ CREATE FUNCTION metered(a INT) RETURNS INT RETURN 12;
CREATE VIEW v1 AS SELECT test.metered(a) as metered FROM t1;
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 `test`.`metered`(`t1`.`a`) AS `metered` from `t1` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`metered`(`t1`.`a`) AS `metered` from `t1` utf8mb3 utf8mb3_general_ci
DROP VIEW v1;
DROP FUNCTION metered;
DROP TABLE t1;
@@ -6237,9 +6237,6 @@ NULL
set @@character_set_client=@save_character_set_client;
set @@character_set_results=@save_character_set_client;
DROP PROCEDURE p1;
-drop procedure if exists proc_25411_a;
-drop procedure if exists proc_25411_b;
-drop procedure if exists proc_25411_c;
create procedure proc_25411_a()
begin
/* real comment */
@@ -6300,7 +6297,7 @@ proc_25411_b CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_25411_b`(
begin
select p1, p2;
end latin1 latin1_swedish_ci latin1_swedish_ci
-select name, param_list, body from mysql.proc where name like "%25411%";
+select name, param_list, body from mysql.proc where name like "%25411%" order by name;
name param_list body
proc_25411_a begin
/* real comment */
@@ -8799,9 +8796,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` tinytext CHARACTER SET utf8 DEFAULT NULL,
- `c2` text CHARACTER SET utf8 DEFAULT NULL,
- `c3` varchar(255) CHARACTER SET utf8 DEFAULT NULL
+ `c1` tinytext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` text CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` varchar(255) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
@@ -8810,9 +8807,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` text CHARACTER SET utf8 DEFAULT NULL,
- `c2` mediumtext CHARACTER SET utf8 DEFAULT NULL,
- `c3` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` text CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
@@ -8821,9 +8818,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` mediumtext CHARACTER SET utf8 DEFAULT NULL,
- `c2` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c3` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
@@ -8832,9 +8829,9 @@ CREATE TABLE t1 AS SELECT f1() AS c1, COALESCE(f1()) AS c2, CONCAT(f1()) AS c3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c2` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c3` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c1` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c2` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c3` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
DROP FUNCTION f1;
diff --git a/mysql-test/main/sp.test b/mysql-test/main/sp.test
index a93689ba4da..fd076ee9efe 100644
--- a/mysql-test/main/sp.test
+++ b/mysql-test/main/sp.test
@@ -18,6 +18,11 @@
# Tests that require multibyte character sets, which are not always available,
# go into separate files (e.g. sp-ucs2.test)
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Need regular protocol but ps-protocol was specified
+}
+
--source include/default_charset.inc
set @save_character_set_client=@@character_set_client;
set @save_userstat=@@global.userstat, @@global.userstat= 0;
@@ -1459,11 +1464,11 @@ call ifac(20)|
select * from t3|
drop table t3|
--replace_column 4 'root@localhost' 5 '0000-00-00 00:00:00' 6 '0000-00-00 00:00:00'
-show function status like '%f%'|
+show function status where name like '%f%' and Db <> 'sys'|
drop procedure ifac|
drop function fac|
--replace_column 4 'root@localhost' 5 '0000-00-00 00:00:00' 6 '0000-00-00 00:00:00'
-show function status like '%f%'|
+show function status where name like '%f%' and Db <> 'sys'|
# primes
@@ -3261,7 +3266,7 @@ call bug7013()|
drop procedure bug7013|
#
-# BUG#7743: 'Lost connection to MySQL server during query' on Stored Procedure
+# BUG#7743: 'Lost connection to server during query' on Stored Procedure
#
--disable_warnings
drop table if exists t4|
@@ -6268,7 +6273,7 @@ BEGIN
END|
--error ER_WRONG_STRING_LENGTH
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
FUNCTION bug16899_f1() RETURNS INT
BEGIN
RETURN 1;
@@ -7369,12 +7374,6 @@ DROP PROCEDURE p1;
# Bug#25411 (trigger code truncated)
#
---disable_warnings
-drop procedure if exists proc_25411_a;
-drop procedure if exists proc_25411_b;
-drop procedure if exists proc_25411_c;
---enable_warnings
-
delimiter $$;
create procedure proc_25411_a()
@@ -7415,7 +7414,7 @@ show create procedure proc_25411_a;
call proc_25411_a();
show create procedure proc_25411_b;
-select name, param_list, body from mysql.proc where name like "%25411%";
+select name, param_list, body from mysql.proc where name like "%25411%" order by name;
call proc_25411_b(10, 20);
show create procedure proc_25411_c;
diff --git a/mysql-test/main/sp2.result b/mysql-test/main/sp2.result
index 55f3d80f25b..807cc801918 100644
--- a/mysql-test/main/sp2.result
+++ b/mysql-test/main/sp2.result
@@ -1,10 +1,10 @@
CREATE DATABASE test1;
CREATE PROCEDURE test1.sp3() BEGIN END;
-SHOW PROCEDURE STATUS;
+SHOW PROCEDURE STATUS WHERE Db <> 'sys';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
-mtr add_suppression PROCEDURE root@localhost # # DEFINER utf8 utf8_general_ci latin1_swedish_ci
-mtr check_testcase PROCEDURE root@localhost # # DEFINER utf8 utf8_general_ci latin1_swedish_ci
-mtr check_warnings PROCEDURE root@localhost # # DEFINER utf8 utf8_general_ci latin1_swedish_ci
+mtr add_suppression PROCEDURE root@localhost # # DEFINER utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+mtr check_testcase PROCEDURE root@localhost # # DEFINER utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+mtr check_warnings PROCEDURE root@localhost # # DEFINER utf8mb3 utf8mb3_general_ci latin1_swedish_ci
mysql AddGeometryColumn PROCEDURE mariadb.sys@localhost # # INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
mysql DropGeometryColumn PROCEDURE mariadb.sys@localhost # # INVOKER latin1 latin1_swedish_ci latin1_swedish_ci
test sp2 PROCEDURE root@localhost # # DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
diff --git a/mysql-test/main/sp2.test b/mysql-test/main/sp2.test
index a638bf1e706..6227f8d7371 100644
--- a/mysql-test/main/sp2.test
+++ b/mysql-test/main/sp2.test
@@ -17,7 +17,7 @@ CREATE DATABASE test1;
CREATE PROCEDURE test1.sp3() BEGIN END;
--replace_column 5 # 6 #
-SHOW PROCEDURE STATUS;
+SHOW PROCEDURE STATUS WHERE Db <> 'sys';
# Cleanup
DROP PROCEDURE sp2;
diff --git a/mysql-test/main/sp_gis.test b/mysql-test/main/sp_gis.test
index 4148a4ec423..749586854a3 100644
--- a/mysql-test/main/sp_gis.test
+++ b/mysql-test/main/sp_gis.test
@@ -12,6 +12,8 @@ drop function if exists x;
drop function if exists y;
--enable_warnings
+--enable_prepare_warnings
+
create function a() returns int
return 1;
@@ -97,6 +99,8 @@ SELECT geometrycollection();
--enable_warnings
DROP FUNCTION geometrycollection;
+--disable_prepare_warnings
+
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/sp_notembedded.test b/mysql-test/main/sp_notembedded.test
index 29901c1221b..12bacff4e87 100644
--- a/mysql-test/main/sp_notembedded.test
+++ b/mysql-test/main/sp_notembedded.test
@@ -185,6 +185,7 @@ set @@max_sp_recursion_depth=255|
set @var=1|
# disable log because error about stack overrun contains numbers which
# depend on a system
+-- disable_ps_protocol
-- disable_result_log
-- error ER_STACK_OVERRUN_NEED_MORE
call bug10100p(255, @var)|
@@ -197,6 +198,7 @@ call bug10100pd(1,255)|
-- error ER_STACK_OVERRUN_NEED_MORE
call bug10100pc(1,255)|
-- enable_result_log
+-- enable_ps_protocol
set @@max_sp_recursion_depth=0|
deallocate prepare stmt2|
diff --git a/mysql-test/main/sp_trans.test b/mysql-test/main/sp_trans.test
index b39c13287ed..abc308a26d8 100644
--- a/mysql-test/main/sp_trans.test
+++ b/mysql-test/main/sp_trans.test
@@ -522,6 +522,7 @@ select @@session.max_heap_table_size|
--disable_warnings
create table t3 (a char(255)) engine=InnoDB|
--enable_warnings
+--enable_prepare_warnings
create procedure bug14210_fill_table()
begin
declare table_size, max_table_size int default 0;
@@ -533,6 +534,7 @@ begin
select count(*)*255 from t3 into table_size;
until table_size > max_table_size*2 end repeat;
end|
+--disable_prepare_warnings
--disable_warnings
call bug14210_fill_table()|
--enable_warnings
diff --git a/mysql-test/main/sp_trans_log.test b/mysql-test/main/sp_trans_log.test
index deea6e6d9b6..12efcc46ada 100644
--- a/mysql-test/main/sp_trans_log.test
+++ b/mysql-test/main/sp_trans_log.test
@@ -22,6 +22,7 @@ CREATE TABLE t2 (a int NOT NULL auto_increment, b int, PRIMARY KEY (a)) ENGINE=
insert into t2 values (1,1)|
+--enable_prepare_warnings
create function bug23333()
RETURNS int(11)
DETERMINISTIC
@@ -31,6 +32,7 @@ begin
return @a;
end|
delimiter ;|
+--disable_prepare_warnings
reset master;
--error ER_DUP_ENTRY
diff --git a/mysql-test/main/ssl-big.test b/mysql-test/main/ssl-big.test
index 367cbcba2d7..fa35146e627 100644
--- a/mysql-test/main/ssl-big.test
+++ b/mysql-test/main/ssl-big.test
@@ -4,6 +4,9 @@
-- source include/have_ssl_communication.inc
-- source include/big_test.inc
-- source include/have_64bit.inc
+# No point in running with valgrind as it takes 1.5 hours
+-- source include/not_valgrind.inc
+-- source include/not_msan.inc
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
diff --git a/mysql-test/main/ssl.result b/mysql-test/main/ssl.result
index 40a32fdd1dd..794830e5529 100644
--- a/mysql-test/main/ssl.result
+++ b/mysql-test/main/ssl.result
@@ -4,10 +4,10 @@ have_ssl
1
SHOW STATUS LIKE 'Ssl_server_not_before';
Variable_name Value
-Ssl_server_not_before Jan 27 10:11:10 2019 GMT
+Ssl_server_not_before Mar 3 03:03:03 2020 GMT
SHOW STATUS LIKE 'Ssl_server_not_after';
Variable_name Value
-Ssl_server_not_after Jan 22 10:11:10 2039 GMT
+Ssl_server_not_after Feb 27 03:03:03 2040 GMT
drop table if exists t1,t2,t3,t4;
CREATE TABLE t1 (
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
@@ -2100,10 +2100,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/ssl.test b/mysql-test/main/ssl.test
index 45c903d43d2..82ada27ffd4 100644
--- a/mysql-test/main/ssl.test
+++ b/mysql-test/main/ssl.test
@@ -26,7 +26,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after';
SELECT (VARIABLE_VALUE <> '') AS have_ssl FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher';
#
-# MDEV-7697 Client reports ERROR 2006 (MySQL server has gone away) or ERROR 2013 (Lost connection to MySQL server during query) while executing AES* functions under SSL
+# MDEV-7697 Client reports ERROR 2006 (MySQL server has gone away) or ERROR 2013 (Lost connection to server during query) while executing AES* functions under SSL
#
select aes_decrypt('MySQL','adf');
select 'still connected?';
diff --git a/mysql-test/main/ssl_compress.result b/mysql-test/main/ssl_compress.result
index 8c63c798afa..69de425cdc1 100644
--- a/mysql-test/main/ssl_compress.result
+++ b/mysql-test/main/ssl_compress.result
@@ -2097,10 +2097,10 @@ fld6 char(4) latin1_swedish_ci NO #
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
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 0 PRIMARY 1 auto A 1199 NULL NULL BTREE
-t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE
-t2 1 fld3 1 fld3 A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 auto A 1199 NULL NULL BTREE NO
+t2 0 fld1 1 fld1 A 1199 NULL NULL BTREE NO
+t2 1 fld3 1 fld3 A NULL NULL NULL BTREE NO
drop table t4, t3, t2, t1;
CREATE TABLE t1 (
cont_nr int(11) NOT NULL auto_increment,
diff --git a/mysql-test/main/ssl_crl.test b/mysql-test/main/ssl_crl.test
index e79f8ff32c2..23bae038d54 100644
--- a/mysql-test/main/ssl_crl.test
+++ b/mysql-test/main/ssl_crl.test
@@ -8,6 +8,6 @@
--echo # try logging in with a certificate in the server's --ssl-crl : should fail
# OpenSSL 1.1.1a correctly rejects the certificate, but the error message is different
---replace_regex /ERROR 2013 \(HY000\): Lost connection to MySQL server at '.*', system error: [0-9]+/ERROR 2026 (HY000): SSL connection error: sslv3 alert certificate revoked/
+--replace_regex /ERROR 2013 \(HY000\): Lost connection to server at '.*', system error: [0-9]+/ERROR 2026 (HY000): SSL connection error: sslv3 alert certificate revoked/
--error 1
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_version'" 2>&1
diff --git a/mysql-test/main/ssl_timeout.result b/mysql-test/main/ssl_timeout.result
index 3c94a9927da..e0d1dbed69f 100644
--- a/mysql-test/main/ssl_timeout.result
+++ b/mysql-test/main/ssl_timeout.result
@@ -5,6 +5,6 @@ SELECT (VARIABLE_VALUE <> '') AS have_ssl FROM INFORMATION_SCHEMA.SESSION_STATUS
have_ssl
1
SELECT SLEEP(600);
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection default;
disconnect ssl_con;
diff --git a/mysql-test/main/stat_tables.result b/mysql-test/main/stat_tables.result
index a5089c609d2..22f5bfafb8e 100644
--- a/mysql-test/main/stat_tables.result
+++ b/mysql-test/main/stat_tables.result
@@ -154,10 +154,10 @@ select count(distinct o_custkey) from orders;
count(distinct o_custkey)
100
show index from orders;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE
-orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE
-orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE NO
+orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE NO
+orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE NO
select index_name, column_name, cardinality from information_schema.statistics
where table_name='orders';
index_name column_name cardinality
@@ -656,33 +656,33 @@ dbt3_s001 lineitem i_l_orderkey_quantity 1 4.0033
dbt3_s001 lineitem i_l_orderkey_quantity 2 1.0404
dbt3_s001 lineitem i_l_commitdate 1 2.7160
SHOW INDEXES FROM lineitem;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='lineitem';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT
COUNT(DISTINCT l_orderkey), COUNT(DISTINCT l_orderkey,l_linenumber),
COUNT(DISTINCT l_shipDATE),
diff --git a/mysql-test/main/stat_tables_innodb.result b/mysql-test/main/stat_tables_innodb.result
index 6fafac8776b..5b62f228b1f 100644
--- a/mysql-test/main/stat_tables_innodb.result
+++ b/mysql-test/main/stat_tables_innodb.result
@@ -186,10 +186,10 @@ select count(distinct o_custkey) from orders;
count(distinct o_custkey)
100
show index from orders;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE
-orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE
-orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+orders 0 PRIMARY 1 o_orderkey A 1500 NULL NULL BTREE NO
+orders 1 i_o_orderdate 1 o_orderDATE A 1126 NULL NULL YES BTREE NO
+orders 1 i_o_custkey 1 o_custkey A 100 NULL NULL YES BTREE NO
select index_name, column_name, cardinality from information_schema.statistics
where table_name='orders';
index_name column_name cardinality
@@ -688,33 +688,33 @@ dbt3_s001 lineitem i_l_orderkey_quantity 1 4.0033
dbt3_s001 lineitem i_l_orderkey_quantity 2 1.0404
dbt3_s001 lineitem i_l_commitdate 1 2.7160
SHOW INDEXES FROM lineitem;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+lineitem 0 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 0 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+lineitem 1 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+lineitem 1 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+lineitem 1 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+lineitem 1 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+lineitem 1 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+lineitem 1 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+lineitem 1 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name='lineitem';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE
-def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 0 dbt3_s001 PRIMARY 2 l_linenumber A 6005 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_shipdate 1 l_shipDATE A 2266 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey_partkey 2 l_suppkey A 699 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_partkey 1 l_partkey A 200 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_suppkey 1 l_suppkey A 10 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_receiptdate 1 l_receiptDATE A 2268 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 1 l_orderkey A 1500 NULL NULL BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_orderkey_quantity 2 l_quantity A 5771 NULL NULL YES BTREE NO
+def dbt3_s001 lineitem 1 dbt3_s001 i_l_commitdate 1 l_commitDATE A 2210 NULL NULL YES BTREE NO
SELECT
COUNT(DISTINCT l_orderkey), COUNT(DISTINCT l_orderkey,l_linenumber),
COUNT(DISTINCT l_shipDATE),
diff --git a/mysql-test/main/stat_tables_par.result b/mysql-test/main/stat_tables_par.result
index 33fbe079c9e..7a95e8259b6 100644
--- a/mysql-test/main/stat_tables_par.result
+++ b/mysql-test/main/stat_tables_par.result
@@ -274,8 +274,8 @@ a b
2 2
SET DEBUG_SYNC= "now SIGNAL go";
connection default;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 1 test a 1 a A 2 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 1 test a 1 a A 2 NULL NULL YES BTREE NO
connection default;
disconnect con1;
set debug_sync='RESET';
diff --git a/mysql-test/main/stat_tables_par_innodb.result b/mysql-test/main/stat_tables_par_innodb.result
index c33785a9436..2b2d091444f 100644
--- a/mysql-test/main/stat_tables_par_innodb.result
+++ b/mysql-test/main/stat_tables_par_innodb.result
@@ -307,8 +307,8 @@ a b
2 2
SET DEBUG_SYNC= "now SIGNAL go";
connection default;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1 1 test a 1 a A 2 NULL NULL YES BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1 1 test a 1 a A 2 NULL NULL YES BTREE NO
connection default;
disconnect con1;
set debug_sync='RESET';
diff --git a/mysql-test/main/status.result b/mysql-test/main/status.result
index 37c551328f0..d25cde89ee1 100644
--- a/mysql-test/main/status.result
+++ b/mysql-test/main/status.result
@@ -438,6 +438,12 @@ json_valid('123')
SHOW STATUS LIKE 'Feature_json';
Variable_name Value
Feature_json 1
+select * from json_table ('{}', '$' COLUMNS(x FOR ORDINALITY)) a;
+x
+1
+SHOW STATUS LIKE 'Feature_json';
+Variable_name Value
+Feature_json 2
connection default;
set @@global.concurrent_insert= @old_concurrent_insert;
SET GLOBAL log_output = @old_log_output;
diff --git a/mysql-test/main/status.test b/mysql-test/main/status.test
index 221a24aedf4..78626615d45 100644
--- a/mysql-test/main/status.test
+++ b/mysql-test/main/status.test
@@ -436,6 +436,8 @@ SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME
SHOW STATUS LIKE 'Feature_json';
select json_valid('123');
SHOW STATUS LIKE 'Feature_json';
+select * from json_table ('{}', '$' COLUMNS(x FOR ORDINALITY)) a;
+SHOW STATUS LIKE 'Feature_json';
# Restore global concurrent_insert value. Keep in the end of the test file.
--connection default
diff --git a/mysql-test/main/strings.result b/mysql-test/main/strings.result
new file mode 100644
index 00000000000..2d0eb5e7400
--- /dev/null
+++ b/mysql-test/main/strings.result
@@ -0,0 +1,20 @@
+#
+# MDEV-25612 Assertion `to <= end' failed in process_args
+#
+SET SESSION default_master_connection=REPEAT('a',190),lc_messages=ru_ru;
+CHANGE MASTER TO master_host='dummy';
+START SLAVE sql_thread;
+CHANGE MASTER TO master_user='user',master_password='pwd';
+ERROR HY000: \042D\0442\0443 \043E\043F\0435\0440\0430\0446\0438\044E \043D\0435\0432\043E\0437\043C\043E\0436\043D\043E \0432\044B\043F\043E\043B\043D\0438\0442\044C \043F\0440\0438 \0440\0430\0431\043E\0442\0430\044E\0449\0435\043C \043F\043E\0442\043E\043A\0435 \043F\043E\0434\0447\0438\043D\0435\043D\043D\043E\0433\043E \0441\0435\0440\0432\0435\0440\0430 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+STOP SLAVE;
+RESET SLAVE ALL;
+#
+# MDEV-25754 ASAN: stack-buffer-overflow in Field_newdate::val_str
+#
+CREATE TABLE t1 (d DATE);
+INSERT INTO t1 VALUES ('1920-03-02'),('2020-12-01');
+SELECT LENGTH(CONCAT_WS(d, ' ')) FROM t1;
+LENGTH(CONCAT_WS(d, ' '))
+1
+1
+DROP TABLE t1;
diff --git a/mysql-test/main/strings.test b/mysql-test/main/strings.test
new file mode 100644
index 00000000000..083ab7b07a4
--- /dev/null
+++ b/mysql-test/main/strings.test
@@ -0,0 +1,26 @@
+--source include/not_windows.inc
+--source include/not_embedded.inc
+
+#
+# Test that exposes problems in string functions like my_vsnprintf
+#
+
+--echo #
+--echo # MDEV-25612 Assertion `to <= end' failed in process_args
+--echo #
+SET SESSION default_master_connection=REPEAT('a',190),lc_messages=ru_ru;
+CHANGE MASTER TO master_host='dummy';
+START SLAVE sql_thread;
+--error ER_SLAVE_MUST_STOP
+CHANGE MASTER TO master_user='user',master_password='pwd';
+STOP SLAVE;
+RESET SLAVE ALL;
+
+--echo #
+--echo # MDEV-25754 ASAN: stack-buffer-overflow in Field_newdate::val_str
+--echo #
+
+CREATE TABLE t1 (d DATE);
+INSERT INTO t1 VALUES ('1920-03-02'),('2020-12-01');
+SELECT LENGTH(CONCAT_WS(d, ' ')) FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/main/subselect-crash_15755.result b/mysql-test/main/subselect-crash_15755.result
index 81b4bd16ab5..f7a07fff4ad 100644
--- a/mysql-test/main/subselect-crash_15755.result
+++ b/mysql-test/main/subselect-crash_15755.result
@@ -1,7 +1,3 @@
-set global innodb_stats_persistent= 1;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 'test.t1'
create table t1 (
f1 bigint(20) default 0,
f2 varchar(50) default '',
@@ -49,7 +45,7 @@ f43 varchar(50) default '',
f44 varchar(50) default '',
f45 int(10) default 0,
f46 tinyint(1) default 0
-) engine=innodb row_format=dynamic;
+) engine=innodb stats_persistent=1 row_format=dynamic;
insert into t1 () values (),(),(),(),(),(),(),(),(),(),(),(),(),(),(),();
insert into t1 select * from t1;
insert into t1 select * from t1;
@@ -314,4 +310,3 @@ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
drop table t1;
-set global innodb_stats_persistent= 0;
diff --git a/mysql-test/main/subselect-crash_15755.test b/mysql-test/main/subselect-crash_15755.test
index 79e259d6337..47879d1bd4d 100644
--- a/mysql-test/main/subselect-crash_15755.test
+++ b/mysql-test/main/subselect-crash_15755.test
@@ -1,6 +1,4 @@
--source include/have_innodb.inc
-set global innodb_stats_persistent= 1;
-drop table if exists t1;
create table t1 (
f1 bigint(20) default 0,
f2 varchar(50) default '',
@@ -48,8 +46,7 @@ create table t1 (
f44 varchar(50) default '',
f45 int(10) default 0,
f46 tinyint(1) default 0
-) engine=innodb row_format=dynamic;
-
+) engine=innodb stats_persistent=1 row_format=dynamic;
insert into t1 () values (),(),(),(),(),(),(),(),(),(),(),(),(),(),(),();
insert into t1 select * from t1;
insert into t1 select * from t1;
@@ -57,4 +54,3 @@ insert into t1 select * from t1;
insert into t1 select * from t1;
select * from t1 where f2 in (select f2 from t1 group by f2 having count(distinct f3) = 1);
drop table t1;
-set global innodb_stats_persistent= 0;
diff --git a/mysql-test/main/subselect.test b/mysql-test/main/subselect.test
index a58a08e1a58..19c30bd6dc8 100644
--- a/mysql-test/main/subselect.test
+++ b/mysql-test/main/subselect.test
@@ -30,11 +30,15 @@ SET optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
SET optimizer_use_condition_selectivity=4;
select (select 2);
+
+--enable_prepare_warnings
explain extended select (select 2);
SELECT (SELECT 1) UNION SELECT (SELECT 2);
explain extended SELECT (SELECT 1) UNION SELECT (SELECT 2);
SELECT (SELECT (SELECT 0 UNION SELECT 0));
explain extended SELECT (SELECT (SELECT 0 UNION SELECT 0));
+--disable_prepare_warnings
+
-- error ER_ILLEGAL_REFERENCE
SELECT (SELECT 1 FROM (SELECT 1) as b HAVING a=1) as a;
-- error ER_ILLEGAL_REFERENCE
@@ -441,11 +445,15 @@ SELECT * FROM (SELECT 1) b WHERE 1 IN (SELECT *);
CREATE TABLE t2 (id int(11) default NULL, KEY id (id)) ENGINE=MyISAM CHARSET=latin1;
INSERT INTO t2 VALUES (1),(2);
SELECT * FROM t2 WHERE id IN (SELECT 1);
+--enable_prepare_warnings
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1);
+--disable_prepare_warnings
SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3);
SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1));
+--enable_prepare_warnings
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1+(select 1));
EXPLAIN EXTENDED SELECT * FROM t2 WHERE id IN (SELECT 1 UNION SELECT 3);
+--disable_prepare_warnings
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 3);
SELECT * FROM t2 WHERE id IN (SELECT 5 UNION SELECT 2);
-- error ER_UPDATE_TABLE_USED
@@ -501,7 +509,9 @@ select 1.5 > ALL (SELECT * from t1);
select 10.5 > ALL (SELECT * from t1);
select 1.5 > ANY (SELECT * from t1);
select 10.5 > ANY (SELECT * from t1);
+--enable_prepare_warnings
explain extended select (select a+1) from t1;
+--disable_prepare_warnings
select (select a+1) from t1;
drop table t1;
diff --git a/mysql-test/main/subselect4.result b/mysql-test/main/subselect4.result
index 070be6dcf19..53fb6073e56 100644
--- a/mysql-test/main/subselect4.result
+++ b/mysql-test/main/subselect4.result
@@ -2580,7 +2580,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
2 SUBQUERY t2 ALL NULL NULL NULL NULL 4 100.00
Warnings:
-Note 1003 /* select#1 */ select `test`.`t1`.`l1` AS `l1`,`test`.`t1`.`i2` AS `i2` from `test`.`t1` where <nop>(<in_optimizer>(`test`.`t1`.`l1`,<max>(/* select#2 */ select max(`test`.`t2`.`v1`) from `test`.`t2`) > convert(<cache>(`test`.`t1`.`l1`) using utf8)))
+Note 1003 /* select#1 */ select `test`.`t1`.`l1` AS `l1`,`test`.`t1`.`i2` AS `i2` from `test`.`t1` where <nop>(<in_optimizer>(`test`.`t1`.`l1`,<max>(/* select#2 */ select max(`test`.`t2`.`v1`) from `test`.`t2`) > convert(<cache>(`test`.`t1`.`l1`) using utf8mb3)))
SELECT * FROM t1 where ( t1.l1 < ANY (SELECT MAX(t2.v1) FROM t2));
l1 i2
e 2
diff --git a/mysql-test/main/subselect4.test b/mysql-test/main/subselect4.test
index 95e211292ae..a32d6ec69d5 100644
--- a/mysql-test/main/subselect4.test
+++ b/mysql-test/main/subselect4.test
@@ -104,8 +104,10 @@ DROP TABLE t1,t2;
--echo # Bug#54568: create view cause Assertion failed: 0,
--echo # file .\item_subselect.cc, line 836
--echo #
+--enable_prepare_warnings
EXPLAIN SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
DESCRIBE SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
+--disable_prepare_warnings
--echo # None of the below should crash
CREATE VIEW v1 AS SELECT 1 LIKE ( 1 IN ( SELECT 1 ) );
CREATE VIEW v2 AS SELECT 1 LIKE '%' ESCAPE ( 1 IN ( SELECT 1 ) );
diff --git a/mysql-test/main/subselect_exists2in_costmat.test b/mysql-test/main/subselect_exists2in_costmat.test
index 5d5eeaee268..371f0936d1a 100644
--- a/mysql-test/main/subselect_exists2in_costmat.test
+++ b/mysql-test/main/subselect_exists2in_costmat.test
@@ -47,7 +47,9 @@ create index Language on CountryLanguage(Language);
create index CityName on City(Name);
alter table City change population population int(11) null default 0;
+--enable_prepare_warnings
select max(id) from City into @max_city_id;
+--disable_prepare_warnings
insert into City values (@max_city_id + 1,'Kilifarevo','BGR',NULL);
diff --git a/mysql-test/main/subselect_innodb.result b/mysql-test/main/subselect_innodb.result
index 00a013b4468..90976963b00 100644
--- a/mysql-test/main/subselect_innodb.result
+++ b/mysql-test/main/subselect_innodb.result
@@ -1,5 +1,7 @@
set @subselect_innodb_tmp=@@optimizer_switch;
set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
CREATE TABLE t1
(
FOLDERID VARCHAR(32)BINARY NOT NULL
@@ -726,3 +728,4 @@ drop table t1;
#
# End of 10.4 tests
#
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/main/subselect_innodb.test b/mysql-test/main/subselect_innodb.test
index fef954edc28..493a7425ea8 100644
--- a/mysql-test/main/subselect_innodb.test
+++ b/mysql-test/main/subselect_innodb.test
@@ -4,6 +4,8 @@
# settings are not relevant.
set @subselect_innodb_tmp=@@optimizer_switch;
set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
#
# key field overflow test
@@ -712,3 +714,5 @@ drop table t1;
--echo #
--echo # End of 10.4 tests
--echo #
+
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/main/subselect_mat_cost.test b/mysql-test/main/subselect_mat_cost.test
index 73ba717a8dc..8fe38849735 100644
--- a/mysql-test/main/subselect_mat_cost.test
+++ b/mysql-test/main/subselect_mat_cost.test
@@ -53,7 +53,9 @@ create index Language on CountryLanguage(Language);
create index CityName on City(Name);
alter table City change population population int(11) null default 0;
+--enable_prepare_warnings
select max(id) from City into @max_city_id;
+--disable_prepare_warnings
insert into City values (@max_city_id + 1,'Kilifarevo','BGR',NULL);
diff --git a/mysql-test/main/system_mysql_db.result b/mysql-test/main/system_mysql_db.result
index 37ade694489..d0d1e7c1175 100644
--- a/mysql-test/main/system_mysql_db.result
+++ b/mysql-test/main/system_mysql_db.result
@@ -34,110 +34,110 @@ user
show create table db;
Table Create Table
db CREATE TABLE `db` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_history_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_history_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`Db`,`User`),
KEY `User` (`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
show create table user;
View Create View character_set_client collation_connection
user CREATE ALGORITHM=UNDEFINED DEFINER=`mariadb.sys`@`localhost` SQL SECURITY DEFINER VIEW `user` AS select `global_priv`.`Host` AS `Host`,`global_priv`.`User` AS `User`,if(json_value(`global_priv`.`Priv`,'$.plugin') in ('mysql_native_password','mysql_old_password'),ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),''),'') AS `Password`,if(json_value(`global_priv`.`Priv`,'$.access') & 1,'Y','N') AS `Select_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2,'Y','N') AS `Insert_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4,'Y','N') AS `Update_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8,'Y','N') AS `Delete_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16,'Y','N') AS `Create_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32,'Y','N') AS `Drop_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 64,'Y','N') AS `Reload_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 128,'Y','N') AS `Shutdown_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 256,'Y','N') AS `Process_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 512,'Y','N') AS `File_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1024,'Y','N') AS `Grant_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2048,'Y','N') AS `References_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4096,'Y','N') AS `Index_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8192,'Y','N') AS `Alter_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16384,'Y','N') AS `Show_db_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32768,'Y','N') AS `Super_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 65536,'Y','N') AS `Create_tmp_table_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 131072,'Y','N') AS `Lock_tables_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 262144,'Y','N') AS `Execute_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 524288,'Y','N') AS `Repl_slave_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1048576,'Y','N') AS `Repl_client_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2097152,'Y','N') AS `Create_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4194304,'Y','N') AS `Show_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8388608,'Y','N') AS `Create_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16777216,'Y','N') AS `Alter_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 33554432,'Y','N') AS `Create_user_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 67108864,'Y','N') AS `Event_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 134217728,'Y','N') AS `Trigger_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 268435456,'Y','N') AS `Create_tablespace_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 536870912,'Y','N') AS `Delete_history_priv`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.ssl_type'),0) + 1,'','ANY','X509','SPECIFIED') AS `ssl_type`,ifnull(json_value(`global_priv`.`Priv`,'$.ssl_cipher'),'') AS `ssl_cipher`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_issuer'),'') AS `x509_issuer`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_subject'),'') AS `x509_subject`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_questions'),0) as unsigned) AS `max_questions`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_updates'),0) as unsigned) AS `max_updates`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_connections'),0) as unsigned) AS `max_connections`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_user_connections'),0) as signed) AS `max_user_connections`,ifnull(json_value(`global_priv`.`Priv`,'$.plugin'),'') AS `plugin`,ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),'') AS `authentication_string`,if(ifnull(json_value(`global_priv`.`Priv`,'$.password_last_changed'),1) = 0,'Y','N') AS `password_expired`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.is_role'),0) + 1,'N','Y') AS `is_role`,ifnull(json_value(`global_priv`.`Priv`,'$.default_role'),'') AS `default_role`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_statement_time'),0.0) as decimal(12,6)) AS `max_statement_time` from `global_priv` latin1 latin1_swedish_ci
show create table func;
Table Create Table
func CREATE TABLE `func` (
- `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`ret` tinyint(1) NOT NULL DEFAULT 0,
- `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
- `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+ `dl` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `type` enum('function','aggregate') CHARACTER SET utf8mb3 NOT NULL,
PRIMARY KEY (`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
show create table global_priv;
Table Create Table
global_priv CREATE TABLE `global_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Priv` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '{}' CHECK (json_valid(`Priv`)),
PRIMARY KEY (`Host`,`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
show create table tables_priv;
Table Create Table
tables_priv CREATE TABLE `tables_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
show create table columns_priv;
Table Create Table
columns_priv CREATE TABLE `columns_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Column_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
show create table procs_priv;
Table Create Table
procs_priv CREATE TABLE `procs_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8_bin NOT NULL,
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Routine_name` char(64) CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8mb3_bin NOT NULL,
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
show create table servers;
Table Create Table
servers CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL DEFAULT '',
`Host` varchar(2048) NOT NULL DEFAULT '',
`Db` char(64) NOT NULL DEFAULT '',
- `Username` char(80) NOT NULL DEFAULT '',
+ `Username` char(128) NOT NULL DEFAULT '',
`Password` char(64) NOT NULL DEFAULT '',
`Port` int(4) NOT NULL DEFAULT 0,
`Socket` char(64) NOT NULL DEFAULT '',
`Wrapper` char(64) NOT NULL DEFAULT '',
`Owner` varchar(512) NOT NULL DEFAULT '',
PRIMARY KEY (`Server_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
show create table proc;
Table Create Table
proc CREATE TABLE `proc` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') NOT NULL,
`specific_name` char(64) NOT NULL DEFAULT '',
@@ -148,25 +148,25 @@ proc CREATE TABLE `proc` (
`param_list` blob NOT NULL,
`returns` longblob NOT NULL,
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `comment` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
`aggregate` enum('NONE','GROUP') NOT NULL DEFAULT 'NONE',
PRIMARY KEY (`db`,`name`,`type`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
show create table event;
Table Create Table
event CREATE TABLE `event` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL,
`interval_field` 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') DEFAULT NULL,
@@ -178,15 +178,15 @@ event CREATE TABLE `event` (
`status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `comment` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`originator` int(10) unsigned NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
PRIMARY KEY (`db`,`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
show create table general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
@@ -196,7 +196,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show create table slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -213,40 +213,40 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
show create table table_stats;
Table Create Table
table_stats CREATE TABLE `table_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`cardinality` bigint(21) unsigned DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
show create table column_stats;
Table Create Table
column_stats CREATE TABLE `column_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `column_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `column_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`min_value` varbinary(255) DEFAULT NULL,
`max_value` varbinary(255) DEFAULT NULL,
`nulls_ratio` decimal(12,4) DEFAULT NULL,
`avg_length` decimal(12,4) DEFAULT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
`hist_size` tinyint(3) unsigned DEFAULT NULL,
- `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8_bin DEFAULT NULL,
+ `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8mb3_bin DEFAULT NULL,
`histogram` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
show create table index_stats;
Table Create Table
index_stats CREATE TABLE `index_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`prefix_arity` int(11) unsigned NOT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`index_name`,`prefix_arity`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
show tables;
Tables_in_test
diff --git a/mysql-test/main/system_mysql_db_fix40123.result b/mysql-test/main/system_mysql_db_fix40123.result
index c1bf2f492f1..127e2c49642 100644
--- a/mysql-test/main/system_mysql_db_fix40123.result
+++ b/mysql-test/main/system_mysql_db_fix40123.result
@@ -29,7 +29,7 @@ Warning 1280 Name 'TzId' ignored for PRIMARY key.
CREATE TABLE time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
Warnings:
Warning 1280 Name 'TzIdTranTime' ignored for PRIMARY key.
-CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
+CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, `Offset` int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
Warnings:
Warning 1280 Name 'TzIdTrTId' ignored for PRIMARY key.
CREATE TABLE time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
@@ -72,110 +72,110 @@ user
show create table db;
Table Create Table
db CREATE TABLE `db` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_history_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_history_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`Db`,`User`),
KEY `User` (`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
show create table user;
View Create View character_set_client collation_connection
user CREATE ALGORITHM=UNDEFINED DEFINER=`mariadb.sys`@`localhost` SQL SECURITY DEFINER VIEW `user` AS select `global_priv`.`Host` AS `Host`,`global_priv`.`User` AS `User`,if(json_value(`global_priv`.`Priv`,'$.plugin') in ('mysql_native_password','mysql_old_password'),ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),''),'') AS `Password`,if(json_value(`global_priv`.`Priv`,'$.access') & 1,'Y','N') AS `Select_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2,'Y','N') AS `Insert_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4,'Y','N') AS `Update_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8,'Y','N') AS `Delete_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16,'Y','N') AS `Create_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32,'Y','N') AS `Drop_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 64,'Y','N') AS `Reload_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 128,'Y','N') AS `Shutdown_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 256,'Y','N') AS `Process_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 512,'Y','N') AS `File_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1024,'Y','N') AS `Grant_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2048,'Y','N') AS `References_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4096,'Y','N') AS `Index_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8192,'Y','N') AS `Alter_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16384,'Y','N') AS `Show_db_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32768,'Y','N') AS `Super_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 65536,'Y','N') AS `Create_tmp_table_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 131072,'Y','N') AS `Lock_tables_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 262144,'Y','N') AS `Execute_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 524288,'Y','N') AS `Repl_slave_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1048576,'Y','N') AS `Repl_client_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2097152,'Y','N') AS `Create_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4194304,'Y','N') AS `Show_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8388608,'Y','N') AS `Create_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16777216,'Y','N') AS `Alter_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 33554432,'Y','N') AS `Create_user_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 67108864,'Y','N') AS `Event_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 134217728,'Y','N') AS `Trigger_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 268435456,'Y','N') AS `Create_tablespace_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 536870912,'Y','N') AS `Delete_history_priv`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.ssl_type'),0) + 1,'','ANY','X509','SPECIFIED') AS `ssl_type`,ifnull(json_value(`global_priv`.`Priv`,'$.ssl_cipher'),'') AS `ssl_cipher`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_issuer'),'') AS `x509_issuer`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_subject'),'') AS `x509_subject`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_questions'),0) as unsigned) AS `max_questions`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_updates'),0) as unsigned) AS `max_updates`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_connections'),0) as unsigned) AS `max_connections`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_user_connections'),0) as signed) AS `max_user_connections`,ifnull(json_value(`global_priv`.`Priv`,'$.plugin'),'') AS `plugin`,ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),'') AS `authentication_string`,if(ifnull(json_value(`global_priv`.`Priv`,'$.password_last_changed'),1) = 0,'Y','N') AS `password_expired`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.is_role'),0) + 1,'N','Y') AS `is_role`,ifnull(json_value(`global_priv`.`Priv`,'$.default_role'),'') AS `default_role`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_statement_time'),0.0) as decimal(12,6)) AS `max_statement_time` from `global_priv` latin1 latin1_swedish_ci
show create table func;
Table Create Table
func CREATE TABLE `func` (
- `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`ret` tinyint(1) NOT NULL DEFAULT 0,
- `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
- `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+ `dl` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `type` enum('function','aggregate') CHARACTER SET utf8mb3 NOT NULL,
PRIMARY KEY (`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
show create table global_priv;
Table Create Table
global_priv CREATE TABLE `global_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Priv` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '{}' CHECK (json_valid(`Priv`)),
PRIMARY KEY (`Host`,`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
show create table tables_priv;
Table Create Table
tables_priv CREATE TABLE `tables_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
show create table columns_priv;
Table Create Table
columns_priv CREATE TABLE `columns_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Column_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
show create table procs_priv;
Table Create Table
procs_priv CREATE TABLE `procs_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8_bin NOT NULL,
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Routine_name` char(64) CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8mb3_bin NOT NULL,
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
show create table servers;
Table Create Table
servers CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL DEFAULT '',
`Host` varchar(2048) NOT NULL DEFAULT '',
`Db` char(64) NOT NULL DEFAULT '',
- `Username` char(80) NOT NULL DEFAULT '',
+ `Username` char(128) NOT NULL DEFAULT '',
`Password` char(64) NOT NULL DEFAULT '',
`Port` int(4) NOT NULL DEFAULT 0,
`Socket` char(64) NOT NULL DEFAULT '',
`Wrapper` char(64) NOT NULL DEFAULT '',
`Owner` varchar(512) NOT NULL DEFAULT '',
PRIMARY KEY (`Server_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
show create table proc;
Table Create Table
proc CREATE TABLE `proc` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') NOT NULL,
`specific_name` char(64) NOT NULL DEFAULT '',
@@ -186,25 +186,25 @@ proc CREATE TABLE `proc` (
`param_list` blob NOT NULL,
`returns` longblob NOT NULL,
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `comment` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
`aggregate` enum('NONE','GROUP') NOT NULL DEFAULT 'NONE',
PRIMARY KEY (`db`,`name`,`type`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
show create table event;
Table Create Table
event CREATE TABLE `event` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL,
`interval_field` 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') DEFAULT NULL,
@@ -216,15 +216,15 @@ event CREATE TABLE `event` (
`status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `comment` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`originator` int(10) unsigned NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
PRIMARY KEY (`db`,`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
show create table general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
@@ -234,7 +234,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show create table slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -251,41 +251,41 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
show create table table_stats;
Table Create Table
table_stats CREATE TABLE `table_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`cardinality` bigint(21) unsigned DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
show create table column_stats;
Table Create Table
column_stats CREATE TABLE `column_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `column_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `column_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`min_value` varbinary(255) DEFAULT NULL,
`max_value` varbinary(255) DEFAULT NULL,
`nulls_ratio` decimal(12,4) DEFAULT NULL,
`avg_length` decimal(12,4) DEFAULT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
`hist_size` tinyint(3) unsigned DEFAULT NULL,
- `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8_bin DEFAULT NULL,
+ `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8mb3_bin DEFAULT NULL,
`histogram` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
show create table index_stats;
Table Create Table
index_stats CREATE TABLE `index_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`prefix_arity` int(11) unsigned NOT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`index_name`,`prefix_arity`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
DROP VIEW user;
DROP TABLE db, host, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, proxies_priv, innodb_index_stats, innodb_table_stats, transaction_registry, table_stats, column_stats, index_stats, roles_mapping, gtid_slave_pos, global_priv;
show tables;
diff --git a/mysql-test/main/system_mysql_db_fix40123.test b/mysql-test/main/system_mysql_db_fix40123.test
index 2e7ebd151d2..08aac433433 100644
--- a/mysql-test/main/system_mysql_db_fix40123.test
+++ b/mysql-test/main/system_mysql_db_fix40123.test
@@ -42,7 +42,7 @@ CREATE TABLE help_keyword ( help_keyword_id int unsigned not null, name varchar(
CREATE TABLE time_zone_name ( Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY Name (Name) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone names';
CREATE TABLE time_zone ( Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY TzId (Time_zone_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zones';
CREATE TABLE time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
-CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
+CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, `Offset` int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
CREATE TABLE time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
# Run the mysql_fix_privilege_tables.sql using "mysql --force"
diff --git a/mysql-test/main/system_mysql_db_fix50030.result b/mysql-test/main/system_mysql_db_fix50030.result
index bb003eabffe..fd0074c7f54 100644
--- a/mysql-test/main/system_mysql_db_fix50030.result
+++ b/mysql-test/main/system_mysql_db_fix50030.result
@@ -29,7 +29,7 @@ Warning 1280 Name 'TzId' ignored for PRIMARY key.
CREATE TABLE time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
Warnings:
Warning 1280 Name 'TzIdTranTime' ignored for PRIMARY key.
-CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
+CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, `Offset` int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
Warnings:
Warning 1280 Name 'TzIdTrTId' ignored for PRIMARY key.
CREATE TABLE time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
@@ -76,110 +76,110 @@ user
show create table db;
Table Create Table
db CREATE TABLE `db` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_history_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_history_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`Db`,`User`),
KEY `User` (`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
show create table user;
View Create View character_set_client collation_connection
user CREATE ALGORITHM=UNDEFINED DEFINER=`mariadb.sys`@`localhost` SQL SECURITY DEFINER VIEW `user` AS select `global_priv`.`Host` AS `Host`,`global_priv`.`User` AS `User`,if(json_value(`global_priv`.`Priv`,'$.plugin') in ('mysql_native_password','mysql_old_password'),ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),''),'') AS `Password`,if(json_value(`global_priv`.`Priv`,'$.access') & 1,'Y','N') AS `Select_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2,'Y','N') AS `Insert_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4,'Y','N') AS `Update_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8,'Y','N') AS `Delete_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16,'Y','N') AS `Create_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32,'Y','N') AS `Drop_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 64,'Y','N') AS `Reload_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 128,'Y','N') AS `Shutdown_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 256,'Y','N') AS `Process_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 512,'Y','N') AS `File_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1024,'Y','N') AS `Grant_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2048,'Y','N') AS `References_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4096,'Y','N') AS `Index_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8192,'Y','N') AS `Alter_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16384,'Y','N') AS `Show_db_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32768,'Y','N') AS `Super_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 65536,'Y','N') AS `Create_tmp_table_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 131072,'Y','N') AS `Lock_tables_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 262144,'Y','N') AS `Execute_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 524288,'Y','N') AS `Repl_slave_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1048576,'Y','N') AS `Repl_client_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2097152,'Y','N') AS `Create_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4194304,'Y','N') AS `Show_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8388608,'Y','N') AS `Create_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16777216,'Y','N') AS `Alter_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 33554432,'Y','N') AS `Create_user_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 67108864,'Y','N') AS `Event_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 134217728,'Y','N') AS `Trigger_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 268435456,'Y','N') AS `Create_tablespace_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 536870912,'Y','N') AS `Delete_history_priv`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.ssl_type'),0) + 1,'','ANY','X509','SPECIFIED') AS `ssl_type`,ifnull(json_value(`global_priv`.`Priv`,'$.ssl_cipher'),'') AS `ssl_cipher`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_issuer'),'') AS `x509_issuer`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_subject'),'') AS `x509_subject`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_questions'),0) as unsigned) AS `max_questions`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_updates'),0) as unsigned) AS `max_updates`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_connections'),0) as unsigned) AS `max_connections`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_user_connections'),0) as signed) AS `max_user_connections`,ifnull(json_value(`global_priv`.`Priv`,'$.plugin'),'') AS `plugin`,ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),'') AS `authentication_string`,if(ifnull(json_value(`global_priv`.`Priv`,'$.password_last_changed'),1) = 0,'Y','N') AS `password_expired`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.is_role'),0) + 1,'N','Y') AS `is_role`,ifnull(json_value(`global_priv`.`Priv`,'$.default_role'),'') AS `default_role`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_statement_time'),0.0) as decimal(12,6)) AS `max_statement_time` from `global_priv` latin1 latin1_swedish_ci
show create table func;
Table Create Table
func CREATE TABLE `func` (
- `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`ret` tinyint(1) NOT NULL DEFAULT 0,
- `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
- `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+ `dl` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `type` enum('function','aggregate') CHARACTER SET utf8mb3 NOT NULL,
PRIMARY KEY (`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
show create table global_priv;
Table Create Table
global_priv CREATE TABLE `global_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Priv` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '{}' CHECK (json_valid(`Priv`)),
PRIMARY KEY (`Host`,`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
show create table tables_priv;
Table Create Table
tables_priv CREATE TABLE `tables_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
show create table columns_priv;
Table Create Table
columns_priv CREATE TABLE `columns_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Column_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
show create table procs_priv;
Table Create Table
procs_priv CREATE TABLE `procs_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8_bin NOT NULL,
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Routine_name` char(64) CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8mb3_bin NOT NULL,
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
show create table servers;
Table Create Table
servers CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL DEFAULT '',
`Host` char(64) NOT NULL DEFAULT '',
`Db` char(64) NOT NULL DEFAULT '',
- `Username` char(80) NOT NULL DEFAULT '',
+ `Username` char(128) NOT NULL DEFAULT '',
`Password` char(64) NOT NULL DEFAULT '',
`Port` int(4) NOT NULL DEFAULT 0,
`Socket` char(64) NOT NULL DEFAULT '',
`Wrapper` char(64) NOT NULL DEFAULT '',
`Owner` char(64) NOT NULL DEFAULT '',
PRIMARY KEY (`Server_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
show create table proc;
Table Create Table
proc CREATE TABLE `proc` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') NOT NULL,
`specific_name` char(64) NOT NULL DEFAULT '',
@@ -190,25 +190,25 @@ proc CREATE TABLE `proc` (
`param_list` blob NOT NULL DEFAULT '',
`returns` longblob NOT NULL,
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `comment` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
`aggregate` enum('NONE','GROUP') NOT NULL DEFAULT 'NONE',
PRIMARY KEY (`db`,`name`,`type`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
show create table event;
Table Create Table
event CREATE TABLE `event` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL,
`interval_field` 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') DEFAULT NULL,
@@ -220,15 +220,15 @@ event CREATE TABLE `event` (
`status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `comment` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`originator` int(10) unsigned NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
PRIMARY KEY (`db`,`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
show create table general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
@@ -238,7 +238,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show create table slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -255,41 +255,41 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
show create table table_stats;
Table Create Table
table_stats CREATE TABLE `table_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`cardinality` bigint(21) unsigned DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
show create table column_stats;
Table Create Table
column_stats CREATE TABLE `column_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `column_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `column_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`min_value` varbinary(255) DEFAULT NULL,
`max_value` varbinary(255) DEFAULT NULL,
`nulls_ratio` decimal(12,4) DEFAULT NULL,
`avg_length` decimal(12,4) DEFAULT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
`hist_size` tinyint(3) unsigned DEFAULT NULL,
- `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8_bin DEFAULT NULL,
+ `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8mb3_bin DEFAULT NULL,
`histogram` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
show create table index_stats;
Table Create Table
index_stats CREATE TABLE `index_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`prefix_arity` int(11) unsigned NOT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`index_name`,`prefix_arity`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
DROP VIEW user;
DROP TABLE db, host, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, proxies_priv, innodb_index_stats, innodb_table_stats, transaction_registry, table_stats, column_stats, index_stats, roles_mapping, gtid_slave_pos, global_priv;
show tables;
diff --git a/mysql-test/main/system_mysql_db_fix50030.test b/mysql-test/main/system_mysql_db_fix50030.test
index 77f1a97b1aa..a9830471988 100644
--- a/mysql-test/main/system_mysql_db_fix50030.test
+++ b/mysql-test/main/system_mysql_db_fix50030.test
@@ -42,7 +42,7 @@ CREATE TABLE help_keyword ( help_keyword_id int unsigned not null, name char(64)
CREATE TABLE time_zone_name ( Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY Name (Name) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone names';
CREATE TABLE time_zone ( Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY TzId (Time_zone_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zones';
CREATE TABLE time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
-CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
+CREATE TABLE time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, `Offset` int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
CREATE TABLE time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY TranTime (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
CREATE TABLE proc ( db char(64) collate utf8_bin DEFAULT '' NOT NULL, name char(64) DEFAULT '' NOT NULL, type enum('FUNCTION','PROCEDURE') NOT NULL, specific_name char(64) DEFAULT '' NOT NULL, language enum('SQL') DEFAULT 'SQL' NOT NULL, sql_data_access enum('CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' ) DEFAULT 'CONTAINS_SQL' NOT NULL, is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL, security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL, param_list blob DEFAULT '' NOT NULL, returns char(64) DEFAULT '' NOT NULL, body longblob DEFAULT '' NOT NULL, definer char(77) collate utf8_bin DEFAULT '' NOT NULL, created timestamp, modified timestamp, sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', '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' ) DEFAULT '' NOT NULL, comment char(64) collate utf8_bin DEFAULT '' NOT NULL, PRIMARY KEY (db,name,type) ) engine=MyISAM character set utf8 comment='Stored Procedures';
CREATE TABLE procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) binary DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp, PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges';
diff --git a/mysql-test/main/system_mysql_db_fix50117.result b/mysql-test/main/system_mysql_db_fix50117.result
index 1557817fc80..a7d705c4158 100644
--- a/mysql-test/main/system_mysql_db_fix50117.result
+++ b/mysql-test/main/system_mysql_db_fix50117.result
@@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS help_keyword ( help_keyword_id int unsigned not null,
CREATE TABLE IF NOT EXISTS time_zone_name ( Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY (Name) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone names';
CREATE TABLE IF NOT EXISTS time_zone ( Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY (Time_zone_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zones';
CREATE TABLE IF NOT EXISTS time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
-CREATE TABLE IF NOT EXISTS time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
+CREATE TABLE IF NOT EXISTS time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, `Offset` int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
CREATE TABLE IF NOT EXISTS time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
CREATE TABLE IF NOT EXISTS proc ( db char(64) collate utf8_bin DEFAULT '' NOT NULL, name char(64) DEFAULT '' NOT NULL, type enum('FUNCTION','PROCEDURE') NOT NULL, specific_name char(64) DEFAULT '' NOT NULL, language enum('SQL') DEFAULT 'SQL' NOT NULL, sql_data_access enum('CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' ) DEFAULT 'CONTAINS_SQL' NOT NULL, is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL, security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL, param_list blob NOT NULL, returns char(64) DEFAULT '' NOT NULL, body longblob NOT NULL, definer char(77) collate utf8_bin DEFAULT '' NOT NULL, created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, modified timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', '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' ) DEFAULT '' NOT NULL, comment char(64) collate utf8_bin DEFAULT '' NOT NULL, PRIMARY KEY (db,name,type) ) engine=MyISAM character set utf8 comment='Stored Procedures';
CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) binary DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges';
@@ -56,110 +56,110 @@ user
show create table db;
Table Create Table
db CREATE TABLE `db` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
- `Delete_history_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Select_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Insert_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Update_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Drop_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Grant_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `References_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Index_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Show_view_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Create_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Execute_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Event_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Trigger_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
+ `Delete_history_priv` enum('N','Y') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`Db`,`User`),
KEY `User` (`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'
show create table user;
View Create View character_set_client collation_connection
user CREATE ALGORITHM=UNDEFINED DEFINER=`mariadb.sys`@`localhost` SQL SECURITY DEFINER VIEW `user` AS select `global_priv`.`Host` AS `Host`,`global_priv`.`User` AS `User`,if(json_value(`global_priv`.`Priv`,'$.plugin') in ('mysql_native_password','mysql_old_password'),ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),''),'') AS `Password`,if(json_value(`global_priv`.`Priv`,'$.access') & 1,'Y','N') AS `Select_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2,'Y','N') AS `Insert_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4,'Y','N') AS `Update_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8,'Y','N') AS `Delete_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16,'Y','N') AS `Create_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32,'Y','N') AS `Drop_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 64,'Y','N') AS `Reload_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 128,'Y','N') AS `Shutdown_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 256,'Y','N') AS `Process_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 512,'Y','N') AS `File_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1024,'Y','N') AS `Grant_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2048,'Y','N') AS `References_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4096,'Y','N') AS `Index_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8192,'Y','N') AS `Alter_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16384,'Y','N') AS `Show_db_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 32768,'Y','N') AS `Super_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 65536,'Y','N') AS `Create_tmp_table_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 131072,'Y','N') AS `Lock_tables_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 262144,'Y','N') AS `Execute_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 524288,'Y','N') AS `Repl_slave_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 1048576,'Y','N') AS `Repl_client_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 2097152,'Y','N') AS `Create_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 4194304,'Y','N') AS `Show_view_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 8388608,'Y','N') AS `Create_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 16777216,'Y','N') AS `Alter_routine_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 33554432,'Y','N') AS `Create_user_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 67108864,'Y','N') AS `Event_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 134217728,'Y','N') AS `Trigger_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 268435456,'Y','N') AS `Create_tablespace_priv`,if(json_value(`global_priv`.`Priv`,'$.access') & 536870912,'Y','N') AS `Delete_history_priv`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.ssl_type'),0) + 1,'','ANY','X509','SPECIFIED') AS `ssl_type`,ifnull(json_value(`global_priv`.`Priv`,'$.ssl_cipher'),'') AS `ssl_cipher`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_issuer'),'') AS `x509_issuer`,ifnull(json_value(`global_priv`.`Priv`,'$.x509_subject'),'') AS `x509_subject`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_questions'),0) as unsigned) AS `max_questions`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_updates'),0) as unsigned) AS `max_updates`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_connections'),0) as unsigned) AS `max_connections`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_user_connections'),0) as signed) AS `max_user_connections`,ifnull(json_value(`global_priv`.`Priv`,'$.plugin'),'') AS `plugin`,ifnull(json_value(`global_priv`.`Priv`,'$.authentication_string'),'') AS `authentication_string`,if(ifnull(json_value(`global_priv`.`Priv`,'$.password_last_changed'),1) = 0,'Y','N') AS `password_expired`,elt(ifnull(json_value(`global_priv`.`Priv`,'$.is_role'),0) + 1,'N','Y') AS `is_role`,ifnull(json_value(`global_priv`.`Priv`,'$.default_role'),'') AS `default_role`,cast(ifnull(json_value(`global_priv`.`Priv`,'$.max_statement_time'),0.0) as decimal(12,6)) AS `max_statement_time` from `global_priv` latin1 latin1_swedish_ci
show create table func;
Table Create Table
func CREATE TABLE `func` (
- `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`ret` tinyint(1) NOT NULL DEFAULT 0,
- `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
- `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
+ `dl` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `type` enum('function','aggregate') CHARACTER SET utf8mb3 NOT NULL,
PRIMARY KEY (`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='User defined functions'
show create table global_priv;
Table Create Table
global_priv CREATE TABLE `global_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Priv` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '{}' CHECK (json_valid(`Priv`)),
PRIMARY KEY (`Host`,`User`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Users and global privileges'
show create table tables_priv;
Table Create Table
tables_priv CREATE TABLE `tables_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Table privileges'
show create table columns_priv;
Table Create Table
columns_priv CREATE TABLE `columns_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Host` char(255) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Table_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Column_name` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
- `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'
show create table procs_priv;
Table Create Table
procs_priv CREATE TABLE `procs_priv` (
- `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
- `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Routine_name` char(64) CHARACTER SET utf8 NOT NULL DEFAULT '',
- `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8_bin NOT NULL,
- `Grantor` char(141) COLLATE utf8_bin NOT NULL DEFAULT '',
- `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '',
+ `Host` char(60) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Db` char(64) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `User` char(128) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Routine_name` char(64) CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
+ `Routine_type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') COLLATE utf8mb3_bin NOT NULL,
+ `Grantor` varchar(384) COLLATE utf8mb3_bin NOT NULL DEFAULT '',
+ `Proc_priv` set('Execute','Alter Routine','Grant') CHARACTER SET utf8mb3 NOT NULL DEFAULT '',
`Timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
KEY `Grantor` (`Grantor`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Procedure privileges'
show create table servers;
Table Create Table
servers CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL DEFAULT '',
`Host` char(64) NOT NULL DEFAULT '',
`Db` char(64) NOT NULL DEFAULT '',
- `Username` char(80) NOT NULL DEFAULT '',
+ `Username` char(128) NOT NULL DEFAULT '',
`Password` char(64) NOT NULL DEFAULT '',
`Port` int(4) NOT NULL DEFAULT 0,
`Socket` char(64) NOT NULL DEFAULT '',
`Wrapper` char(64) NOT NULL DEFAULT '',
`Owner` char(64) NOT NULL DEFAULT '',
PRIMARY KEY (`Server_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='MySQL Foreign Servers table'
show create table proc;
Table Create Table
proc CREATE TABLE `proc` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') NOT NULL,
`specific_name` char(64) NOT NULL DEFAULT '',
@@ -170,25 +170,25 @@ proc CREATE TABLE `proc` (
`param_list` blob NOT NULL,
`returns` longblob NOT NULL,
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`created` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `comment` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
`aggregate` enum('NONE','GROUP') NOT NULL DEFAULT 'NONE',
PRIMARY KEY (`db`,`name`,`type`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Stored Procedures'
show create table event;
Table Create Table
event CREATE TABLE `event` (
- `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `db` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`name` char(64) NOT NULL DEFAULT '',
`body` longblob NOT NULL,
- `definer` char(141) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `definer` varchar(384) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`execute_at` datetime DEFAULT NULL,
`interval_value` int(11) DEFAULT NULL,
`interval_field` 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') DEFAULT NULL,
@@ -200,15 +200,15 @@ event CREATE TABLE `event` (
`status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED',
`on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP',
`sql_mode` 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NOT NULL DEFAULT '',
- `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
+ `comment` char(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '',
`originator` int(10) unsigned NOT NULL,
`time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM',
- `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ `character_set_client` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `collation_connection` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ `db_collation` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
`body_utf8` longblob DEFAULT NULL,
PRIMARY KEY (`db`,`name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Events'
show create table general_log;
Table Create Table
general_log CREATE TABLE `general_log` (
@@ -218,7 +218,7 @@ general_log CREATE TABLE `general_log` (
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log'
show create table slow_log;
Table Create Table
slow_log CREATE TABLE `slow_log` (
@@ -235,41 +235,41 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
show create table table_stats;
Table Create Table
table_stats CREATE TABLE `table_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`cardinality` bigint(21) unsigned DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Tables'
show create table column_stats;
Table Create Table
column_stats CREATE TABLE `column_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `column_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `column_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`min_value` varbinary(255) DEFAULT NULL,
`max_value` varbinary(255) DEFAULT NULL,
`nulls_ratio` decimal(12,4) DEFAULT NULL,
`avg_length` decimal(12,4) DEFAULT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
`hist_size` tinyint(3) unsigned DEFAULT NULL,
- `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8_bin DEFAULT NULL,
+ `hist_type` enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') COLLATE utf8mb3_bin DEFAULT NULL,
`histogram` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`column_name`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Columns'
show create table index_stats;
Table Create Table
index_stats CREATE TABLE `index_stats` (
- `db_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
- `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
+ `db_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `table_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
+ `index_name` varchar(64) COLLATE utf8mb3_bin NOT NULL,
`prefix_arity` int(11) unsigned NOT NULL,
`avg_frequency` decimal(12,4) DEFAULT NULL,
PRIMARY KEY (`db_name`,`table_name`,`index_name`,`prefix_arity`)
-) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
+) ENGINE=Aria DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes'
DROP VIEW user;
DROP TABLE db, host, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, proxies_priv, innodb_index_stats, innodb_table_stats, transaction_registry, table_stats, column_stats, index_stats, roles_mapping, gtid_slave_pos, global_priv;
show tables;
diff --git a/mysql-test/main/system_mysql_db_fix50117.test b/mysql-test/main/system_mysql_db_fix50117.test
index 28b8621a638..510cabf08a6 100644
--- a/mysql-test/main/system_mysql_db_fix50117.test
+++ b/mysql-test/main/system_mysql_db_fix50117.test
@@ -37,7 +37,7 @@ CREATE TABLE IF NOT EXISTS help_keyword ( help_keyword_id int unsigned not null,
CREATE TABLE IF NOT EXISTS time_zone_name ( Name char(64) NOT NULL, Time_zone_id int unsigned NOT NULL, PRIMARY KEY (Name) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone names';
CREATE TABLE IF NOT EXISTS time_zone ( Time_zone_id int unsigned NOT NULL auto_increment, Use_leap_seconds enum('Y','N') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY (Time_zone_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zones';
CREATE TABLE IF NOT EXISTS time_zone_transition ( Time_zone_id int unsigned NOT NULL, Transition_time bigint signed NOT NULL, Transition_type_id int unsigned NOT NULL, PRIMARY KEY (Time_zone_id, Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions';
-CREATE TABLE IF NOT EXISTS time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, Offset int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
+CREATE TABLE IF NOT EXISTS time_zone_transition_type ( Time_zone_id int unsigned NOT NULL, Transition_type_id int unsigned NOT NULL, `Offset` int signed DEFAULT 0 NOT NULL, Is_DST tinyint unsigned DEFAULT 0 NOT NULL, Abbreviation char(8) DEFAULT '' NOT NULL, PRIMARY KEY (Time_zone_id, Transition_type_id) ) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types';
CREATE TABLE IF NOT EXISTS time_zone_leap_second ( Transition_time bigint signed NOT NULL, Correction int signed NOT NULL, PRIMARY KEY (Transition_time) ) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones';
CREATE TABLE IF NOT EXISTS proc ( db char(64) collate utf8_bin DEFAULT '' NOT NULL, name char(64) DEFAULT '' NOT NULL, type enum('FUNCTION','PROCEDURE') NOT NULL, specific_name char(64) DEFAULT '' NOT NULL, language enum('SQL') DEFAULT 'SQL' NOT NULL, sql_data_access enum('CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' ) DEFAULT 'CONTAINS_SQL' NOT NULL, is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL, security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL, param_list blob NOT NULL, returns char(64) DEFAULT '' NOT NULL, body longblob NOT NULL, definer char(77) collate utf8_bin DEFAULT '' NOT NULL, created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, modified timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', sql_mode set( 'REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'NOT_USED', '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' ) DEFAULT '' NOT NULL, comment char(64) collate utf8_bin DEFAULT '' NOT NULL, PRIMARY KEY (db,name,type) ) engine=MyISAM character set utf8 comment='Stored Procedures';
CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) binary DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges';
diff --git a/mysql-test/main/table_value_constr.test b/mysql-test/main/table_value_constr.test
index a80c77e86f2..05aca941350 100644
--- a/mysql-test/main/table_value_constr.test
+++ b/mysql-test/main/table_value_constr.test
@@ -1471,7 +1471,9 @@ insert into t2 values (1), (2);
let $q1=
select (values ((select 2))) from t2;
eval $q1;
+--enable_prepare_warnings
eval explain $q1;
+--disable_prepare_warnings
eval prepare stmt from "$q1";
execute stmt;
execute stmt;
diff --git a/mysql-test/main/tc_heuristic_recover.result b/mysql-test/main/tc_heuristic_recover.result
index 32c3a9779ad..5538781ad38 100644
--- a/mysql-test/main/tc_heuristic_recover.result
+++ b/mysql-test/main/tc_heuristic_recover.result
@@ -22,11 +22,11 @@ NOT FOUND /\[ERROR\] Can\'t init tc log/ in mysqld.1.err
FOUND 2 /was in the XA prepared state/ in mysqld.1.err
FOUND 1 /Found 1 prepared transactions!/ in mysqld.1.err
FOUND 1 /\[ERROR\] Can\'t init tc log/ in mysqld.1.err
-FOUND 1 /Please restart mysqld without --tc-heuristic-recover/ in mysqld.1.err
+FOUND 1 /Please restart without --tc-heuristic-recover/ in mysqld.1.err
FOUND 3 /was in the XA prepared state/ in mysqld.1.err
FOUND 1 /Found 1 prepared transactions!/ in mysqld.1.err
FOUND 2 /\[ERROR\] Can\'t init tc log/ in mysqld.1.err
-FOUND 2 /Please restart mysqld without --tc-heuristic-recover/ in mysqld.1.err
+FOUND 2 /Please restart without --tc-heuristic-recover/ in mysqld.1.err
# restart
FOUND 3 /was in the XA prepared state/ in mysqld.1.err
FOUND 1 /Found 1 prepared transactions!/ in mysqld.1.err
diff --git a/mysql-test/main/tc_heuristic_recover.test b/mysql-test/main/tc_heuristic_recover.test
index 86fea084de8..a69dc5036af 100644
--- a/mysql-test/main/tc_heuristic_recover.test
+++ b/mysql-test/main/tc_heuristic_recover.test
@@ -66,7 +66,7 @@ SELECT * FROM t1;
--source include/search_pattern_in_file.inc
--let SEARCH_PATTERN= \\[ERROR\\] Can\\'t init tc log
--source include/search_pattern_in_file.inc
---let SEARCH_PATTERN= Please restart mysqld without --tc-heuristic-recover
+--let SEARCH_PATTERN= Please restart without --tc-heuristic-recover
--source include/search_pattern_in_file.inc
--error 1
@@ -78,7 +78,7 @@ SELECT * FROM t1;
--source include/search_pattern_in_file.inc
--let SEARCH_PATTERN= \\[ERROR\\] Can\\'t init tc log
--source include/search_pattern_in_file.inc
---let SEARCH_PATTERN= Please restart mysqld without --tc-heuristic-recover
+--let SEARCH_PATTERN= Please restart without --tc-heuristic-recover
--source include/search_pattern_in_file.inc
--source include/start_mysqld.inc
diff --git a/mysql-test/main/temp_table.result b/mysql-test/main/temp_table.result
index 64a5d9b681b..0e443cb71dd 100644
--- a/mysql-test/main/temp_table.result
+++ b/mysql-test/main/temp_table.result
@@ -619,3 +619,15 @@ ERROR 42S02: Unknown table 'test.t2'
#
# End of 10.5 tests
#
+#
+# Record that temporary table locks are always WRITE locks
+#
+CREATE TEMPORARY TABLE t1 (a INT);
+LOCK TABLE t1 READ;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+UNLOCK TABLES;
+DROP TABLE t1;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/temp_table.test b/mysql-test/main/temp_table.test
index ccaa5fb93e8..4f1bb3c5568 100644
--- a/mysql-test/main/temp_table.test
+++ b/mysql-test/main/temp_table.test
@@ -681,3 +681,17 @@ drop temporary table t2;
--echo # End of 10.5 tests
--echo #
+--echo #
+--echo # Record that temporary table locks are always WRITE locks
+--echo #
+
+CREATE TEMPORARY TABLE t1 (a INT);
+LOCK TABLE t1 READ;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+UNLOCK TABLES;
+DROP TABLE t1;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/temporal_literal.test b/mysql-test/main/temporal_literal.test
index 6783b19a7d4..5126796dc33 100644
--- a/mysql-test/main/temporal_literal.test
+++ b/mysql-test/main/temporal_literal.test
@@ -243,7 +243,9 @@ SELECT TIMESTAMP('2001-01-01 10:10:10.123456xyz');
SELECT TIMESTAMP('2001-01-01 10:10:10.1234567xyz');
CREATE TABLE t1 (a TIME(6));
+--enable_prepare_warnings
INSERT INTO t1 VALUES (TIME'10:20:30.1234567');
+--disable_prepare_warnings
INSERT INTO t1 VALUES (TIME('10:20:30.1234567'));
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/main/trigger-compat.result b/mysql-test/main/trigger-compat.result
index 656edc63a7d..cb2970890f1 100644
--- a/mysql-test/main/trigger-compat.result
+++ b/mysql-test/main/trigger-compat.result
@@ -169,8 +169,8 @@ Timing AFTER
Created 2022-01-13 08:23:06.47
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer
-character_set_client utf8
-collation_connection utf8_general_ci
+character_set_client utf8mb3
+collation_connection utf8mb3_general_ci
Database Collation latin1_swedish_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='tr1';
TRIGGER_CATALOG def
@@ -198,8 +198,8 @@ ACTION_REFERENCE_NEW_ROW NEW
CREATED 2022-01-13 08:23:06.47
SQL_MODE STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER
-CHARACTER_SET_CLIENT utf8
-COLLATION_CONNECTION utf8_general_ci
+CHARACTER_SET_CLIENT utf8mb3
+COLLATION_CONNECTION utf8mb3_general_ci
DATABASE_COLLATION latin1_swedish_ci
SET time_zone=DEFAULT;
# Listing trigger files
@@ -234,8 +234,8 @@ Timing AFTER
Created 2022-01-13 08:23:06.47
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer
-character_set_client utf8
-collation_connection utf8_general_ci
+character_set_client utf8mb3
+collation_connection utf8mb3_general_ci
Database Collation latin1_swedish_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='tr1';
TRIGGER_CATALOG def
@@ -263,8 +263,8 @@ ACTION_REFERENCE_NEW_ROW NEW
CREATED 2022-01-13 08:23:06.47
SQL_MODE STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER
-CHARACTER_SET_CLIENT utf8
-COLLATION_CONNECTION utf8_general_ci
+CHARACTER_SET_CLIENT utf8mb3
+COLLATION_CONNECTION utf8mb3_general_ci
DATABASE_COLLATION latin1_swedish_ci
SET time_zone=DEFAULT;
# Listing trigger files
@@ -294,8 +294,8 @@ Timing AFTER
Created 2022-01-13 10:01:48.74
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer root@localhost
-character_set_client utf8
-collation_connection utf8_general_ci
+character_set_client utf8mb3
+collation_connection utf8mb3_general_ci
Database Collation latin1_swedish_ci
Trigger tr1
Event DELETE
@@ -311,8 +311,8 @@ Timing AFTER
Created 2022-01-13 10:01:48.73
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer
-character_set_client utf8
-collation_connection utf8_general_ci
+character_set_client utf8mb3
+collation_connection utf8mb3_general_ci
Database Collation latin1_swedish_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='tr1';
TRIGGER_CATALOG def
@@ -340,8 +340,8 @@ ACTION_REFERENCE_NEW_ROW NEW
CREATED 2022-01-13 10:01:48.73
SQL_MODE STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER
-CHARACTER_SET_CLIENT utf8
-COLLATION_CONNECTION utf8_general_ci
+CHARACTER_SET_CLIENT utf8mb3
+COLLATION_CONNECTION utf8mb3_general_ci
DATABASE_COLLATION latin1_swedish_ci
SET time_zone=DEFAULT;
# Listing trigger files
@@ -371,8 +371,8 @@ Timing AFTER
Created 2022-01-13 10:01:48.74
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer root@localhost
-character_set_client utf8
-collation_connection utf8_general_ci
+character_set_client utf8mb3
+collation_connection utf8mb3_general_ci
Database Collation latin1_swedish_ci
Trigger tr1
Event DELETE
@@ -388,8 +388,8 @@ Timing AFTER
Created 2022-01-13 10:01:48.73
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer
-character_set_client utf8
-collation_connection utf8_general_ci
+character_set_client utf8mb3
+collation_connection utf8mb3_general_ci
Database Collation latin1_swedish_ci
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME='tr1';
TRIGGER_CATALOG def
@@ -417,8 +417,8 @@ ACTION_REFERENCE_NEW_ROW NEW
CREATED 2022-01-13 10:01:48.73
SQL_MODE STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER
-CHARACTER_SET_CLIENT utf8
-COLLATION_CONNECTION utf8_general_ci
+CHARACTER_SET_CLIENT utf8mb3
+COLLATION_CONNECTION utf8mb3_general_ci
DATABASE_COLLATION latin1_swedish_ci
SET time_zone=DEFAULT;
# Listing trigger files
diff --git a/mysql-test/main/trigger.result b/mysql-test/main/trigger.result
index 571d78aa9e2..a58986dc88a 100644
--- a/mysql-test/main/trigger.result
+++ b/mysql-test/main/trigger.result
@@ -319,7 +319,7 @@ drop table t1;
drop table t3;
create temporary table t1 (i int);
create trigger trg before insert on t1 for each row set @a:=1;
-ERROR HY000: Trigger's 't1' is view, temporary table or sequence
+ERROR HY000: Trigger's 't1' is a view, temporary table or sequence
drop table t1;
create table t1 (x1col char);
create trigger tx1 before insert on t1 for each row set new.x1col = 'x';
@@ -1187,10 +1187,10 @@ CREATE TABLE t1(c INT);
CREATE TABLE t2(c INT);
CREATE DEFINER=longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost
TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYvvv234567890abcdefghijQWERTYvvvjdnkjfbewfjefnkejfnejfnERTYvvvjdnkjfbewfjefnkejfnejfn
TRIGGER t2_bi BEFORE INSERT ON t2 FOR EACH ROW SET @a = 2;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYs...' is too long for host name (should be no longer than 255)
DROP TABLE t1;
DROP TABLE t2;
drop table if exists t1;
@@ -2457,3 +2457,41 @@ DROP TABLE t1;
#
# End of 10.3 tests
#
+#
+# Test dropping orphan .trn file
+#
+create table t1 (a int);
+create trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end|
+insert into t1 values (null);
+select * from t1;
+a
+1000
+drop table t1;
+drop trigger t1_trg;
+Warnings:
+Error 1146 Table 'test.t1' doesn't exist
+Warning 4181 Dropped orphan trigger 't1_trg', originally created for table: 't1'
+create table t1 (a int);
+drop trigger t1_trg;
+Warnings:
+Warning 4181 Dropped orphan trigger 't1_trg', originally created for table: 't1'
+create trigger t1_trg_2 before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end|
+drop trigger t1_trg;
+Warnings:
+Error 1360 Trigger does not exist
+Warning 4181 Dropped orphan trigger 't1_trg', originally created for table: 't1'
+drop trigger t1_trg_2;
+drop table t1;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/trigger.test b/mysql-test/main/trigger.test
index 1d51de7155c..32827975e14 100644
--- a/mysql-test/main/trigger.test
+++ b/mysql-test/main/trigger.test
@@ -761,6 +761,7 @@ drop table t1;
create table t1 (id int, data int, username varchar(16));
insert into t1 (id, data) values (1, 0);
+--enable_prepare_warnings
delimiter |;
create trigger t1_whoupdated before update on t1 for each row
begin
@@ -771,6 +772,7 @@ begin
select count(*) from ((select 1) union (select 2)) as d1 into i;
end|
delimiter ;|
+--disable_prepare_warnings
update t1 set data = 1;
connection addconroot1;
@@ -1413,7 +1415,7 @@ CREATE DEFINER=longer_than_80_45678901234567890123456789012345678901234567890123
TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1;
--error ER_WRONG_STRING_LENGTH
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYvvv234567890abcdefghijQWERTYvvvjdnkjfbewfjefnkejfnejfnERTYvvvjdnkjfbewfjefnkejfnejfn
TRIGGER t2_bi BEFORE INSERT ON t2 FOR EACH ROW SET @a = 2;
# Cleanup.
@@ -2343,6 +2345,7 @@ DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (b VARCHAR(50) NOT NULL);
CREATE TABLE t2 (a VARCHAR(10) NOT NULL DEFAULT '');
+--enable_prepare_warnings
delimiter //;
CREATE TRIGGER trg1 AFTER INSERT ON t2
FOR EACH ROW BEGIN
@@ -2350,6 +2353,7 @@ FOR EACH ROW BEGIN
(@bug51650 IS NULL OR @bug51650 != c.b) AND c.b = NEW.a LIMIT 1 INTO @foo;
END//
delimiter ;//
+--disable_prepare_warnings
SET @bug51650 = 1;
INSERT IGNORE INTO t2 VALUES();
@@ -2790,3 +2794,48 @@ DROP TABLE t1;
--echo #
--echo # End of 10.3 tests
--echo #
+
+--echo #
+--echo # Test dropping orphan .trn file
+--echo #
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+create table t1 (a int);
+delimiter |;
+create trigger t1_trg before insert on t1 for each row
+begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+end|
+delimiter ;|
+insert into t1 values (null);
+select * from t1;
+
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TRN $MYSQLD_DATADIR/test/t1_trg.TMP
+drop table t1;
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TMP $MYSQLD_DATADIR/test/t1_trg.TRN
+drop trigger t1_trg;
+create table t1 (a int);
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TMP $MYSQLD_DATADIR/test/t1_trg.TRN
+drop trigger t1_trg;
+
+# Test creating an additonal trigger for t1, but with different names
+delimiter |;
+create trigger t1_trg_2 before insert on t1 for each row
+begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+end|
+delimiter ;|
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TMP $MYSQLD_DATADIR/test/t1_trg.TRN
+drop trigger t1_trg;
+drop trigger t1_trg_2;
+drop table t1;
+--remove_file $MYSQLD_DATADIR/test/t1_trg.TMP
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/type_bit_innodb.result b/mysql-test/main/type_bit_innodb.result
index 9b186207f3f..a3ac23ebb71 100644
--- a/mysql-test/main/type_bit_innodb.result
+++ b/mysql-test/main/type_bit_innodb.result
@@ -1,3 +1,5 @@
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
select 0 + b'1';
0 + b'1'
1
@@ -34,7 +36,6 @@ select 0 + b'1111111111111111';
select 0 + b'1000000000000001';
0 + b'1000000000000001'
32769
-drop table if exists t1;
create table t1 (a bit(65)) engine=innodb;
ERROR 42000: Display width out of range for 'a' (max = 64)
create table t1 (a bit(0)) engine=innodb;
@@ -422,3 +423,4 @@ hex(f1) hex(f2)
0 0
0 0
drop table t1;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/type_bit_innodb.test b/mysql-test/main/type_bit_innodb.test
index 4c6f9bc1b49..6317bbc3a2d 100644
--- a/mysql-test/main/type_bit_innodb.test
+++ b/mysql-test/main/type_bit_innodb.test
@@ -1,4 +1,7 @@
--source include/have_innodb.inc
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
+
#
# testing of the BIT column type
#
@@ -16,10 +19,6 @@ select 0 + b'1000000000000000';
select 0 + b'1111111111111111';
select 0 + b'1000000000000001';
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
--error 1439
create table t1 (a bit(65)) engine=innodb;
@@ -157,3 +156,5 @@ insert into t1 (f1) values (default);
insert into t1 values (b'',b''),('','');
select hex(f1), hex(f2) from t1;
drop table t1;
+
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/main/type_blob.result b/mysql-test/main/type_blob.result
index 28f5d8fb868..c2739e4b166 100644
--- a/mysql-test/main/type_blob.result
+++ b/mysql-test/main/type_blob.result
@@ -31,7 +31,7 @@ t3 CREATE TABLE `t3` (
show create TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
- `c` mediumtext CHARACTER SET utf8 NOT NULL
+ `c` mediumtext CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1,t2,t3,t4;
CREATE TABLE t1 (a char(257) default "hello");
@@ -1081,7 +1081,7 @@ CREATE TABLE t1 (a TEXT(1431655798) CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` longtext CHARACTER SET utf8 DEFAULT NULL
+ `a` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
create table t1 (a int);
diff --git a/mysql-test/main/type_blob.test b/mysql-test/main/type_blob.test
index 38c8b9a83ca..c61ed124139 100644
--- a/mysql-test/main/type_blob.test
+++ b/mysql-test/main/type_blob.test
@@ -526,14 +526,18 @@ CREATE TABLE b15776 (a char(4294967296));
## When we complain about it, we say that the max is 255. We may be
## talking about different things. It's confusing.
--replace_result 4294967295 ? 0 ?
+--enable_prepare_warnings
CREATE TABLE b15776 (a year(4294967295));
+--disable_prepare_warnings
INSERT INTO b15776 VALUES (42);
SELECT * FROM b15776;
DROP TABLE b15776;
CREATE TABLE b15776 (a year(4294967296));
SHOW CREATE TABLE b15776;
DROP TABLE b15776;
+--enable_prepare_warnings
CREATE TABLE b15776 (a year(0)); # 0 is special case, means default size
+--disable_prepare_warnings
DROP TABLE b15776;
--error ER_PARSE_ERROR
CREATE TABLE b15776 (a year(-2));
diff --git a/mysql-test/main/type_enum.result b/mysql-test/main/type_enum.result
index d17b94bbb4f..8d0dfefc64c 100644
--- a/mysql-test/main/type_enum.result
+++ b/mysql-test/main/type_enum.result
@@ -1699,7 +1699,7 @@ a ENUM('ä','ö','ü') character set utf8 default 'ü'
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('ä','ö','ü') CHARACTER SET utf8 DEFAULT 'ü'
+ `a` enum('ä','ö','ü') CHARACTER SET utf8mb3 DEFAULT 'ü'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('ä'), ('ö'), ('ü');
select a from t1 order by a;
diff --git a/mysql-test/main/type_hex_hybrid.result b/mysql-test/main/type_hex_hybrid.result
index 26ff385a709..afe338a1cd8 100644
--- a/mysql-test/main/type_hex_hybrid.result
+++ b/mysql-test/main/type_hex_hybrid.result
@@ -9,8 +9,8 @@ CREATE TABLE t1 (a DECIMAL(10,3));
INSERT INTO t1 VALUES (10.0),(10.1);
SELECT CHARSET('a'),CHARSET(0x61),LENGTH(CHARSET('a'))+a,LENGTH(CHARSET(0x61))+a FROM t1;
CHARSET('a') CHARSET(0x61) LENGTH(CHARSET('a'))+a LENGTH(CHARSET(0x61))+a
-utf8 binary 14.000 16.000
-utf8 binary 14.100 16.100
+utf8mb3 binary 17.000 16.000
+utf8mb3 binary 17.100 16.100
SELECT * FROM t1 WHERE LENGTH(CHARSET('a'))+a<=>LENGTH(CHARSET(0x61))+a;
a
EXPLAIN EXTENDED SELECT * FROM t1 WHERE LENGTH(CHARSET('a'))+a<=>LENGTH(CHARSET(0x61))+a;
diff --git a/mysql-test/main/type_nchar.result b/mysql-test/main/type_nchar.result
index 95741d37e2a..97c66d8d9a1 100644
--- a/mysql-test/main/type_nchar.result
+++ b/mysql-test/main/type_nchar.result
@@ -3,48 +3,48 @@ create table t1 (c nchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c national char(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c national varchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c nvarchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c nchar varchar(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c national character varying(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (c nchar varying(10));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ `c` varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
diff --git a/mysql-test/main/type_newdecimal.test b/mysql-test/main/type_newdecimal.test
index 011c6dbc743..873a2ef72c8 100644
--- a/mysql-test/main/type_newdecimal.test
+++ b/mysql-test/main/type_newdecimal.test
@@ -1339,9 +1339,11 @@ DESC t1;
SELECT * FROM t1;
DROP TABLE t1;
+--enable_prepare_warnings
CREATE TABLE t1 SELECT
/* 82 */ 1000000000000000000000000000000000000000000000000000000000000000000000000000000001
AS c1;
+--disable_prepare_warnings
DESC t1;
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/main/type_ranges.result b/mysql-test/main/type_ranges.result
index 784a394d8b5..02b6c79bdf5 100644
--- a/mysql-test/main/type_ranges.result
+++ b/mysql-test/main/type_ranges.result
@@ -65,21 +65,21 @@ longblob_col longblob NULL NO '' #
options enum('one','two','tree') latin1_swedish_ci NO MUL NULL #
flags set('one','two','tree') latin1_swedish_ci NO #
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 0 PRIMARY 1 auto A 0 NULL NULL BTREE
-t1 1 utiny 1 utiny A NULL NULL NULL BTREE
-t1 1 tiny 1 tiny A NULL NULL NULL BTREE
-t1 1 short 1 short A NULL NULL NULL BTREE
-t1 1 any_name 1 medium A NULL NULL NULL BTREE
-t1 1 longlong 1 longlong A NULL NULL NULL BTREE
-t1 1 real_float 1 real_float A NULL NULL NULL BTREE
-t1 1 ushort 1 ushort A NULL NULL NULL BTREE
-t1 1 umedium 1 umedium A NULL NULL NULL BTREE
-t1 1 ulong 1 ulong A NULL NULL NULL BTREE
-t1 1 ulonglong 1 ulonglong A NULL NULL NULL BTREE
-t1 1 ulonglong 2 ulong A NULL NULL NULL BTREE
-t1 1 options 1 options A NULL NULL NULL BTREE
-t1 1 options 2 flags A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 auto A 0 NULL NULL BTREE NO
+t1 1 utiny 1 utiny A NULL NULL NULL BTREE NO
+t1 1 tiny 1 tiny A NULL NULL NULL BTREE NO
+t1 1 short 1 short A NULL NULL NULL BTREE NO
+t1 1 any_name 1 medium A NULL NULL NULL BTREE NO
+t1 1 longlong 1 longlong A NULL NULL NULL BTREE NO
+t1 1 real_float 1 real_float A NULL NULL NULL BTREE NO
+t1 1 ushort 1 ushort A NULL NULL NULL BTREE NO
+t1 1 umedium 1 umedium A NULL NULL NULL BTREE NO
+t1 1 ulong 1 ulong A NULL NULL NULL BTREE NO
+t1 1 ulonglong 1 ulonglong A NULL NULL NULL BTREE NO
+t1 1 ulonglong 2 ulong A NULL NULL NULL BTREE NO
+t1 1 options 1 options A NULL NULL NULL BTREE NO
+t1 1 options 2 flags A NULL NULL NULL BTREE NO
CREATE UNIQUE INDEX test on t1 ( auto ) ;
CREATE INDEX test2 on t1 ( ulonglong,ulong) ;
Warnings:
diff --git a/mysql-test/main/type_year.test b/mysql-test/main/type_year.test
index 0f1f49be5d0..09538fab805 100644
--- a/mysql-test/main/type_year.test
+++ b/mysql-test/main/type_year.test
@@ -2,6 +2,8 @@
# Test year
#
+--enable_prepare_warnings
+
create table t1 (y year,y2 year(2));
insert into t1 values (0,0),(1999,1999),(2000,2000),(2001,2001),(70,70),(69,69);
select * from t1;
@@ -372,7 +374,7 @@ SELECT MAX(NULLIF(a, 1970)) AS f FROM t1;
--enable_ps_protocol
DROP TABLE t1;
-
+--disable_prepare_warnings
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/main/union.result b/mysql-test/main/union.result
index fb1a2e35eb2..c0a45a2ac14 100644
--- a/mysql-test/main/union.result
+++ b/mysql-test/main/union.result
@@ -1273,8 +1273,8 @@ c ENUM("one", "two")
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` enum('ä','ö','ü') CHARACTER SET utf8 NOT NULL DEFAULT 'ü',
- `b` enum('one','two') CHARACTER SET utf8 DEFAULT NULL,
+ `a` enum('ä','ö','ü') CHARACTER SET utf8mb3 NOT NULL DEFAULT 'ü',
+ `b` enum('one','two') CHARACTER SET utf8mb3 DEFAULT NULL,
`c` enum('one','two') DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
insert into t1 values ('ä', 'one', 'one'), ('ö', 'two', 'one'), ('ü', NULL, NULL);
@@ -1445,9 +1445,9 @@ t2 CREATE TABLE `t2` (
`f3` binary(1) DEFAULT NULL,
`f4` binary(5) DEFAULT NULL,
`f5` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
- `f6` varchar(1) CHARACTER SET utf8 DEFAULT NULL,
+ `f6` varchar(1) CHARACTER SET utf8mb3 DEFAULT NULL,
`f7` text DEFAULT NULL,
- `f8` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `f8` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
CREATE TABLE t1
@@ -1465,10 +1465,10 @@ SELECT c_varchar, c_varchar, c_varchar, c_varchar FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `c_tinytext` text CHARACTER SET utf8 DEFAULT NULL,
- `c_text` mediumtext CHARACTER SET utf8 DEFAULT NULL,
- `c_mediumtext` longtext CHARACTER SET utf8 DEFAULT NULL,
- `c_longtext` longtext CHARACTER SET utf8 DEFAULT NULL
+ `c_tinytext` text CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c_text` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c_mediumtext` longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ `c_longtext` longtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
diff --git a/mysql-test/main/union.test b/mysql-test/main/union.test
index a7adc347a53..a34e76591ec 100644
--- a/mysql-test/main/union.test
+++ b/mysql-test/main/union.test
@@ -93,6 +93,7 @@ select 1 as a,(select a union select a);
SELECT @a:=1 UNION SELECT @a:=@a+1;
--error 1054
(SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a);
+--sorted_result
(SELECT 1,3) UNION (SELECT 2,1) ORDER BY (SELECT 2);
#
@@ -986,7 +987,9 @@ DROP TABLE t1;
(select 1) union (select 1 into @var);
--error ER_PARSE_ERROR
(select 2) union (select 1 into @var);
+--enable_prepare_warnings
(select 1) union (select 1) into @var;
+--disable_prepare_warnings
--error ER_TOO_MANY_ROWS
(select 2) union (select 1) into @var;
@@ -1114,9 +1117,11 @@ SELECT a FROM t1 UNION SELECT a INTO @v FROM t1;
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1;
--error ER_PARSE_ERROR
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
+--enable_prepare_warnings
SELECT a FROM t1 UNION SELECT a FROM t1 INTO @v ;
SELECT a FROM t1 UNION SELECT a FROM t1 INTO OUTFILE 'union.out.file5';
SELECT a FROM t1 UNION SELECT a FROM t1 INTO OUTFILE 'union.out.file6';
+--disable_prepare_warnings
--error ER_PARSE_ERROR
SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
--error ER_PARSE_ERROR
diff --git a/mysql-test/main/update_use_source.result b/mysql-test/main/update_use_source.result
index 9e43b54d81c..2774e7ee92d 100644
--- a/mysql-test/main/update_use_source.result
+++ b/mysql-test/main/update_use_source.result
@@ -1,4 +1,4 @@
-create table t1 (old_c1 integer, old_c2 integer,c1 integer, c2 integer, c3 integer) engine=InnoDb;
+create table t1 (old_c1 integer, old_c2 integer,c1 integer, c2 integer, c3 integer) engine=InnoDB STATS_PERSISTENT=0;
create view v1 as select * from t1 where c2=2;
create trigger trg_t1 before update on t1 for each row
begin
diff --git a/mysql-test/main/update_use_source.test b/mysql-test/main/update_use_source.test
index 7ed5f95d68d..d446bd512dd 100644
--- a/mysql-test/main/update_use_source.test
+++ b/mysql-test/main/update_use_source.test
@@ -1,7 +1,7 @@
--source include/have_sequence.inc
--source include/have_innodb.inc
-create table t1 (old_c1 integer, old_c2 integer,c1 integer, c2 integer, c3 integer) engine=InnoDb;
+create table t1 (old_c1 integer, old_c2 integer,c1 integer, c2 integer, c3 integer) engine=InnoDB STATS_PERSISTENT=0;
create view v1 as select * from t1 where c2=2;
delimiter /;
create trigger trg_t1 before update on t1 for each row
diff --git a/mysql-test/main/upgrade.result b/mysql-test/main/upgrade.result
index 887a53887fe..7c6df30fa74 100644
--- a/mysql-test/main/upgrade.result
+++ b/mysql-test/main/upgrade.result
@@ -110,7 +110,7 @@ Database (%a-b-c%)
a-b-c
show create view `a-b-c`.v1;
View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `a`.`f1` AS `f1` from (`a-b-c`.`t1` `a` join `information_schema`.`tables` `b`) where convert(`a`.`f1` using utf8) = `b`.`TABLE_NAME` utf8 utf8_general_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `a`.`f1` AS `f1` from (`a-b-c`.`t1` `a` join `information_schema`.`tables` `b`) where convert(`a`.`f1` using utf8mb3) = `b`.`TABLE_NAME` utf8mb3 utf8mb3_general_ci
select * from `a-b-c`.v1;
f1
drop database `a-b-c`;
diff --git a/mysql-test/main/upgrade_MDEV-19650.result b/mysql-test/main/upgrade_MDEV-19650.result
index 7e8610683e2..bc0ff17028f 100644
--- a/mysql-test/main/upgrade_MDEV-19650.result
+++ b/mysql-test/main/upgrade_MDEV-19650.result
@@ -136,6 +136,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -149,6 +249,8 @@ mysqltest1.save_global_priv OK
mysqltest1.save_proxies_priv OK
mysqltest1.save_tables_priv OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/upgrade_MDEV-23102-1.result b/mysql-test/main/upgrade_MDEV-23102-1.result
index 8caa49180ee..35bcc41bc33 100644
--- a/mysql-test/main/upgrade_MDEV-23102-1.result
+++ b/mysql-test/main/upgrade_MDEV-23102-1.result
@@ -156,6 +156,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -169,6 +269,8 @@ mysqltest1.save_global_priv OK
mysqltest1.save_proxies_priv OK
mysqltest1.save_tables_priv OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -252,6 +354,106 @@ Error : Unknown storage engine 'InnoDB'
error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -265,6 +467,8 @@ mysqltest1.save_global_priv OK
mysqltest1.save_proxies_priv OK
mysqltest1.save_tables_priv OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/upgrade_MDEV-23102-2.result b/mysql-test/main/upgrade_MDEV-23102-2.result
index 4702fae812f..c6d4aaf31a9 100644
--- a/mysql-test/main/upgrade_MDEV-23102-2.result
+++ b/mysql-test/main/upgrade_MDEV-23102-2.result
@@ -140,6 +140,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -153,6 +253,8 @@ mysqltest1.save_global_priv OK
mysqltest1.save_proxies_priv OK
mysqltest1.save_tables_priv OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
@@ -228,6 +330,106 @@ Error : Unknown storage engine 'InnoDB'
error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -241,6 +443,8 @@ mysqltest1.save_global_priv OK
mysqltest1.save_proxies_priv OK
mysqltest1.save_tables_priv OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/upgrade_geometrycolumn_procedure_definer.result b/mysql-test/main/upgrade_geometrycolumn_procedure_definer.result
index 58cd91f706d..8965b8a16f4 100644
--- a/mysql-test/main/upgrade_geometrycolumn_procedure_definer.result
+++ b/mysql-test/main/upgrade_geometrycolumn_procedure_definer.result
@@ -86,6 +86,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -95,6 +195,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/upgrade_mdev_24363.result b/mysql-test/main/upgrade_mdev_24363.result
index d507193088e..50fc2d7bcc3 100644
--- a/mysql-test/main/upgrade_mdev_24363.result
+++ b/mysql-test/main/upgrade_mdev_24363.result
@@ -100,6 +100,106 @@ error : Corrupt
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mysql.user OK
+sys.host_summary OK
+sys.host_summary_by_file_io OK
+sys.host_summary_by_file_io_type OK
+sys.host_summary_by_stages OK
+sys.host_summary_by_statement_latency OK
+sys.host_summary_by_statement_type OK
+sys.innodb_buffer_stats_by_schema OK
+sys.innodb_buffer_stats_by_table OK
+sys.innodb_lock_waits OK
+sys.io_by_thread_by_latency OK
+sys.io_global_by_file_by_bytes OK
+sys.io_global_by_file_by_latency OK
+sys.io_global_by_wait_by_bytes OK
+sys.io_global_by_wait_by_latency OK
+sys.latest_file_io OK
+sys.memory_by_host_by_current_bytes OK
+sys.memory_by_thread_by_current_bytes OK
+sys.memory_by_user_by_current_bytes OK
+sys.memory_global_by_current_bytes OK
+sys.memory_global_total OK
+sys.metrics OK
+sys.processlist OK
+sys.ps_check_lost_instrumentation OK
+sys.schema_auto_increment_columns OK
+sys.schema_index_statistics OK
+sys.schema_object_overview OK
+sys.schema_redundant_indexes OK
+sys.schema_table_lock_waits OK
+sys.schema_table_statistics OK
+sys.schema_table_statistics_with_buffer OK
+sys.schema_tables_with_full_table_scans OK
+sys.schema_unused_indexes OK
+sys.session OK
+sys.session_ssl_status OK
+sys.statement_analysis OK
+sys.statements_with_errors_or_warnings OK
+sys.statements_with_full_table_scans OK
+sys.statements_with_runtimes_in_95th_percentile OK
+sys.statements_with_sorting OK
+sys.statements_with_temp_tables OK
+sys.user_summary OK
+sys.user_summary_by_file_io OK
+sys.user_summary_by_file_io_type OK
+sys.user_summary_by_stages OK
+sys.user_summary_by_statement_latency OK
+sys.user_summary_by_statement_type OK
+sys.version OK
+sys.wait_classes_global_by_avg_latency OK
+sys.wait_classes_global_by_latency OK
+sys.waits_by_host_by_latency OK
+sys.waits_by_user_by_latency OK
+sys.waits_global_by_latency OK
+sys.x$host_summary OK
+sys.x$host_summary_by_file_io OK
+sys.x$host_summary_by_file_io_type OK
+sys.x$host_summary_by_stages OK
+sys.x$host_summary_by_statement_latency OK
+sys.x$host_summary_by_statement_type OK
+sys.x$innodb_buffer_stats_by_schema OK
+sys.x$innodb_buffer_stats_by_table OK
+sys.x$innodb_lock_waits OK
+sys.x$io_by_thread_by_latency OK
+sys.x$io_global_by_file_by_bytes OK
+sys.x$io_global_by_file_by_latency OK
+sys.x$io_global_by_wait_by_bytes OK
+sys.x$io_global_by_wait_by_latency OK
+sys.x$latest_file_io OK
+sys.x$memory_by_host_by_current_bytes OK
+sys.x$memory_by_thread_by_current_bytes OK
+sys.x$memory_by_user_by_current_bytes OK
+sys.x$memory_global_by_current_bytes OK
+sys.x$memory_global_total OK
+sys.x$processlist OK
+sys.x$ps_digest_95th_percentile_by_avg_us OK
+sys.x$ps_digest_avg_latency_distribution OK
+sys.x$ps_schema_table_statistics_io OK
+sys.x$schema_flattened_keys OK
+sys.x$schema_index_statistics OK
+sys.x$schema_table_lock_waits OK
+sys.x$schema_table_statistics OK
+sys.x$schema_table_statistics_with_buffer OK
+sys.x$schema_tables_with_full_table_scans OK
+sys.x$session OK
+sys.x$statement_analysis OK
+sys.x$statements_with_errors_or_warnings OK
+sys.x$statements_with_full_table_scans OK
+sys.x$statements_with_runtimes_in_95th_percentile OK
+sys.x$statements_with_sorting OK
+sys.x$statements_with_temp_tables OK
+sys.x$user_summary OK
+sys.x$user_summary_by_file_io OK
+sys.x$user_summary_by_file_io_type OK
+sys.x$user_summary_by_stages OK
+sys.x$user_summary_by_statement_latency OK
+sys.x$user_summary_by_statement_type OK
+sys.x$wait_classes_global_by_avg_latency OK
+sys.x$wait_classes_global_by_latency OK
+sys.x$waits_by_host_by_latency OK
+sys.x$waits_by_user_by_latency OK
+sys.x$waits_global_by_latency OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
@@ -109,6 +209,8 @@ mtr
mtr.global_suppressions OK
mtr.test_suppressions OK
performance_schema
+sys
+sys.sys_config OK
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
diff --git a/mysql-test/main/user_var.result b/mysql-test/main/user_var.result
index 7b4c8e0b66e..de339b4b037 100644
--- a/mysql-test/main/user_var.result
+++ b/mysql-test/main/user_var.result
@@ -368,13 +368,18 @@ select @rownum := @rownum + 1 as row,
from t1 order by score desc;
drop table t1;
create table t1(b bigint);
-insert into t1 (b) values (10), (30), (10);
+insert into t1 (b) values (10), (30), (10), (10);
+set @var := 0;
+explain select if(b=@var, 999, b) , @var := b 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 4 Using temporary; Using filesort
set @var := 0;
select if(b=@var, 999, b) , @var := b from t1 order by b;
if(b=@var, 999, b) @var := b
10 10
-999 10
+10 10
30 30
+999 10
drop table t1;
create temporary table t1 (id int);
insert into t1 values (2), (3), (3), (4);
diff --git a/mysql-test/main/user_var.test b/mysql-test/main/user_var.test
index 54ceb8fd3a5..d7a1cae126c 100644
--- a/mysql-test/main/user_var.test
+++ b/mysql-test/main/user_var.test
@@ -264,8 +264,11 @@ drop table t1;
#
create table t1(b bigint);
-insert into t1 (b) values (10), (30), (10);
+insert into t1 (b) values (10), (30), (10), (10);
set @var := 0;
+explain select if(b=@var, 999, b) , @var := b from t1 order by b;
+set @var := 0;
+--sorted_result
select if(b=@var, 999, b) , @var := b from t1 order by b;
drop table t1;
diff --git a/mysql-test/main/userstat.test b/mysql-test/main/userstat.test
index 6d486810db1..5691a2dc890 100644
--- a/mysql-test/main/userstat.test
+++ b/mysql-test/main/userstat.test
@@ -7,7 +7,9 @@
-- source include/have_log_bin.inc
-- source include/have_perfschema.inc
+--enable_prepare_warnings
select variable_value from information_schema.global_status where variable_name="handler_read_key" into @global_read_key;
+--disable_prepare_warnings
show columns from information_schema.client_statistics;
show columns from information_schema.user_statistics;
show columns from information_schema.index_statistics;
diff --git a/mysql-test/main/variables.result b/mysql-test/main/variables.result
index 5a5247cf05e..49af27b8a5f 100644
--- a/mysql-test/main/variables.result
+++ b/mysql-test/main/variables.result
@@ -859,7 +859,7 @@ select @@max_heap_table_size > 0;
1
select @@character_set_system;
@@character_set_system
-utf8
+utf8mb3
set global character_set_system = latin1;
ERROR HY000: Variable 'character_set_system' is a read only variable
set @@global.version_compile_os='234';
@@ -1390,7 +1390,7 @@ Warning 1292 Truncated incorrect expire_logs_days value: '-1'
needs to've been adjusted (0)
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-0
+0.000000
SET GLOBAL expire_logs_days = 11;
SET @old_mode=@@sql_mode;
SET SESSION sql_mode = 'TRADITIONAL';
@@ -1399,7 +1399,7 @@ ERROR 42000: Variable 'expire_logs_days' can't be set to the value of '100'
needs to be unchanged (11)
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-11
+11.000000
SET SESSION sql_mode = @old_mode;
SET GLOBAL expire_logs_days = 100;
Warnings:
@@ -1407,13 +1407,13 @@ Warning 1292 Truncated incorrect expire_logs_days value: '100'
needs to've been adjusted (99)
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET GLOBAL expire_logs_days = 11;
SET GLOBAL expire_logs_days = 99;
needs to pass with no warnings (99)
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET GLOBAL expire_logs_days = @old_eld;
SET GLOBAL auto_increment_offset=-1;
Warnings:
diff --git a/mysql-test/main/view.result b/mysql-test/main/view.result
index f1d1f07bd09..712b8629c09 100644
--- a/mysql-test/main/view.result
+++ b/mysql-test/main/view.result
@@ -610,7 +610,7 @@ insert into t1 values(5,'Hello, world of views');
create view v1 as select * from t1;
create view v2 as select * from v1;
update v2 set col2='Hello, view world';
-select is_updatable from information_schema.views;
+select is_updatable from information_schema.views where table_schema <> 'sys';
is_updatable
YES
YES
@@ -2899,10 +2899,10 @@ DROP VIEW IF EXISTS v2;
CREATE TABLE t1(a INT, b INT);
CREATE DEFINER=longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost
VIEW v1 AS SELECT a FROM t1;
-ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 128)
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
VIEW v2 AS SELECT b FROM t1;
-ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
+ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYa...' is too long for host name (should be no longer than 255)
DROP TABLE t1;
DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
@@ -3670,7 +3670,7 @@ c1 c2
2 2
CREATE VIEW v1 AS SELECT c1, c2 FROM t1;
SHOW INDEX FROM v1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
SELECT * FROM v1 USE INDEX (PRIMARY) WHERE c1=2;
ERROR 42000: Key 'PRIMARY' doesn't exist in table 'v1'
SELECT * FROM v1 FORCE INDEX (PRIMARY) WHERE c1=2;
@@ -6891,4 +6891,34 @@ ERROR 42S22: Unknown column 't1.x' in 'on clause'
CREATE TABLE t4 AS SELECT * FROM t1 JOIN t2 ON t1.x > t2.b;
ERROR 42S22: Unknown column 't1.x' in 'on clause'
DROP TABLE t1,t2,t3;
+#
# End of 10.4 tests
+#
+#
+# MDEV-13115: SELECT .. SKIP LOCKED - ensure SHOW CREATE VIEW is correct
+#
+CREATE TABLE t1 (id int, foo int);
+CREATE VIEW v1 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 LOCK IN SHARE MODE;
+CREATE VIEW v2 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 FOR UPDATE;
+CREATE VIEW v3 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 LOCK IN SHARE MODE SKIP LOCKED;
+CREATE VIEW v4 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 FOR UPDATE SKIP LOCKED;
+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`.`id` AS `id`,ifnull(`t1`.`foo`,'') AS `foo` from `t1` lock in share mode 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`.`id` AS `id`,ifnull(`t1`.`foo`,'') AS `foo` from `t1` for update latin1 latin1_swedish_ci
+SHOW CREATE VIEW v3;
+View Create View character_set_client collation_connection
+v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`id` AS `id`,ifnull(`t1`.`foo`,'') AS `foo` from `t1` lock in share mode skip locked 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`.`id` AS `id`,ifnull(`t1`.`foo`,'') AS `foo` from `t1` for update skip locked latin1 latin1_swedish_ci
+Drop View v1;
+Drop View v2;
+Drop View v3;
+Drop View v4;
+Drop table t1;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/main/view.test b/mysql-test/main/view.test
index c4de2e6eb03..49b339c9f4c 100644
--- a/mysql-test/main/view.test
+++ b/mysql-test/main/view.test
@@ -500,7 +500,7 @@ insert into t1 values(5,'Hello, world of views');
create view v1 as select * from t1;
create view v2 as select * from v1;
update v2 set col2='Hello, view world';
-select is_updatable from information_schema.views;
+select is_updatable from information_schema.views where table_schema <> 'sys';
select * from t1;
drop view v2, v1;
drop table t1;
@@ -2280,6 +2280,7 @@ CREATE VIEW v1 AS SELECT 42 AS Meaning;
DROP FUNCTION IF EXISTS f1;
--enable_warnings
DELIMITER //;
+--enable_prepare_warnings
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
DECLARE retn INTEGER;
@@ -2288,6 +2289,7 @@ BEGIN
END
//
DELIMITER ;//
+--disable_prepare_warnings
CREATE VIEW v2 AS SELECT f1();
select * from v2;
drop view v2,v1;
@@ -2464,6 +2466,7 @@ drop view t1, v1;
# using SP function
create table t1 (a int);
delimiter //;
+--enable_prepare_warnings
create function f1() returns int
begin
declare mx int;
@@ -2471,6 +2474,7 @@ begin
return mx;
end//
delimiter ;//
+--disable_prepare_warnings
create view v1 as select f1() as a;
create view v2 as select * from v1;
drop table t1;
@@ -2800,7 +2804,7 @@ CREATE DEFINER=longer_than_80_45678901234567890123456789012345678901234567890123
VIEW v1 AS SELECT a FROM t1;
--error ER_WRONG_STRING_LENGTH
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYabcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
VIEW v2 AS SELECT b FROM t1;
# Cleanup.
@@ -3069,7 +3073,9 @@ create view v1 as select * from t1 order by f2;
select * from v1;
explain extended select * from v1;
select * from v1 order by f1;
+--enable_prepare_warnings
explain extended select * from v1 order by f1;
+--disable_prepare_warnings
drop view v1;
drop table t1;
@@ -3103,12 +3109,13 @@ DROP VIEW IF EXISTS v1;
let $query = SELECT * FROM (SELECT 1) AS t into @w;
+--enable_prepare_warnings
eval $query;
--error ER_PARSE_ERROR
eval CREATE VIEW v1 AS $query;
--echo # Previously the following would fail.
eval $query;
-
+--disable_prepare_warnings
#
# Bug#24532 The return data type of IS TRUE is different from similar operations
@@ -3871,11 +3878,13 @@ CREATE TABLE t1 (a INT);
CREATE TABLE t2 (a INT);
delimiter //;
+--enable_prepare_warnings
CREATE FUNCTION f1() RETURNS INT
BEGIN
SELECT a FROM v2 INTO @a;
RETURN @a;
END//
+--disable_prepare_warnings
delimiter ;//
--echo # Trigger pre-locking when opening v2.
@@ -4409,7 +4418,9 @@ CREATE ALGORITHM=TEMPTABLE VIEW v1 AS SELECT f1 FROM t1;
CREATE ALGORITHM=MERGE VIEW v2 AS SELECT f1 FROM v1 ORDER BY f1;
SELECT * FROM v2 AS a1, v2 AS a2;
+--enable_prepare_warnings
EXPLAIN EXTENDED SELECT * FROM v2 AS a1, v2 AS a2;
+--disable_prepare_warnings
DROP VIEW v1, v2;
DROP TABLE t1;
@@ -6614,4 +6625,34 @@ CREATE TABLE t4 AS SELECT * FROM t1 JOIN t2 ON t1.x > t2.b;
DROP TABLE t1,t2,t3;
+--echo #
--echo # End of 10.4 tests
+--echo #
+
+--echo #
+--echo # MDEV-13115: SELECT .. SKIP LOCKED - ensure SHOW CREATE VIEW is correct
+--echo #
+
+# Note: MDEV-10063 - LOCK IN SHARE MODE/FOR UPDATE/SKIP LOCKED ignored in views
+
+CREATE TABLE t1 (id int, foo int);
+CREATE VIEW v1 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 LOCK IN SHARE MODE;
+CREATE VIEW v2 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 FOR UPDATE;
+CREATE VIEW v3 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 LOCK IN SHARE MODE SKIP LOCKED;
+CREATE VIEW v4 AS SELECT id, IFNULL(foo,'') AS foo FROM t1 FOR UPDATE SKIP LOCKED;
+
+SHOW CREATE VIEW v1;
+SHOW CREATE VIEW v2;
+SHOW CREATE VIEW v3;
+SHOW CREATE VIEW v4;
+
+#Cleanup
+Drop View v1;
+Drop View v2;
+Drop View v3;
+Drop View v4;
+Drop table t1;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/main/view_grant.result b/mysql-test/main/view_grant.result
index f091d4de2d1..c31ba882e76 100644
--- a/mysql-test/main/view_grant.result
+++ b/mysql-test/main/view_grant.result
@@ -1954,3 +1954,18 @@ connection default;
drop user user_11766767;
drop database mysqltest1;
drop database mysqltest2;
+# Check that a user without access to the schema 'foo' cannot query
+# a JSON_TABLE view in that schema.
+CREATE SCHEMA foo;
+CREATE VIEW foo.v AS SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+CREATE USER foo@localhost;
+connect con1,localhost,foo,,;
+SELECT * FROM foo.v;
+ERROR 42000: SELECT command denied to user 'foo'@'localhost' for table 'v'
+#
+# Clean-up.
+#
+connection default;
+disconnect con1;
+drop user foo@localhost;
+drop schema foo;
diff --git a/mysql-test/main/view_grant.test b/mysql-test/main/view_grant.test
index c9bb9569145..83bbeb3be77 100644
--- a/mysql-test/main/view_grant.test
+++ b/mysql-test/main/view_grant.test
@@ -494,10 +494,12 @@ create table t2 (s1 int);
--disable_warnings
drop function if exists f2;
--enable_warnings
+--enable_prepare_warnings
delimiter //;
create function f2 () returns int begin declare v int; select s1 from t2
into v; return v; end//
delimiter ;//
+--disable_prepare_warnings
create algorithm=TEMPTABLE view v1 as select f2() from t1;
create algorithm=MERGE view v2 as select f2() from t1;
create algorithm=TEMPTABLE SQL SECURITY INVOKER view v3 as select f2() from t1;
@@ -548,10 +550,12 @@ create table t2 (s1 int);
--disable_warnings
drop function if exists f2;
--enable_warnings
+--enable_prepare_warnings
delimiter //;
create function f2 () returns int begin declare v int; select s1 from t2
into v; return v; end//
delimiter ;//
+--disable_prepare_warnings
create user mysqltest_1@localhost;
grant select on t1 to mysqltest_1@localhost;
grant execute on function f2 to mysqltest_1@localhost;
@@ -2205,5 +2209,24 @@ drop user user_11766767;
drop database mysqltest1;
drop database mysqltest2;
+--echo # Check that a user without access to the schema 'foo' cannot query
+--echo # a JSON_TABLE view in that schema.
+CREATE SCHEMA foo;
+CREATE VIEW foo.v AS SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+
+CREATE USER foo@localhost;
+connect (con1,localhost,foo,,);
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT * FROM foo.v;
+
+--echo #
+--echo # Clean-up.
+--echo #
+connection default;
+disconnect con1;
+drop user foo@localhost;
+drop schema foo;
+
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
+
diff --git a/mysql-test/main/win.result b/mysql-test/main/win.result
index 1f2b70b1a5a..1bd08788cbd 100644
--- a/mysql-test/main/win.result
+++ b/mysql-test/main/win.result
@@ -4273,11 +4273,14 @@ GROUP BY
LEFT((SYSDATE()), 'foo')
WITH ROLLUP;
SUM(b) OVER (PARTITION BY a) ROW_NUMBER() OVER (PARTITION BY b)
-NULL 1
-NULL 1
+0 1
+0 2
Warnings:
Warning 1292 Truncated incorrect INTEGER value: 'foo'
Warning 1292 Truncated incorrect INTEGER value: 'foo'
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+Warning 1292 Truncated incorrect DOUBLE value: 'bar'
+Warning 1292 Truncated incorrect DOUBLE value: 'bar'
drop table t1;
#
#
diff --git a/mysql-test/main/win_big-mdev-11697.result b/mysql-test/main/win_big-mdev-11697.result
index ec9d2243c88..e8034e67aaf 100644
--- a/mysql-test/main/win_big-mdev-11697.result
+++ b/mysql-test/main/win_big-mdev-11697.result
@@ -1,3 +1,4 @@
+set max_recursive_iterations=200000;
create table test_table (id int, random_data varchar(36), static_int int, static_varchar varchar(10));
insert into test_table(id, random_data, static_int, static_varchar)
select id, random_data, 42, 'Hello'
@@ -71,3 +72,4 @@ where variable_name like 'Sort_merge_passes';
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
SORT_MERGE_PASSES WITH PASSES
drop table test_table;
+set max_recursive_iterations=default;
diff --git a/mysql-test/main/win_big-mdev-11697.test b/mysql-test/main/win_big-mdev-11697.test
index 7103b8522be..9488a938554 100644
--- a/mysql-test/main/win_big-mdev-11697.test
+++ b/mysql-test/main/win_big-mdev-11697.test
@@ -1,3 +1,4 @@
+set max_recursive_iterations=200000;
create table test_table (id int, random_data varchar(36), static_int int, static_varchar varchar(10));
insert into test_table(id, random_data, static_int, static_varchar)
@@ -48,3 +49,4 @@ from information_schema.session_status
where variable_name like 'Sort_merge_passes';
drop table test_table;
+set max_recursive_iterations=default;
diff --git a/mysql-test/main/xa.result b/mysql-test/main/xa.result
index 75f32a1a0aa..54763729e57 100644
--- a/mysql-test/main/xa.result
+++ b/mysql-test/main/xa.result
@@ -305,7 +305,8 @@ INSERT INTO t2 VALUES (1);
COMMIT;
BEGIN;
INSERT INTO t2 VALUES (2);
-UPDATE t2 SET a=a+1;
+UPDATE t2 SET a=a+2;
+UPDATE t2 SET a=a-1;
connect con2,localhost,root;
XA START 'xid1';
INSERT INTO t1 VALUES (1);
diff --git a/mysql-test/main/xa.test b/mysql-test/main/xa.test
index 408c7e01c9d..7cb6d46d112 100644
--- a/mysql-test/main/xa.test
+++ b/mysql-test/main/xa.test
@@ -401,7 +401,8 @@ CREATE TABLE t2 (a INT) ENGINE=InnoDB;
INSERT INTO t2 VALUES (1); COMMIT;
BEGIN;
INSERT INTO t2 VALUES (2);
-UPDATE t2 SET a=a+1;
+UPDATE t2 SET a=a+2;
+UPDATE t2 SET a=a-1;
--connect (con2,localhost,root)
XA START 'xid1';
diff --git a/mysql-test/main/xa_prepared_binlog_off.result b/mysql-test/main/xa_prepared_binlog_off.result
index ca19f6cdfaf..ebcb24d3af3 100644
--- a/mysql-test/main/xa_prepared_binlog_off.result
+++ b/mysql-test/main/xa_prepared_binlog_off.result
@@ -3,6 +3,7 @@ connection default;
CREATE VIEW v_processlist as SELECT * FROM performance_schema.threads where type = 'FOREGROUND';
call mtr.add_suppression("Found 10 prepared XA transactions");
CREATE TABLE t (a INT) ENGINE=innodb;
+INSERT INTO t VALUES(100);
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
@@ -48,18 +49,21 @@ connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1ro';
SELECT * from t ORDER BY a;
a
+100
XA END 'trx1ro';
XA PREPARE 'trx1ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx2ro';
SELECT * from t ORDER BY a;
a
+100
XA END 'trx2ro';
XA PREPARE 'trx2ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx3ro';
SELECT * from t ORDER BY a;
a
+100
XA END 'trx3ro';
XA PREPARE 'trx3ro';
connection default;
@@ -402,6 +406,7 @@ ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_19';
SELECT * FROM t;
a
+100
5
6
7
@@ -533,6 +538,7 @@ a
12
13
14
+100
XA END 'trx1ro';
XA PREPARE 'trx1ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
@@ -559,6 +565,7 @@ a
12
13
14
+100
XA END 'trx2ro';
XA PREPARE 'trx2ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
@@ -585,6 +592,7 @@ a
12
13
14
+100
XA END 'trx3ro';
XA PREPARE 'trx3ro';
connection default;
@@ -927,6 +935,7 @@ ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_19';
SELECT * FROM t;
a
+100
5
6
7
@@ -1036,7 +1045,7 @@ XA END 'one_phase_trx_4';
XA COMMIT 'one_phase_trx_4' ONE PHASE;
SELECT SUM(a) FROM t;
SUM(a)
-290
+390
DROP TABLE t;
DROP VIEW v_processlist;
All transactions must be completed, to empty-list the following:
diff --git a/mysql-test/mysql-stress-test.pl b/mysql-test/mariadb-stress-test.pl
index 3ccf965024d..3ccf965024d 100755
--- a/mysql-test/mysql-stress-test.pl
+++ b/mysql-test/mariadb-stress-test.pl
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mariadb-test-run.pl
index b9c7823d1ab..1449d3ecb9a 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mariadb-test-run.pl
@@ -35,7 +35,7 @@ use warnings;
BEGIN {
# Check that mysql-test-run.pl is started from mysql-test/
- unless ( -f "mysql-test-run.pl" )
+ unless ( -f "mariadb-test-run.pl" )
{
print "**** ERROR **** ",
"You must start mysql-test-run from the mysql-test/ directory\n";
@@ -57,10 +57,10 @@ BEGIN {
if ( $version == 1 )
{
print "=======================================================\n";
- print " WARNING: Using mysql-test-run.pl version 1! \n";
+ print " WARNING: Using mariadb-test-run.pl version 1! \n";
print "=======================================================\n";
# Should use exec() here on *nix but this appears not to work on Windows
- exit(system($^X, "lib/v1/mysql-test-run.pl", @ARGV) >> 8);
+ exit(system($^X, "lib/v1/mariadb-test-run.pl", @ARGV) >> 8);
}
elsif ( $version == 2 )
{
@@ -69,7 +69,7 @@ BEGIN {
}
else
{
- print "ERROR: Version $version of mysql-test-run does not exist!\n";
+ print "ERROR: Version $version of mariadb-test-run does not exist!\n";
exit(1);
}
}
@@ -175,6 +175,7 @@ our $multiconfig = $ENV{'MTR_VS_CONFIG'};
my @DEFAULT_SUITES= qw(
main-
archive-
+ atomic-
binlog-
binlog_encryption-
client-
@@ -211,6 +212,7 @@ my @DEFAULT_SUITES= qw(
vcol-
versioning-
period-
+ sysschema-
);
my $opt_suites;
@@ -242,7 +244,7 @@ my $opt_ssl;
my $opt_skip_ssl;
my @opt_skip_test_list;
our $opt_ssl_supported;
-my $opt_ps_protocol;
+our $opt_ps_protocol;
my $opt_sp_protocol;
my $opt_cursor_protocol;
my $opt_view_protocol;
@@ -507,6 +509,12 @@ sub main {
}
if ( not @$completed ) {
+ my $test_name= mtr_grab_file($path_current_testlog);
+ $test_name =~ s/^CURRENT_TEST:\s//;
+ my $tinfo = My::Test->new(name => $test_name);
+ $tinfo->{result}= 'MTR_RES_FAILED';
+ $tinfo->{logfile}=$path_current_testlog;
+ mtr_report_test($tinfo);
mtr_error("Test suite aborted");
}
@@ -1031,7 +1039,7 @@ sub print_global_resfile {
resfile_global("compress", $opt_compress ? 1 : 0);
resfile_global("parallel", $opt_parallel);
resfile_global("check-testcases", $opt_check_testcases ? 1 : 0);
- resfile_global("mysqld", \@opt_extra_mysqld_opt);
+ resfile_global("mariadbd", \@opt_extra_mysqld_opt);
resfile_global("debug", $opt_debug ? 1 : 0);
resfile_global("gcov", $opt_gcov ? 1 : 0);
resfile_global("gprof", $opt_gprof ? 1 : 0);
@@ -1049,7 +1057,7 @@ sub print_global_resfile {
resfile_global("shutdown-timeout", $opt_shutdown_timeout ? 1 : 0);
resfile_global("warnings", $opt_warnings ? 1 : 0);
resfile_global("max-connections", $opt_max_connections);
- resfile_global("product", "MySQL");
+ resfile_global("product", "MariaDB");
resfile_global("xml-report", $opt_xml_report);
# Somewhat hacky code to convert numeric version back to dot notation
my $v1= int($mysql_version_id / 10000);
@@ -1113,7 +1121,10 @@ sub command_line_setup {
'check-testcases!' => \$opt_check_testcases,
'mark-progress' => \$opt_mark_progress,
- # Extra options used when starting mysqld
+ # Extra options used when starting mariadbd
+ 'mariadbd=s' => \@opt_extra_mysqld_opt,
+ 'mariadbd-env=s' => \@opt_mysqld_envs,
+ # mysqld is an alias for mariadbd
'mysqld=s' => \@opt_extra_mysqld_opt,
'mysqld-env=s' => \@opt_mysqld_envs,
@@ -1735,8 +1746,15 @@ sub collect_mysqld_features {
# Enable or disable ARCHIVE plugin. Possible values are ON, OFF,
# FORCE (don't start if the plugin fails to load),
# FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not be uninstalled).
+ # For Innodb I_S plugins that are referenced in sys schema
+ # do not make them optional, to prevent diffs in tests.
push @optional_plugins, $1
- if /^ --([-a-z0-9]+)\[=name\] +Enable or disable \w+ plugin. One of: ON, OFF, FORCE/;
+ if /^ --([-a-z0-9]+)\[=name\] +Enable or disable \w+ plugin. One of: ON, OFF, FORCE/
+ and $1 ne "innodb-metrics"
+ and $1 ne "innodb-buffer-page"
+ and $1 ne "innodb-lock-waits"
+ and $1 ne "innodb-locks"
+ and $1 ne "innodb-trx";
next;
}
@@ -2110,7 +2128,7 @@ sub environment_setup {
$ENV{'EXE_MYSQL'}= $exe_mysql;
$ENV{'MYSQL_PLUGIN'}= $exe_mysql_plugin;
$ENV{'MYSQL_EMBEDDED'}= $exe_mysql_embedded;
- $ENV{'MARIADB_CONV'}= $exe_mariadb_conv;
+ $ENV{'MARIADB_CONV'}= "$exe_mariadb_conv --character-sets-dir=$path_charsetsdir";
if(IS_WINDOWS)
{
$ENV{'MYSQL_INSTALL_DB_EXE'}= mtr_exe_exists("$bindir/sql$multiconfig/mysql_install_db",
@@ -3096,6 +3114,9 @@ sub mysql_install_db {
mtr_appendfile_to_file("$sql_dir/fill_help_tables.sql",
$bootstrap_sql_file);
+ # Append sys schema
+ mtr_appendfile_to_file("$gis_sp_path/mysql_sys_schema.sql",
+ $bootstrap_sql_file);
# Create test database
mtr_appendfile_to_file("$sql_dir/mysql_test_db.sql",
$bootstrap_sql_file);
@@ -3156,7 +3177,7 @@ sub mysql_install_db {
) != 0)
{
my $data= mtr_grab_file($path_bootstrap_log);
- mtr_error("Error executing mysqld --bootstrap\n" .
+ mtr_error("Error executing mariadbd --bootstrap\n" .
"Could not install system database from $bootstrap_sql_file\n" .
"The $path_bootstrap_log file contains:\n$data\n");
}
@@ -4351,6 +4372,7 @@ sub extract_warning_lines ($$) {
qr/Slave SQL thread retried transaction/,
qr/Slave \(additional info\)/,
qr/Incorrect information in file/,
+ qr/Simulating error for/,
qr/Slave I\/O: Get master SERVER_ID failed with error:.*/,
qr/Slave I\/O: Get master clock failed with error:.*/,
qr/Slave I\/O: Get master COLLATION_SERVER failed with error:.*/,
@@ -4385,6 +4407,8 @@ sub extract_warning_lines ($$) {
qr|Linux Native AIO|, # warning that aio does not work on /dev/shm
qr|InnoDB: io_setup\(\) attempt|,
qr|InnoDB: io_setup\(\) failed with EAGAIN|,
+ qr|io_uring_queue_init\(\) failed with|,
+ qr|InnoDB: liburing disabled|,
qr|setrlimit could not change the size of core files to 'infinity';|,
qr|feedback plugin: failed to retrieve the MAC address|,
qr|Plugin 'FEEDBACK' init function returned error|,
@@ -5060,9 +5084,22 @@ sub mysqld_start ($$) {
$mysqld->{'started_opts'}= $extra_opts;
my $expect_file= "$opt_vardir/tmp/".$mysqld->name().".expect";
- return $oldexe eq ($exe || '') ||
+ my $rc= $oldexe eq ($exe || '') ||
sleep_until_file_created($mysqld->value('pid-file'), $expect_file,
- $opt_start_timeout, $mysqld->{'proc'}, $warn_seconds);
+ $opt_start_timeout, $mysqld->{'proc'}, $warn_seconds);
+ if (!$rc)
+ {
+ # Report failure about the last test case before exit
+ my $test_name= mtr_grab_file($path_current_testlog);
+ $test_name =~ s/^CURRENT_TEST:\s//;
+ my $tinfo = My::Test->new(name => $test_name);
+ $tinfo->{result}= 'MTR_RES_FAILED';
+ $tinfo->{failures}= 1;
+ $tinfo->{logfile}=get_log_from_proc($mysqld->{'proc'}, $tinfo->{name});
+ report_option('verbose', 1);
+ mtr_report_test($tinfo);
+ }
+ return $rc;
}
@@ -5777,8 +5814,10 @@ Options for test case authoring
Options that pass on options (these may be repeated)
- mysqld=ARGS Specify additional arguments to "mysqld"
- mysqld-env=VAR=VAL Specify additional environment settings for "mysqld"
+ mariadbd=ARGS Specify additional arguments to "mariadbd"
+ mysqld Alias for mariadbd.
+ mariadbd-env=VAR=VAL Specify additional environment settings for "mariadbd"
+ mysqld-env Alias for mariadbd-env.
Options to run test on running server
@@ -5825,8 +5864,8 @@ Misc options
start-dirty Only start the servers (without initialization) for
the first specified test case
user-args In combination with start* and no test name, drops
- arguments to mysqld except those specified with
- --mysqld (if any)
+ arguments to mariadbd except those specified with
+ --mariadbd (if any)
wait-all If --start or --start-dirty option is used, wait for all
servers to exit before finishing the process
fast Run as fast as possible, don't wait for servers
diff --git a/mysql-test/mtr.out-of-source b/mysql-test/mtr.out-of-source
index 30e2e65c569..abab0be90df 100644
--- a/mysql-test/mtr.out-of-source
+++ b/mysql-test/mtr.out-of-source
@@ -2,4 +2,4 @@
# Call mtr in out-of-source build
$ENV{MTR_BINDIR} = '@CMAKE_BINARY_DIR@';
chdir('@CMAKE_SOURCE_DIR@/mysql-test');
-exit(system($^X, '@CMAKE_SOURCE_DIR@/mysql-test/mysql-test-run.pl', @ARGV) >> 8);
+exit(system($^X, '@CMAKE_SOURCE_DIR@/mysql-test/mariadb-test-run.pl', @ARGV) >> 8);
diff --git a/mysql-test/std_data/cacert.pem b/mysql-test/std_data/cacert.pem
index 23dda2318e1..16d2d68ca6b 100644
--- a/mysql-test/std_data/cacert.pem
+++ b/mysql-test/std_data/cacert.pem
@@ -2,78 +2,120 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number:
- d0:4d:23:85:ee:59:b3:fa
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
+ 5c:81:fd:b9:82:69:e0:46:8d:99:ed:d0:95:4b:d3:d6:62:8a:69:97
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN = cacert, C = FI, ST = Helsinki, L = Helsinki, O = MariaDB
Validity
- Not Before: Jan 27 10:11:10 2019 GMT
- Not After : Jan 22 10:11:10 2039 GMT
- Subject: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
+ Subject: CN = cacert, C = FI, ST = Helsinki, L = Helsinki, O = MariaDB
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:e8:0e:a7:84:d3:75:30:06:30:b2:10:b9:d1:88:
- 36:2b:5e:f8:c8:44:57:cb:67:72:ab:96:95:33:d5:
- 88:d1:8f:23:50:98:ba:6d:20:00:80:bd:35:d5:c1:
- bf:98:49:c4:0a:15:4a:34:a6:21:9b:2e:8c:15:09:
- f0:63:81:02:c2:7c:e2:53:e0:f7:a1:1a:40:5e:8f:
- 41:4a:4c:56:d4:20:f1:d5:a7:c1:53:2e:ff:7e:37:
- 17:cc:7e:74:bd:e2:22:33:ce:8c:77:62:a4:c5:3f:
- 44:35:7b:7e:b9:f5:7d:8c:7a:27:58:fd:2c:42:86:
- 2e:e7:6b:01:99:7b:fe:7d:a7:a1:4f:3e:39:39:54:
- 1f:61:de:74:66:d1:77:4f:43:1b:66:70:29:85:de:
- fc:8f:8e:1b:7b:a2:66:48:26:7f:9b:a6:fd:4a:e4:
- dc:eb:ed:bd:f8:e3:f1:57:98:13:6f:f1:a3:2a:e3:
- 73:bd:8d:7c:6f:4b:59:35:bc:b5:42:3e:99:a7:13:
- 8d:be:2e:5c:9a:c6:5b:ab:ae:bf:00:e9:c8:ee:05:
- 22:8e:d5:67:1a:47:9a:6d:9c:f9:42:3e:15:34:f8:
- 31:ec:b4:7e:d3:92:95:b0:b8:f9:66:f3:bd:1d:31:
- 2c:b1:90:62:a1:f8:4e:a6:5d:26:22:f0:e1:fe:16:
- 2b:69
+ 00:bc:72:01:10:68:c1:df:fa:d1:77:55:7c:09:13:
+ 19:51:41:cd:ed:4f:51:43:22:e7:97:0e:94:fc:0d:
+ 1d:a9:c6:f3:17:79:31:6f:12:7a:9b:7f:87:e2:55:
+ 16:d5:a4:dd:6a:d3:5e:4f:e2:e0:bc:c4:9f:c5:95:
+ 1a:47:13:a5:cd:6d:f3:76:e2:9a:12:31:76:e4:f1:
+ 01:94:37:45:10:32:18:9e:cc:d8:7f:04:ca:18:97:
+ bf:22:2e:51:ba:73:6f:46:50:36:fe:df:82:4c:8a:
+ 9e:34:be:44:f4:12:61:72:18:b3:81:b5:d9:b2:69:
+ 8f:7d:f4:8b:41:62:34:59:71:f7:e4:26:a6:cf:55:
+ 4d:d4:52:a3:37:24:bd:82:21:9f:d1:db:cd:e9:12:
+ a9:cf:60:48:3d:da:ea:a0:a7:d0:57:16:68:49:e5:
+ b4:e8:dc:d0:b0:12:b3:c7:1c:f1:b3:b1:eb:12:8b:
+ c7:3e:3c:02:fe:f6:4c:a8:35:d8:cf:74:64:63:89:
+ 84:3e:75:88:a0:0b:80:5c:ea:68:b2:9c:bb:e3:ae:
+ 4f:cd:24:b9:97:89:95:4e:3f:78:48:ba:ad:97:4c:
+ bf:f8:8b:14:80:f4:78:03:11:4b:a7:e3:99:1c:82:
+ 59:bf:b6:f3:3e:3e:db:db:38:73:91:8d:f0:6f:e5:
+ 5d:02:e7:c0:a5:8b:ad:69:f1:17:29:2c:16:41:ad:
+ ac:0f:64:c8:f7:62:58:da:73:66:f7:91:2c:89:f7:
+ 80:6b:d7:91:f1:c8:4a:5a:c4:2d:3d:0b:18:83:f1:
+ e9:74:2d:83:bb:09:46:bd:f0:40:ad:0b:dd:0c:45:
+ 64:8d:9e:cf:a7:a0:6c:d2:cc:f1:f9:05:15:7a:e3:
+ 02:15:b0:e6:99:cd:81:5b:dd:52:9b:c0:35:25:fa:
+ 4c:88:47:1d:16:19:9f:9d:f0:54:01:6e:20:6a:10:
+ ab:4f:d2:a2:a7:31:db:6d:76:26:0d:35:9d:ac:1f:
+ 4e:4d:37:87:2c:78:26:d4:1f:f0:87:fc:f4:e2:2a:
+ af:9a:a4:d6:69:93:16:4f:ed:fb:e0:78:99:36:49:
+ d2:2e:7d:44:15:94:58:bd:ba:bc:d3:b9:75:5c:58:
+ 13:69:18:8e:5d:0e:c9:0c:dd:06:c4:7b:fc:34:3e:
+ df:51:46:8d:5e:33:40:ba:39:75:9a:29:a5:f0:be:
+ d3:a1:2c:72:88:85:4a:a0:2e:d9:71:15:30:49:57:
+ f4:1b:73:e4:b3:b1:9e:3e:e6:0b:30:0a:eb:e9:cc:
+ ec:98:4c:36:ea:58:8a:aa:b1:4b:b9:e1:5e:4a:d0:
+ 81:65:f0:ba:2c:b0:a6:8e:02:f1:c6:e0:78:b9:49:
+ eb:8e:79
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
- CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ 4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
- X509v3 Basic Constraints:
+ X509v3 Basic Constraints: critical
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
- df:fd:74:29:5b:5e:9a:8b:09:02:40:59:73:cb:71:47:3f:97:
- 3d:a9:fd:c4:8c:01:29:c9:86:b8:71:55:ff:72:0e:50:dc:c8:
- b5:e6:91:41:52:47:21:30:cc:4d:e7:3b:4b:db:55:ea:7d:46:
- eb:53:e0:b7:1b:80:7c:b1:0c:d3:d1:bc:a0:73:ae:96:1f:fd:
- 05:52:7e:54:d5:03:52:69:7b:34:5f:27:d7:98:da:98:76:73:
- e6:bb:50:59:2a:94:90:67:03:1c:a4:76:2f:ee:ef:59:60:09:
- 48:33:03:2b:52:ed:83:42:f8:71:19:7f:d8:be:40:ed:20:01:
- 90:3c:7e:1c:8b:d2:9f:f3:2f:09:1f:50:c8:10:e1:8a:d9:a5:
- 49:9c:0b:74:17:b9:2b:68:f6:1e:73:c2:73:10:38:b3:35:e2:
- 87:91:1b:a1:d1:9b:81:9d:1b:32:cc:03:6e:4c:82:95:81:11:
- 42:56:e2:16:2b:22:65:db:40:2c:ca:dc:03:f4:d5:07:cf:f5:
- 13:b2:cf:51:5b:24:cd:c7:d1:9b:42:8e:f9:df:5d:1e:5a:09:
- a3:4f:a9:0b:f4:21:c5:bb:ff:02:93:67:e8:2d:ee:ab:d9:59:
- 76:03:2c:a1:bd:fb:dc:af:b6:82:94:71:85:53:a8:18:0d:3a:
- 9e:42:eb:59
+ 3c:e7:3a:e8:b6:d1:be:ca:27:ad:02:00:08:b7:1f:2d:e9:cd:
+ 81:9f:98:f0:f0:a4:c5:dd:dc:94:a1:a6:bd:31:56:54:05:6a:
+ da:b1:1b:42:35:ef:f8:75:1c:0d:0f:00:77:24:a7:ef:5f:f1:
+ ce:38:3a:05:a7:22:a6:40:b6:6c:57:46:31:e8:ba:2f:b5:9e:
+ fb:7c:07:93:5c:cb:82:59:1a:2f:13:5b:6d:55:8d:d9:dd:ec:
+ 44:b2:7f:89:26:37:da:fc:e8:aa:af:87:8b:5e:c3:3e:21:c2:
+ a0:ca:2a:49:78:fa:9d:10:5c:e8:2c:24:ac:e8:f3:61:25:cb:
+ 86:6c:8f:1d:4c:2f:83:bd:d4:72:dc:54:1b:fa:3d:1a:d4:54:
+ a9:ac:87:70:ff:cf:53:26:1f:e7:11:bc:b3:89:d0:71:25:09:
+ d9:80:09:42:b1:5a:8d:01:a9:89:1e:2c:cc:89:e7:f8:c2:43:
+ 4b:20:cd:ce:9c:2f:67:99:35:4f:e2:ec:00:07:3d:69:6e:9e:
+ 48:93:d4:56:b1:0b:52:00:d9:86:05:1e:ea:64:68:a1:87:04:
+ 0f:17:45:82:8e:f5:13:7a:90:79:c8:fd:42:e8:80:df:3b:46:
+ bc:39:c9:76:14:90:8e:cd:80:98:84:56:43:88:33:1e:ac:4a:
+ cb:48:8d:ff:35:d4:68:0e:ef:bf:1a:b5:34:17:7a:c8:c2:e8:
+ f0:18:f6:58:07:9b:09:9f:b5:e2:29:e2:5e:cb:b9:71:ce:13:
+ 90:6d:b7:4e:23:31:bc:ab:17:b4:3d:96:17:4b:f8:01:49:b9:
+ 0a:0c:73:1d:54:de:51:79:3a:fb:f0:b5:10:8d:38:ad:87:36:
+ 0f:36:48:11:f7:1b:d6:2f:ed:a7:1d:73:74:45:19:69:1d:9f:
+ 86:ec:a3:2b:8e:fd:5a:33:08:4d:17:41:df:57:8a:1e:99:c1:
+ bc:aa:15:a1:af:2c:23:67:4e:31:45:91:fb:8f:af:1e:19:a6:
+ 0f:bb:d9:3a:55:cc:b0:a2:41:a5:99:20:cc:64:91:f7:8e:6b:
+ c4:ad:5a:c8:ca:3d:74:36:91:97:34:f1:f8:c5:22:87:6b:e3:
+ cf:9c:0a:75:5a:09:30:88:9d:07:99:2d:ef:87:75:45:ed:0f:
+ 75:8a:88:6c:b0:7e:dc:c3:d4:50:c4:25:0c:de:f7:53:f6:12:
+ bd:5a:8b:81:3a:30:83:b7:66:5e:7e:8f:d8:65:ab:2a:fa:85:
+ d4:4b:61:fb:27:98:79:cb:d6:06:07:23:7f:d9:1d:79:3e:71:
+ a7:0c:c8:e8:0e:e0:40:66:4d:8d:0e:9c:41:c0:d2:2c:91:95:
+ 63:d5:c4:12:cd:9b:bc:f4
-----BEGIN CERTIFICATE-----
-MIIDfzCCAmegAwIBAgIJANBNI4XuWbP6MA0GCSqGSIb3DQEBCwUAMFYxDzANBgNV
-BAMMBmNhY2VydDELMAkGA1UEBhMCRkkxETAPBgNVBAgMCEhlbHNpbmtpMREwDwYD
-VQQHDAhIZWxzaW5raTEQMA4GA1UECgwHTWFyaWFEQjAeFw0xOTAxMjcxMDExMTBa
-Fw0zOTAxMjIxMDExMTBaMFYxDzANBgNVBAMMBmNhY2VydDELMAkGA1UEBhMCRkkx
-ETAPBgNVBAgMCEhlbHNpbmtpMREwDwYDVQQHDAhIZWxzaW5raTEQMA4GA1UECgwH
-TWFyaWFEQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOgOp4TTdTAG
-MLIQudGINite+MhEV8tncquWlTPViNGPI1CYum0gAIC9NdXBv5hJxAoVSjSmIZsu
-jBUJ8GOBAsJ84lPg96EaQF6PQUpMVtQg8dWnwVMu/343F8x+dL3iIjPOjHdipMU/
-RDV7frn1fYx6J1j9LEKGLudrAZl7/n2noU8+OTlUH2HedGbRd09DG2ZwKYXe/I+O
-G3uiZkgmf5um/Urk3Ovtvfjj8VeYE2/xoyrjc72NfG9LWTW8tUI+macTjb4uXJrG
-W6uuvwDpyO4FIo7VZxpHmm2c+UI+FTT4Mey0ftOSlbC4+WbzvR0xLLGQYqH4TqZd
-JiLw4f4WK2kCAwEAAaNQME4wHQYDVR0OBBYEFMpxmYnwcqt1ZrtlagMEcqV7laaT
-MB8GA1UdIwQYMBaAFMpxmYnwcqt1ZrtlagMEcqV7laaTMAwGA1UdEwQFMAMBAf8w
-DQYJKoZIhvcNAQELBQADggEBAN/9dClbXpqLCQJAWXPLcUc/lz2p/cSMASnJhrhx
-Vf9yDlDcyLXmkUFSRyEwzE3nO0vbVep9RutT4LcbgHyxDNPRvKBzrpYf/QVSflTV
-A1JpezRfJ9eY2ph2c+a7UFkqlJBnAxykdi/u71lgCUgzAytS7YNC+HEZf9i+QO0g
-AZA8fhyL0p/zLwkfUMgQ4YrZpUmcC3QXuSto9h5zwnMQOLM14oeRG6HRm4GdGzLM
-A25MgpWBEUJW4hYrImXbQCzK3AP01QfP9ROyz1FbJM3H0ZtCjvnfXR5aCaNPqQv0
-IcW7/wKTZ+gt7qvZWXYDLKG9+9yvtoKUcYVTqBgNOp5C61k=
+MIIFjTCCA3WgAwIBAgIUXIH9uYJp4EaNme3QlUvT1mKKaZcwDQYJKoZIhvcNAQEL
+BQAwVjEPMA0GA1UEAwwGY2FjZXJ0MQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVs
+c2lua2kxETAPBgNVBAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMB4XDTIw
+MDMwMzAzMDMwM1oXDTQwMDIyNzAzMDMwM1owVjEPMA0GA1UEAwwGY2FjZXJ0MQsw
+CQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNVBAcMCEhlbHNpbmtp
+MRAwDgYDVQQKDAdNYXJpYURCMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
+AgEAvHIBEGjB3/rRd1V8CRMZUUHN7U9RQyLnlw6U/A0dqcbzF3kxbxJ6m3+H4lUW
+1aTdatNeT+LgvMSfxZUaRxOlzW3zduKaEjF25PEBlDdFEDIYnszYfwTKGJe/Ii5R
+unNvRlA2/t+CTIqeNL5E9BJhchizgbXZsmmPffSLQWI0WXH35Camz1VN1FKjNyS9
+giGf0dvN6RKpz2BIPdrqoKfQVxZoSeW06NzQsBKzxxzxs7HrEovHPjwC/vZMqDXY
+z3RkY4mEPnWIoAuAXOpospy7465PzSS5l4mVTj94SLqtl0y/+IsUgPR4AxFLp+OZ
+HIJZv7bzPj7b2zhzkY3wb+VdAufApYutafEXKSwWQa2sD2TI92JY2nNm95EsifeA
+a9eR8chKWsQtPQsYg/HpdC2DuwlGvfBArQvdDEVkjZ7Pp6Bs0szx+QUVeuMCFbDm
+mc2BW91Sm8A1JfpMiEcdFhmfnfBUAW4gahCrT9KipzHbbXYmDTWdrB9OTTeHLHgm
+1B/wh/z04iqvmqTWaZMWT+374HiZNknSLn1EFZRYvbq807l1XFgTaRiOXQ7JDN0G
+xHv8ND7fUUaNXjNAujl1miml8L7ToSxyiIVKoC7ZcRUwSVf0G3Pks7GePuYLMArr
+6czsmEw26liKqrFLueFeStCBZfC6LLCmjgLxxuB4uUnrjnkCAwEAAaNTMFEwHQYD
+VR0OBBYEFE38ehnzKwx99sB8TfhyNEyMNVJ0MB8GA1UdIwQYMBaAFE38ehnzKwx9
+9sB8TfhyNEyMNVJ0MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIB
+ADznOui20b7KJ60CAAi3Hy3pzYGfmPDwpMXd3JShpr0xVlQFatqxG0I17/h1HA0P
+AHckp+9f8c44OgWnIqZAtmxXRjHoui+1nvt8B5Ncy4JZGi8TW21Vjdnd7ESyf4km
+N9r86Kqvh4tewz4hwqDKKkl4+p0QXOgsJKzo82Ely4Zsjx1ML4O91HLcVBv6PRrU
+VKmsh3D/z1MmH+cRvLOJ0HElCdmACUKxWo0BqYkeLMyJ5/jCQ0sgzc6cL2eZNU/i
+7AAHPWlunkiT1FaxC1IA2YYFHupkaKGHBA8XRYKO9RN6kHnI/ULogN87Rrw5yXYU
+kI7NgJiEVkOIMx6sSstIjf811GgO778atTQXesjC6PAY9lgHmwmfteIp4l7LuXHO
+E5Btt04jMbyrF7Q9lhdL+AFJuQoMcx1U3lF5OvvwtRCNOK2HNg82SBH3G9Yv7acd
+c3RFGWkdn4bsoyuO/VozCE0XQd9Xih6ZwbyqFaGvLCNnTjFFkfuPrx4Zpg+72TpV
+zLCiQaWZIMxkkfeOa8StWsjKPXQ2kZc08fjFIodr48+cCnVaCTCInQeZLe+HdUXt
+D3WKiGywftzD1FDEJQze91P2Er1ai4E6MIO3Zl5+j9hlqyr6hdRLYfsnmHnL1gYH
+I3/ZHXk+cacMyOgO4EBmTY0OnEHA0iyRlWPVxBLNm7z0
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/cakey.pem b/mysql-test/std_data/cakey.pem
index 0e2f7dce244..7c4ca137746 100644
--- a/mysql-test/std_data/cakey.pem
+++ b/mysql-test/std_data/cakey.pem
@@ -1,28 +1,52 @@
-----BEGIN PRIVATE KEY-----
-MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDoDqeE03UwBjCy
-ELnRiDYrXvjIRFfLZ3KrlpUz1YjRjyNQmLptIACAvTXVwb+YScQKFUo0piGbLowV
-CfBjgQLCfOJT4PehGkBej0FKTFbUIPHVp8FTLv9+NxfMfnS94iIzzox3YqTFP0Q1
-e3659X2MeidY/SxChi7nawGZe/59p6FPPjk5VB9h3nRm0XdPQxtmcCmF3vyPjht7
-omZIJn+bpv1K5Nzr7b344/FXmBNv8aMq43O9jXxvS1k1vLVCPpmnE42+Llyaxlur
-rr8A6cjuBSKO1WcaR5ptnPlCPhU0+DHstH7TkpWwuPlm870dMSyxkGKh+E6mXSYi
-8OH+FitpAgMBAAECggEBAMSw7yKxjSnIhWvYq3fDiY6XcC1naDb7FwIDn7GQs+hT
-9+3vlky6jFKSjdgB4iD1nVmilAQuMFv1Rzzp8LyWdD1fVwMbsyj1NEwyBngwXoRs
-7C5Zg467Tkmv7tcg9FiiHLVmxD7I+LpLlsfyRgbe4qy4OTO/W82DKKx0UaXDqIDd
-gIiBM5Vj9s1Lzoi7r2lXtuuEeRCH0mf9sAygqAkmj50i0vI05kQtIzJluU8KufPy
-DbQryaz5CWvXr4wdN3KbrVw5yRk9wz8JsIW1CRQshmVb5hZ+sS97eO11WKumen0I
-wXP8Z3s6NhTaeJvW/AsPZ2xm/vM/rLo1634tUZzzQ4UCgYEA+zIJ/TQ7Rfot30lu
-oz3d8moXW6B5iDUYQ6VuFY/0qImlFkR91BPp/XtZ0FyiVHEvF8hUQQc6jzCQylot
-QHOuW/hRWxFrVZndVhhgtAd4tFd39yOa8pkFifj8Wkdq6q0KuA+/qtCnVDwEEe+n
-U4xZXJmZ8schLRy9A5Js9NNckhcCgYEA7H7oCVBhNQRfcylBs5Y41qmIvokpU76B
-u6Pk7OwhVoe9aO41VXXjPwLJaPw7U2270CEuKB0YhVY1cpqFZdkuUsfwYh6ju6xY
-AIzeZuGw7LAXM+DabHnc6NKKAG6b9uBEh3f+N93NnLM8yPJheCbRGcC67gbEIB+Q
-7Z3TX8QtHn8CgYEAqSv9EDriBHHF/Q/uZCAhXsZWbs33q2Ter4g1SG5H/k2dEg8U
-kwTKXH17cllAtg/4AFNZcuYUaSTzDmSG/1YpQiVNXUCxAdh6+SW30ucJQqN51sZy
-7xlhYpd+FKrudZgOlQF+OuMFHjTBJPc6wIjQEg4cYSX80O3+2e3+VTAXswcCgYEA
-hfur58LzH383uF2yTFUaJHtt7kx07m3qv+ytgJCSnpxOcckqzBz6vrMMen8T+UMc
-+WAi7zT0tG3P3/qtArOVK+78QAqNxoBwZvdn9K9+dcmZi5mjBXvQ7NKCvpXrpGUQ
-ThNsIih2GYXuNQYktFaBdm6bOMj6ihx4FjapDwNscG8CgYAnGxSNAgAsoMzfhSbp
-fYQYqGlufvTHknavHW1tQagxFdew9tsYYA9XQJtwB4pnYZ6vEGOnp74g4Y6i2VPx
-1T4T5ctDX0oydWe1lNZR8iszU9Fes9YnWviS2KWE0s3NDii/3UDUDqc4ZmgRUOIs
-gcAXPXgP9Kgz6kRH/9VkzAFfkQ==
+MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC8cgEQaMHf+tF3
+VXwJExlRQc3tT1FDIueXDpT8DR2pxvMXeTFvEnqbf4fiVRbVpN1q015P4uC8xJ/F
+lRpHE6XNbfN24poSMXbk8QGUN0UQMhiezNh/BMoYl78iLlG6c29GUDb+34JMip40
+vkT0EmFyGLOBtdmyaY999ItBYjRZcffkJqbPVU3UUqM3JL2CIZ/R283pEqnPYEg9
+2uqgp9BXFmhJ5bTo3NCwErPHHPGzsesSi8c+PAL+9kyoNdjPdGRjiYQ+dYigC4Bc
+6miynLvjrk/NJLmXiZVOP3hIuq2XTL/4ixSA9HgDEUun45kcglm/tvM+PtvbOHOR
+jfBv5V0C58Cli61p8RcpLBZBrawPZMj3Yljac2b3kSyJ94Br15HxyEpaxC09CxiD
+8el0LYO7CUa98ECtC90MRWSNns+noGzSzPH5BRV64wIVsOaZzYFb3VKbwDUl+kyI
+Rx0WGZ+d8FQBbiBqEKtP0qKnMdttdiYNNZ2sH05NN4cseCbUH/CH/PTiKq+apNZp
+kxZP7fvgeJk2SdIufUQVlFi9urzTuXVcWBNpGI5dDskM3QbEe/w0Pt9RRo1eM0C6
+OXWaKaXwvtOhLHKIhUqgLtlxFTBJV/Qbc+SzsZ4+5gswCuvpzOyYTDbqWIqqsUu5
+4V5K0IFl8LossKaOAvHG4Hi5SeuOeQIDAQABAoICADsQTG8VNnb6ST7q5zZ86vmB
+84ZGzwSI4yeAZYfeoIZ/GeAolyrmEtG8Fh4FZ2PNCa0a1LubM69WvXETO6o9aUFL
+Df0cJwg+wrIdK86FyDq8SOU09UJSgPlWTozrEair15ulNqeJ7HALHm0PmdMaE7rM
+LS8hjTsTROtIg4EZw6ipRPYYez4O0ZcT055MAK3R1iLTjuVXeSvLVLk2bUWvc2ho
+WIWY3qwB0dLt+bUVyFf3EuO8NdW2v4WkMwCh5/OV2oUsK+vbsNfg4vm8atZYs7c4
+AkEdGqJ5d/ePgybgg9ohLyY6iVGlzhvABwN3HZ1G6dRiBjljQEuklOxxHYQk0pK1
+u3fVxVEfjZuolVu0kfFiTcKKykKrgn6x14ppftNBKdMHMcR3wAdRhtPDnPdeSOYA
+b1YC6+IzmwUWB5Vciusyb3O0882RuiJKwmIGKiSuGSDtYQHgyTWw/yLarDF/dha7
+4/D1X2iZf6W///NrbXK0v7LAfcYHBnwSP1xi3XBdsOJIE+i7TUTIypN5VK1k9kRe
+qvrILKIRK/5f5PXbxcwiewHS64DY3HRwUbWiM/dQLptLvTBUNTtGKOKs2+Or0wxz
+N/KYav0Cgw6zhQoRuvXKzloMUtRr1KPbBcMV5OgEbY3Q9Rp4+D8o5OY4r6ui82DF
+TSgZ0Y0WiQICIKkipETVAoIBAQDlNnDRzL5DdecGxtgmNenJksxsdvE2ZLBgzIXb
+XRBJD9hU88Qbn3/OAuByY76eViU7NAVHu6S8a4eUMAoVSVP+oU3EjbZszvaNYjmt
+YyQgkpkFHcMCSaC1dtwts8tvTQxf9EQium3uCfRlDPcsc6Oo3wQdlEJEm2gXriiL
+f3WyV4FEmGjwrqp4sDP/05jmNBp1awO6CRHaCcKITgrkf7mw+uInuAfqG/3a8WDa
+SLW6vFGsbRP8dThxFzPw2CpvXTxqGksKvqSFa6VsRH+A5MMFSJfhLktJK/wU2wI1
+QY9AnPTp7dSWzSyOzbHJZN0Aa9C6ECF5Nglb147O/zufzRwbAoIBAQDSd+QTaLd7
+cfvqP5fd9VGVsFGDhoo8lUZzD51nIwMFQOdZevWbTKg+hBTBWsZbKso4PX0FK4XE
+nd129S9fsh/eh+6Dd/t8zGr5TbHB+0rM2jwDyjk4N5aKNIdyxQD9NLFR06vHv5fl
+wi5ncboZT28k+UX8M1tpje3NSci14bE3p8H5s6QryJR4R85PGWdo2HHWxVd5i/Do
+ZWOpVOSngdXrhoAMH4+J7tjuJfB7nMZ7FaRz5/myw1gUJBrxresQWyvFmGY92Vx1
+npTIF/iWFtzORmeJIU4dlL/seWWo/6Nm4/GFEgTE3AM/vfCYBPDNasUmVrl126NF
+4Nh57hpOgwD7AoIBADFVyG6/3Ov0QqeowPlofUuPt0RZTY3hmj0biGww2cKAEJYo
+abtwVzfmUp0Mbwjxjc3yYniQIOMVWfdBZ8oxIE0cNvrpbax514OS8sspHauNIjaB
+s2mYo2irjrSfkFgCg3lbwBahfevQZLQjWEhPE5jTd7VOJf1SXdNK/xsXciPSxdYX
+3+5+Cd80Pd0AlFZoPJGtWP3/2cHOe/qOobWQ8Ezxkx/tcnanU7p+XdRd9g+dXQ75
+42VhbaaZ0eoy/N8/eDN2OVS0uACnrNFi5Pa/RmKqv1YOetHjD70FbrI7zDOiFO0M
+7ccPnlmWWH/6n77pdeG2ex31zYnhGbHgKds5cKUCggEACoOmxzlyAR6+oQMwSQxa
+WQoH6HQuL7ydWl4rVN2w5vBJHnVAE9QOi6D5kHdCdYd7treLqVh1RE9Gowy4oyU4
+5lsQFU1HKQLlTTMOcExnfjhgyyetGBvez2S0Z41j8UJSoW3bpQzzP60luFE8JMuN
+F+HEF0dRh8JpYNoQxtVRjyA4Vosc5nsMv72GlvkD6370oPAW4KGXFWULR4hQK/YW
+g7+iYfipqRBfkfYfP22jlL6OCqRKGx4bJlZvaidwGM8VLrfgU7KqJc4YTK614nmd
+6kgmH/mj92JY/C1MYNb0iM1WYXl294auOt74R//nL7vnwXSPq02fqHwFFIJKmiV9
+RQKCAQBX69M4W285T/DWCmTeLqafeIK6ViTk9K0FP+ochvhhiFAzjAaewFxJls0p
+nkEXp6KFYjonXwouA3HEURdKlFYu9oUjhe28KWbaJANqZdg+AwbCt4sW/KFXxwx3
+yze0rclcEpJbDNj/iNYSIcSWMro1fA7i8bJyfIpWlE8nExe8LS7gjizQsGuxox12
+WVsd2N6uSQuIFUoayIp48sS4VX1zDNz1gZokX5ru6saX4x7RsuWMsb3WX8KOL2f5
+eQmfZPi/6j+Y2WLaInQYX47V1Tp/2wAvwrBW6fTcopBTG3hwrphIA1TtPYFcD167
+c1N9tJuNAAkztr93osxAiv/nbZil
-----END PRIVATE KEY-----
diff --git a/mysql-test/std_data/capath/3106f582.0 b/mysql-test/std_data/capath/3106f582.0
deleted file mode 100644
index 23dda2318e1..00000000000
--- a/mysql-test/std_data/capath/3106f582.0
+++ /dev/null
@@ -1,79 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number:
- d0:4d:23:85:ee:59:b3:fa
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
- Validity
- Not Before: Jan 27 10:11:10 2019 GMT
- Not After : Jan 22 10:11:10 2039 GMT
- Subject: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:e8:0e:a7:84:d3:75:30:06:30:b2:10:b9:d1:88:
- 36:2b:5e:f8:c8:44:57:cb:67:72:ab:96:95:33:d5:
- 88:d1:8f:23:50:98:ba:6d:20:00:80:bd:35:d5:c1:
- bf:98:49:c4:0a:15:4a:34:a6:21:9b:2e:8c:15:09:
- f0:63:81:02:c2:7c:e2:53:e0:f7:a1:1a:40:5e:8f:
- 41:4a:4c:56:d4:20:f1:d5:a7:c1:53:2e:ff:7e:37:
- 17:cc:7e:74:bd:e2:22:33:ce:8c:77:62:a4:c5:3f:
- 44:35:7b:7e:b9:f5:7d:8c:7a:27:58:fd:2c:42:86:
- 2e:e7:6b:01:99:7b:fe:7d:a7:a1:4f:3e:39:39:54:
- 1f:61:de:74:66:d1:77:4f:43:1b:66:70:29:85:de:
- fc:8f:8e:1b:7b:a2:66:48:26:7f:9b:a6:fd:4a:e4:
- dc:eb:ed:bd:f8:e3:f1:57:98:13:6f:f1:a3:2a:e3:
- 73:bd:8d:7c:6f:4b:59:35:bc:b5:42:3e:99:a7:13:
- 8d:be:2e:5c:9a:c6:5b:ab:ae:bf:00:e9:c8:ee:05:
- 22:8e:d5:67:1a:47:9a:6d:9c:f9:42:3e:15:34:f8:
- 31:ec:b4:7e:d3:92:95:b0:b8:f9:66:f3:bd:1d:31:
- 2c:b1:90:62:a1:f8:4e:a6:5d:26:22:f0:e1:fe:16:
- 2b:69
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
- X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
-
- X509v3 Basic Constraints:
- CA:TRUE
- Signature Algorithm: sha256WithRSAEncryption
- df:fd:74:29:5b:5e:9a:8b:09:02:40:59:73:cb:71:47:3f:97:
- 3d:a9:fd:c4:8c:01:29:c9:86:b8:71:55:ff:72:0e:50:dc:c8:
- b5:e6:91:41:52:47:21:30:cc:4d:e7:3b:4b:db:55:ea:7d:46:
- eb:53:e0:b7:1b:80:7c:b1:0c:d3:d1:bc:a0:73:ae:96:1f:fd:
- 05:52:7e:54:d5:03:52:69:7b:34:5f:27:d7:98:da:98:76:73:
- e6:bb:50:59:2a:94:90:67:03:1c:a4:76:2f:ee:ef:59:60:09:
- 48:33:03:2b:52:ed:83:42:f8:71:19:7f:d8:be:40:ed:20:01:
- 90:3c:7e:1c:8b:d2:9f:f3:2f:09:1f:50:c8:10:e1:8a:d9:a5:
- 49:9c:0b:74:17:b9:2b:68:f6:1e:73:c2:73:10:38:b3:35:e2:
- 87:91:1b:a1:d1:9b:81:9d:1b:32:cc:03:6e:4c:82:95:81:11:
- 42:56:e2:16:2b:22:65:db:40:2c:ca:dc:03:f4:d5:07:cf:f5:
- 13:b2:cf:51:5b:24:cd:c7:d1:9b:42:8e:f9:df:5d:1e:5a:09:
- a3:4f:a9:0b:f4:21:c5:bb:ff:02:93:67:e8:2d:ee:ab:d9:59:
- 76:03:2c:a1:bd:fb:dc:af:b6:82:94:71:85:53:a8:18:0d:3a:
- 9e:42:eb:59
------BEGIN CERTIFICATE-----
-MIIDfzCCAmegAwIBAgIJANBNI4XuWbP6MA0GCSqGSIb3DQEBCwUAMFYxDzANBgNV
-BAMMBmNhY2VydDELMAkGA1UEBhMCRkkxETAPBgNVBAgMCEhlbHNpbmtpMREwDwYD
-VQQHDAhIZWxzaW5raTEQMA4GA1UECgwHTWFyaWFEQjAeFw0xOTAxMjcxMDExMTBa
-Fw0zOTAxMjIxMDExMTBaMFYxDzANBgNVBAMMBmNhY2VydDELMAkGA1UEBhMCRkkx
-ETAPBgNVBAgMCEhlbHNpbmtpMREwDwYDVQQHDAhIZWxzaW5raTEQMA4GA1UECgwH
-TWFyaWFEQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOgOp4TTdTAG
-MLIQudGINite+MhEV8tncquWlTPViNGPI1CYum0gAIC9NdXBv5hJxAoVSjSmIZsu
-jBUJ8GOBAsJ84lPg96EaQF6PQUpMVtQg8dWnwVMu/343F8x+dL3iIjPOjHdipMU/
-RDV7frn1fYx6J1j9LEKGLudrAZl7/n2noU8+OTlUH2HedGbRd09DG2ZwKYXe/I+O
-G3uiZkgmf5um/Urk3Ovtvfjj8VeYE2/xoyrjc72NfG9LWTW8tUI+macTjb4uXJrG
-W6uuvwDpyO4FIo7VZxpHmm2c+UI+FTT4Mey0ftOSlbC4+WbzvR0xLLGQYqH4TqZd
-JiLw4f4WK2kCAwEAAaNQME4wHQYDVR0OBBYEFMpxmYnwcqt1ZrtlagMEcqV7laaT
-MB8GA1UdIwQYMBaAFMpxmYnwcqt1ZrtlagMEcqV7laaTMAwGA1UdEwQFMAMBAf8w
-DQYJKoZIhvcNAQELBQADggEBAN/9dClbXpqLCQJAWXPLcUc/lz2p/cSMASnJhrhx
-Vf9yDlDcyLXmkUFSRyEwzE3nO0vbVep9RutT4LcbgHyxDNPRvKBzrpYf/QVSflTV
-A1JpezRfJ9eY2ph2c+a7UFkqlJBnAxykdi/u71lgCUgzAytS7YNC+HEZf9i+QO0g
-AZA8fhyL0p/zLwkfUMgQ4YrZpUmcC3QXuSto9h5zwnMQOLM14oeRG6HRm4GdGzLM
-A25MgpWBEUJW4hYrImXbQCzK3AP01QfP9ROyz1FbJM3H0ZtCjvnfXR5aCaNPqQv0
-IcW7/wKTZ+gt7qvZWXYDLKG9+9yvtoKUcYVTqBgNOp5C61k=
------END CERTIFICATE-----
diff --git a/mysql-test/std_data/capath/ed1f42db.0 b/mysql-test/std_data/capath/ed1f42db.0
index 23dda2318e1..16d2d68ca6b 100644
--- a/mysql-test/std_data/capath/ed1f42db.0
+++ b/mysql-test/std_data/capath/ed1f42db.0
@@ -2,78 +2,120 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number:
- d0:4d:23:85:ee:59:b3:fa
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
+ 5c:81:fd:b9:82:69:e0:46:8d:99:ed:d0:95:4b:d3:d6:62:8a:69:97
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN = cacert, C = FI, ST = Helsinki, L = Helsinki, O = MariaDB
Validity
- Not Before: Jan 27 10:11:10 2019 GMT
- Not After : Jan 22 10:11:10 2039 GMT
- Subject: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
+ Subject: CN = cacert, C = FI, ST = Helsinki, L = Helsinki, O = MariaDB
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:e8:0e:a7:84:d3:75:30:06:30:b2:10:b9:d1:88:
- 36:2b:5e:f8:c8:44:57:cb:67:72:ab:96:95:33:d5:
- 88:d1:8f:23:50:98:ba:6d:20:00:80:bd:35:d5:c1:
- bf:98:49:c4:0a:15:4a:34:a6:21:9b:2e:8c:15:09:
- f0:63:81:02:c2:7c:e2:53:e0:f7:a1:1a:40:5e:8f:
- 41:4a:4c:56:d4:20:f1:d5:a7:c1:53:2e:ff:7e:37:
- 17:cc:7e:74:bd:e2:22:33:ce:8c:77:62:a4:c5:3f:
- 44:35:7b:7e:b9:f5:7d:8c:7a:27:58:fd:2c:42:86:
- 2e:e7:6b:01:99:7b:fe:7d:a7:a1:4f:3e:39:39:54:
- 1f:61:de:74:66:d1:77:4f:43:1b:66:70:29:85:de:
- fc:8f:8e:1b:7b:a2:66:48:26:7f:9b:a6:fd:4a:e4:
- dc:eb:ed:bd:f8:e3:f1:57:98:13:6f:f1:a3:2a:e3:
- 73:bd:8d:7c:6f:4b:59:35:bc:b5:42:3e:99:a7:13:
- 8d:be:2e:5c:9a:c6:5b:ab:ae:bf:00:e9:c8:ee:05:
- 22:8e:d5:67:1a:47:9a:6d:9c:f9:42:3e:15:34:f8:
- 31:ec:b4:7e:d3:92:95:b0:b8:f9:66:f3:bd:1d:31:
- 2c:b1:90:62:a1:f8:4e:a6:5d:26:22:f0:e1:fe:16:
- 2b:69
+ 00:bc:72:01:10:68:c1:df:fa:d1:77:55:7c:09:13:
+ 19:51:41:cd:ed:4f:51:43:22:e7:97:0e:94:fc:0d:
+ 1d:a9:c6:f3:17:79:31:6f:12:7a:9b:7f:87:e2:55:
+ 16:d5:a4:dd:6a:d3:5e:4f:e2:e0:bc:c4:9f:c5:95:
+ 1a:47:13:a5:cd:6d:f3:76:e2:9a:12:31:76:e4:f1:
+ 01:94:37:45:10:32:18:9e:cc:d8:7f:04:ca:18:97:
+ bf:22:2e:51:ba:73:6f:46:50:36:fe:df:82:4c:8a:
+ 9e:34:be:44:f4:12:61:72:18:b3:81:b5:d9:b2:69:
+ 8f:7d:f4:8b:41:62:34:59:71:f7:e4:26:a6:cf:55:
+ 4d:d4:52:a3:37:24:bd:82:21:9f:d1:db:cd:e9:12:
+ a9:cf:60:48:3d:da:ea:a0:a7:d0:57:16:68:49:e5:
+ b4:e8:dc:d0:b0:12:b3:c7:1c:f1:b3:b1:eb:12:8b:
+ c7:3e:3c:02:fe:f6:4c:a8:35:d8:cf:74:64:63:89:
+ 84:3e:75:88:a0:0b:80:5c:ea:68:b2:9c:bb:e3:ae:
+ 4f:cd:24:b9:97:89:95:4e:3f:78:48:ba:ad:97:4c:
+ bf:f8:8b:14:80:f4:78:03:11:4b:a7:e3:99:1c:82:
+ 59:bf:b6:f3:3e:3e:db:db:38:73:91:8d:f0:6f:e5:
+ 5d:02:e7:c0:a5:8b:ad:69:f1:17:29:2c:16:41:ad:
+ ac:0f:64:c8:f7:62:58:da:73:66:f7:91:2c:89:f7:
+ 80:6b:d7:91:f1:c8:4a:5a:c4:2d:3d:0b:18:83:f1:
+ e9:74:2d:83:bb:09:46:bd:f0:40:ad:0b:dd:0c:45:
+ 64:8d:9e:cf:a7:a0:6c:d2:cc:f1:f9:05:15:7a:e3:
+ 02:15:b0:e6:99:cd:81:5b:dd:52:9b:c0:35:25:fa:
+ 4c:88:47:1d:16:19:9f:9d:f0:54:01:6e:20:6a:10:
+ ab:4f:d2:a2:a7:31:db:6d:76:26:0d:35:9d:ac:1f:
+ 4e:4d:37:87:2c:78:26:d4:1f:f0:87:fc:f4:e2:2a:
+ af:9a:a4:d6:69:93:16:4f:ed:fb:e0:78:99:36:49:
+ d2:2e:7d:44:15:94:58:bd:ba:bc:d3:b9:75:5c:58:
+ 13:69:18:8e:5d:0e:c9:0c:dd:06:c4:7b:fc:34:3e:
+ df:51:46:8d:5e:33:40:ba:39:75:9a:29:a5:f0:be:
+ d3:a1:2c:72:88:85:4a:a0:2e:d9:71:15:30:49:57:
+ f4:1b:73:e4:b3:b1:9e:3e:e6:0b:30:0a:eb:e9:cc:
+ ec:98:4c:36:ea:58:8a:aa:b1:4b:b9:e1:5e:4a:d0:
+ 81:65:f0:ba:2c:b0:a6:8e:02:f1:c6:e0:78:b9:49:
+ eb:8e:79
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
- CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ 4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
- X509v3 Basic Constraints:
+ X509v3 Basic Constraints: critical
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
- df:fd:74:29:5b:5e:9a:8b:09:02:40:59:73:cb:71:47:3f:97:
- 3d:a9:fd:c4:8c:01:29:c9:86:b8:71:55:ff:72:0e:50:dc:c8:
- b5:e6:91:41:52:47:21:30:cc:4d:e7:3b:4b:db:55:ea:7d:46:
- eb:53:e0:b7:1b:80:7c:b1:0c:d3:d1:bc:a0:73:ae:96:1f:fd:
- 05:52:7e:54:d5:03:52:69:7b:34:5f:27:d7:98:da:98:76:73:
- e6:bb:50:59:2a:94:90:67:03:1c:a4:76:2f:ee:ef:59:60:09:
- 48:33:03:2b:52:ed:83:42:f8:71:19:7f:d8:be:40:ed:20:01:
- 90:3c:7e:1c:8b:d2:9f:f3:2f:09:1f:50:c8:10:e1:8a:d9:a5:
- 49:9c:0b:74:17:b9:2b:68:f6:1e:73:c2:73:10:38:b3:35:e2:
- 87:91:1b:a1:d1:9b:81:9d:1b:32:cc:03:6e:4c:82:95:81:11:
- 42:56:e2:16:2b:22:65:db:40:2c:ca:dc:03:f4:d5:07:cf:f5:
- 13:b2:cf:51:5b:24:cd:c7:d1:9b:42:8e:f9:df:5d:1e:5a:09:
- a3:4f:a9:0b:f4:21:c5:bb:ff:02:93:67:e8:2d:ee:ab:d9:59:
- 76:03:2c:a1:bd:fb:dc:af:b6:82:94:71:85:53:a8:18:0d:3a:
- 9e:42:eb:59
+ 3c:e7:3a:e8:b6:d1:be:ca:27:ad:02:00:08:b7:1f:2d:e9:cd:
+ 81:9f:98:f0:f0:a4:c5:dd:dc:94:a1:a6:bd:31:56:54:05:6a:
+ da:b1:1b:42:35:ef:f8:75:1c:0d:0f:00:77:24:a7:ef:5f:f1:
+ ce:38:3a:05:a7:22:a6:40:b6:6c:57:46:31:e8:ba:2f:b5:9e:
+ fb:7c:07:93:5c:cb:82:59:1a:2f:13:5b:6d:55:8d:d9:dd:ec:
+ 44:b2:7f:89:26:37:da:fc:e8:aa:af:87:8b:5e:c3:3e:21:c2:
+ a0:ca:2a:49:78:fa:9d:10:5c:e8:2c:24:ac:e8:f3:61:25:cb:
+ 86:6c:8f:1d:4c:2f:83:bd:d4:72:dc:54:1b:fa:3d:1a:d4:54:
+ a9:ac:87:70:ff:cf:53:26:1f:e7:11:bc:b3:89:d0:71:25:09:
+ d9:80:09:42:b1:5a:8d:01:a9:89:1e:2c:cc:89:e7:f8:c2:43:
+ 4b:20:cd:ce:9c:2f:67:99:35:4f:e2:ec:00:07:3d:69:6e:9e:
+ 48:93:d4:56:b1:0b:52:00:d9:86:05:1e:ea:64:68:a1:87:04:
+ 0f:17:45:82:8e:f5:13:7a:90:79:c8:fd:42:e8:80:df:3b:46:
+ bc:39:c9:76:14:90:8e:cd:80:98:84:56:43:88:33:1e:ac:4a:
+ cb:48:8d:ff:35:d4:68:0e:ef:bf:1a:b5:34:17:7a:c8:c2:e8:
+ f0:18:f6:58:07:9b:09:9f:b5:e2:29:e2:5e:cb:b9:71:ce:13:
+ 90:6d:b7:4e:23:31:bc:ab:17:b4:3d:96:17:4b:f8:01:49:b9:
+ 0a:0c:73:1d:54:de:51:79:3a:fb:f0:b5:10:8d:38:ad:87:36:
+ 0f:36:48:11:f7:1b:d6:2f:ed:a7:1d:73:74:45:19:69:1d:9f:
+ 86:ec:a3:2b:8e:fd:5a:33:08:4d:17:41:df:57:8a:1e:99:c1:
+ bc:aa:15:a1:af:2c:23:67:4e:31:45:91:fb:8f:af:1e:19:a6:
+ 0f:bb:d9:3a:55:cc:b0:a2:41:a5:99:20:cc:64:91:f7:8e:6b:
+ c4:ad:5a:c8:ca:3d:74:36:91:97:34:f1:f8:c5:22:87:6b:e3:
+ cf:9c:0a:75:5a:09:30:88:9d:07:99:2d:ef:87:75:45:ed:0f:
+ 75:8a:88:6c:b0:7e:dc:c3:d4:50:c4:25:0c:de:f7:53:f6:12:
+ bd:5a:8b:81:3a:30:83:b7:66:5e:7e:8f:d8:65:ab:2a:fa:85:
+ d4:4b:61:fb:27:98:79:cb:d6:06:07:23:7f:d9:1d:79:3e:71:
+ a7:0c:c8:e8:0e:e0:40:66:4d:8d:0e:9c:41:c0:d2:2c:91:95:
+ 63:d5:c4:12:cd:9b:bc:f4
-----BEGIN CERTIFICATE-----
-MIIDfzCCAmegAwIBAgIJANBNI4XuWbP6MA0GCSqGSIb3DQEBCwUAMFYxDzANBgNV
-BAMMBmNhY2VydDELMAkGA1UEBhMCRkkxETAPBgNVBAgMCEhlbHNpbmtpMREwDwYD
-VQQHDAhIZWxzaW5raTEQMA4GA1UECgwHTWFyaWFEQjAeFw0xOTAxMjcxMDExMTBa
-Fw0zOTAxMjIxMDExMTBaMFYxDzANBgNVBAMMBmNhY2VydDELMAkGA1UEBhMCRkkx
-ETAPBgNVBAgMCEhlbHNpbmtpMREwDwYDVQQHDAhIZWxzaW5raTEQMA4GA1UECgwH
-TWFyaWFEQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOgOp4TTdTAG
-MLIQudGINite+MhEV8tncquWlTPViNGPI1CYum0gAIC9NdXBv5hJxAoVSjSmIZsu
-jBUJ8GOBAsJ84lPg96EaQF6PQUpMVtQg8dWnwVMu/343F8x+dL3iIjPOjHdipMU/
-RDV7frn1fYx6J1j9LEKGLudrAZl7/n2noU8+OTlUH2HedGbRd09DG2ZwKYXe/I+O
-G3uiZkgmf5um/Urk3Ovtvfjj8VeYE2/xoyrjc72NfG9LWTW8tUI+macTjb4uXJrG
-W6uuvwDpyO4FIo7VZxpHmm2c+UI+FTT4Mey0ftOSlbC4+WbzvR0xLLGQYqH4TqZd
-JiLw4f4WK2kCAwEAAaNQME4wHQYDVR0OBBYEFMpxmYnwcqt1ZrtlagMEcqV7laaT
-MB8GA1UdIwQYMBaAFMpxmYnwcqt1ZrtlagMEcqV7laaTMAwGA1UdEwQFMAMBAf8w
-DQYJKoZIhvcNAQELBQADggEBAN/9dClbXpqLCQJAWXPLcUc/lz2p/cSMASnJhrhx
-Vf9yDlDcyLXmkUFSRyEwzE3nO0vbVep9RutT4LcbgHyxDNPRvKBzrpYf/QVSflTV
-A1JpezRfJ9eY2ph2c+a7UFkqlJBnAxykdi/u71lgCUgzAytS7YNC+HEZf9i+QO0g
-AZA8fhyL0p/zLwkfUMgQ4YrZpUmcC3QXuSto9h5zwnMQOLM14oeRG6HRm4GdGzLM
-A25MgpWBEUJW4hYrImXbQCzK3AP01QfP9ROyz1FbJM3H0ZtCjvnfXR5aCaNPqQv0
-IcW7/wKTZ+gt7qvZWXYDLKG9+9yvtoKUcYVTqBgNOp5C61k=
+MIIFjTCCA3WgAwIBAgIUXIH9uYJp4EaNme3QlUvT1mKKaZcwDQYJKoZIhvcNAQEL
+BQAwVjEPMA0GA1UEAwwGY2FjZXJ0MQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVs
+c2lua2kxETAPBgNVBAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMB4XDTIw
+MDMwMzAzMDMwM1oXDTQwMDIyNzAzMDMwM1owVjEPMA0GA1UEAwwGY2FjZXJ0MQsw
+CQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNVBAcMCEhlbHNpbmtp
+MRAwDgYDVQQKDAdNYXJpYURCMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
+AgEAvHIBEGjB3/rRd1V8CRMZUUHN7U9RQyLnlw6U/A0dqcbzF3kxbxJ6m3+H4lUW
+1aTdatNeT+LgvMSfxZUaRxOlzW3zduKaEjF25PEBlDdFEDIYnszYfwTKGJe/Ii5R
+unNvRlA2/t+CTIqeNL5E9BJhchizgbXZsmmPffSLQWI0WXH35Camz1VN1FKjNyS9
+giGf0dvN6RKpz2BIPdrqoKfQVxZoSeW06NzQsBKzxxzxs7HrEovHPjwC/vZMqDXY
+z3RkY4mEPnWIoAuAXOpospy7465PzSS5l4mVTj94SLqtl0y/+IsUgPR4AxFLp+OZ
+HIJZv7bzPj7b2zhzkY3wb+VdAufApYutafEXKSwWQa2sD2TI92JY2nNm95EsifeA
+a9eR8chKWsQtPQsYg/HpdC2DuwlGvfBArQvdDEVkjZ7Pp6Bs0szx+QUVeuMCFbDm
+mc2BW91Sm8A1JfpMiEcdFhmfnfBUAW4gahCrT9KipzHbbXYmDTWdrB9OTTeHLHgm
+1B/wh/z04iqvmqTWaZMWT+374HiZNknSLn1EFZRYvbq807l1XFgTaRiOXQ7JDN0G
+xHv8ND7fUUaNXjNAujl1miml8L7ToSxyiIVKoC7ZcRUwSVf0G3Pks7GePuYLMArr
+6czsmEw26liKqrFLueFeStCBZfC6LLCmjgLxxuB4uUnrjnkCAwEAAaNTMFEwHQYD
+VR0OBBYEFE38ehnzKwx99sB8TfhyNEyMNVJ0MB8GA1UdIwQYMBaAFE38ehnzKwx9
+9sB8TfhyNEyMNVJ0MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIB
+ADznOui20b7KJ60CAAi3Hy3pzYGfmPDwpMXd3JShpr0xVlQFatqxG0I17/h1HA0P
+AHckp+9f8c44OgWnIqZAtmxXRjHoui+1nvt8B5Ncy4JZGi8TW21Vjdnd7ESyf4km
+N9r86Kqvh4tewz4hwqDKKkl4+p0QXOgsJKzo82Ely4Zsjx1ML4O91HLcVBv6PRrU
+VKmsh3D/z1MmH+cRvLOJ0HElCdmACUKxWo0BqYkeLMyJ5/jCQ0sgzc6cL2eZNU/i
+7AAHPWlunkiT1FaxC1IA2YYFHupkaKGHBA8XRYKO9RN6kHnI/ULogN87Rrw5yXYU
+kI7NgJiEVkOIMx6sSstIjf811GgO778atTQXesjC6PAY9lgHmwmfteIp4l7LuXHO
+E5Btt04jMbyrF7Q9lhdL+AFJuQoMcx1U3lF5OvvwtRCNOK2HNg82SBH3G9Yv7acd
+c3RFGWkdn4bsoyuO/VozCE0XQd9Xih6ZwbyqFaGvLCNnTjFFkfuPrx4Zpg+72TpV
+zLCiQaWZIMxkkfeOa8StWsjKPXQ2kZc08fjFIodr48+cCnVaCTCInQeZLe+HdUXt
+D3WKiGywftzD1FDEJQze91P2Er1ai4E6MIO3Zl5+j9hlqyr6hdRLYfsnmHnL1gYH
+I3/ZHXk+cacMyOgO4EBmTY0OnEHA0iyRlWPVxBLNm7z0
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/client-cert.crl b/mysql-test/std_data/client-cert.crl
index 1f737bf790b..39274af368e 100644
--- a/mysql-test/std_data/client-cert.crl
+++ b/mysql-test/std_data/client-cert.crl
@@ -1,12 +1,17 @@
-----BEGIN X509 CRL-----
-MIIBxTCBrgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNlcnQxCzAJ
+MIICxTCBrgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNlcnQxCzAJ
BgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVsc2lua2kx
-EDAOBgNVBAoMB01hcmlhREIXDTE5MDEyNzEwMTExNVoXDTM5MDEyMjEwMTExNVow
-FDASAgEFFw0xOTAxMjcxMDExMTVaoA4wDDAKBgNVHRQEAwIBAjANBgkqhkiG9w0B
-AQsFAAOCAQEAI0yg8tW6n8m/3g4FO5fjrtwEB1HYnJVLbKT2fOSKs7WN/t6M4ZWo
-hSolEpNozd0yP+20srCMzsg7PuiYV/jMJn0bCw+Q6G7IP2GBlBURRErJ6UNZ+Upe
-Gc+o5tWvb7ROwMj76UBzK5tDsmDapk5102k0sfaIbD51OmA+RxnxbKsGNvAVp9EH
-yN+irF6vfVmbP1WPzGZa6x2s70kiC3peQlnZFOUnhycwVdiRprcUd+ZfMLJ3Ov2b
-oa9P+ntTW/0ijg0QYH6gSQVOl9ZiVhnRR/eO6SrkrevgtAM3pXl4aDdvFyoIXXkh
-mCkYfW7LkH/+OYWyZ1W99cnISM2F+yC1yQ==
+EDAOBgNVBAoMB01hcmlhREIXDTIwMDMwMzAzMDMwM1oXDTQwMDIyNzAzMDMwM1ow
+FDASAgEFFw0yMDAzMDMwMzAzMDNaoA4wDDAKBgNVHRQEAwIBAjANBgkqhkiG9w0B
+AQsFAAOCAgEABDz2kH3Cf4L8xuOWHLoO8y0OIavWMgR/qiDD+kwOUpupxI8GtfBi
+Prkyz/xAWF15rWrEMpr4+KYG1TAUFFj9VLRldfwe4vY524OSKO+a4HKCrSQ8ZIsp
+4Xu2dMcopvVQtT1SpGS2W5Pfe3fu0bqhRQN03HXVtxPHlqjCbdIx5oukVVrFXREc
+9h/3QjDhTuXC2Zcd0IBdRx3+SMphRCIuHdMvqxEMoTqeSGLKdkqhmxLH+RiyuZiP
+WNFl2iYG8l8oLMLjUQe3xeAJSrg/eVzQMc3nFLvqD+dPUVXezAaFq8HJmtrVbpPc
+GG+kQJrcWgQoWS6tucLn+lzyfRJI8ueoTWPBaVv8VSJ9hsJABqR7ggE4KTSr4mXd
+dLd9J6z/1rdB9jZjMcYzJJfZgbU/bDwXK0o890VC46ovJT6BcZIV/cvYYMLJgA/o
++LNa4iu5RgalsCnqGYbs13mCXmBYgpq0wn7O62fUhIB4uDDYLpJfRfF7lySxYKEp
+Q9z+s+8wkn6uWsnl1O2mmQlkTe06qQcoQCqR9/1egDqdIIXSVSCQu1qvS3qy0mrk
+GzVDvGgdzeE1u2ylcLMTIqAdMNpqPuyg69RO26n0PDDoAn+0yuu176f+hcnrrmXX
+iKW9A7GDPn8RcEZ5oU3165T/879FjmrQB3dLQxPyva2IkzkFJn/RFzc=
-----END X509 CRL-----
diff --git a/mysql-test/std_data/client-cert.pem b/mysql-test/std_data/client-cert.pem
index dbd94f57702..82b4851136a 100644
--- a/mysql-test/std_data/client-cert.pem
+++ b/mysql-test/std_data/client-cert.pem
@@ -2,34 +2,51 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number: 5 (0x5)
- Signature Algorithm: sha256WithRSAEncryption
+ Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
Validity
- Not Before: Jan 27 10:11:15 2019 GMT
- Not After : Jan 22 10:11:15 2039 GMT
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
Subject: C=FI, ST=Helsinki, L=Helsinki, O=MariaDB, CN=client
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:a9:10:77:b5:42:8f:e8:ad:69:2a:03:e9:56:f5:
- 2d:d5:ba:92:06:cc:7f:c8:d2:0f:c5:47:fd:3e:db:
- e1:5b:2b:40:ca:f8:05:9c:12:55:ef:0c:4a:92:3d:
- 01:ac:0a:21:72:c4:b4:d9:59:82:75:1d:0c:63:fe:
- 5a:20:7f:c5:53:b2:b9:05:88:60:c7:d9:fd:0f:ce:
- 8f:10:a3:23:74:8f:21:70:56:73:c2:07:f0:79:20:
- 52:1d:e0:30:9d:ed:0d:5a:f2:68:1b:0c:9e:2d:62:
- d6:5c:e3:72:2d:92:79:aa:d0:f0:3a:ed:d6:52:30:
- 3a:e7:91:5e:98:4e:2f:a0:07:d7:73:78:42:02:7d:
- c4:2c:d3:63:03:b7:72:a5:33:da:f7:e9:3f:93:c9:
- 37:19:9f:33:62:4f:1a:03:c3:a6:4b:f4:f5:51:e4:
- ef:af:d6:a7:9a:55:5f:bc:d3:a9:77:90:59:8c:29:
- b5:2d:3d:ef:ba:cd:21:54:24:79:6e:91:be:08:b6:
- b1:9c:78:be:6d:2f:56:72:10:69:91:ee:b3:bd:eb:
- 77:b3:c1:bf:c7:28:c6:ad:70:37:68:da:42:8a:7f:
- dc:3b:40:78:d5:f2:a5:c1:43:c3:61:8e:bb:d0:b8:
- 2d:05:41:7e:f2:b2:49:86:8b:ad:d7:fb:e0:9b:48:
- 7d:af
+ 00:e6:69:89:28:b0:92:32:09:0b:6c:d5:0d:32:ae:
+ 8a:08:19:39:83:ad:26:7b:33:e2:a3:a2:f7:f9:ae:
+ 4f:cd:ab:58:75:8d:66:a3:0d:f4:43:a9:de:4e:04:
+ 03:70:01:0b:fc:eb:04:a1:14:76:61:8d:25:5c:15:
+ 65:dd:f2:a6:cf:23:6e:d6:9f:d8:0c:d1:cc:5e:7e:
+ 8c:2b:de:43:b6:1b:59:fe:f1:7c:76:09:ad:44:26:
+ 2a:61:b1:d1:6d:b5:ea:11:2f:da:00:79:30:6c:a7:
+ 3a:3a:5b:ad:a6:db:29:51:cf:1f:c8:d4:14:57:31:
+ 48:6e:2c:d7:93:bc:c5:2e:c0:a3:6d:7a:4e:ac:46:
+ 57:f5:7a:1f:5c:e7:c3:b8:89:d9:62:8a:05:0c:d8:
+ 88:94:a7:79:ec:71:c8:aa:00:d6:b2:d1:a3:9c:04:
+ b7:d0:6c:f0:fe:e7:c5:5f:e9:44:9f:d1:15:71:c9:
+ de:c1:40:9a:e0:c4:4c:04:20:ed:39:03:f8:fc:4c:
+ ba:5b:f5:48:99:c9:48:b0:47:34:03:81:01:36:c1:
+ db:a8:12:d1:25:cc:60:bd:91:a2:cf:f6:43:dc:dc:
+ 82:09:74:80:25:45:67:bb:31:0e:dc:6f:6e:85:15:
+ c9:f4:88:fa:4c:45:9e:d5:90:b1:9f:94:ec:2d:e6:
+ 09:3b:82:41:60:0b:ee:92:9c:28:90:e3:ee:b6:b6:
+ dd:fe:fd:8e:fe:12:ba:4b:a9:1c:1f:8b:0c:7d:14:
+ af:fd:f8:bd:86:ab:79:05:0c:7d:1d:6b:96:67:f8:
+ cc:d1:5e:cb:ea:d0:ae:5c:e4:c7:7b:c8:a4:b7:0a:
+ 4d:e7:40:94:fa:96:4b:68:c8:3b:72:f6:3b:0d:cf:
+ 51:bf:1e:d8:1d:cd:db:b4:f4:12:2a:31:91:bb:e7:
+ b5:25:3d:6a:67:68:ee:40:5b:ad:9b:20:5e:64:ba:
+ cb:76:32:ff:47:30:4e:fc:48:3d:d0:dd:30:f8:02:
+ 8a:1f:96:dd:2e:d2:3c:ca:90:78:65:68:d8:df:67:
+ 10:50:04:65:c5:14:b1:59:ef:48:fb:87:81:fe:c4:
+ d2:1d:ac:2d:d3:44:5f:26:62:43:54:7c:46:6d:e4:
+ de:bd:7d:a4:f5:68:0d:47:d9:32:d9:be:17:4b:79:
+ 3a:c0:7c:82:08:7a:f5:ee:79:6b:9e:4a:6e:03:ea:
+ 4c:2a:13:5f:35:c9:ac:94:fb:23:36:de:4d:b4:bb:
+ 18:77:db:73:95:4c:eb:33:ce:01:3c:87:18:2e:c4:
+ 49:e4:cd:aa:44:e8:26:13:3d:59:9d:db:c4:87:3b:
+ e1:da:31:a6:65:79:42:13:9e:20:cd:dd:26:e7:20:
+ 66:a3:e1
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
@@ -37,45 +54,70 @@ Certificate:
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
- CE:F4:DF:1F:F9:52:2E:37:2D:3D:8A:B6:DE:41:8C:13:F6:14:4E:57
+ F6:F8:72:05:F3:7C:EC:D5:D0:83:D2:ED:1D:60:98:82:54:D9:09:56
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
Signature Algorithm: sha256WithRSAEncryption
- 65:61:98:4c:62:3c:25:3b:12:2b:4d:78:9a:81:20:e2:4d:1e:
- 1e:c3:78:ca:1b:5b:84:13:7b:11:da:f3:ad:d0:19:f0:02:0c:
- 99:44:d8:52:89:e5:ee:61:9d:8e:ac:30:7a:dc:fc:7e:73:e3:
- 28:39:25:00:78:f2:00:66:63:96:3a:10:af:2b:35:b5:3e:09:
- 87:99:97:dd:29:0b:23:eb:95:fe:a8:f4:f5:4f:db:dd:ac:96:
- 94:7b:b1:ef:47:15:54:6f:d8:1b:43:39:00:34:9f:ad:49:fb:
- 21:26:94:74:20:61:ce:c5:b3:3d:5f:51:46:58:56:dc:2c:8c:
- c3:74:97:83:63:3d:ad:0b:f6:81:63:4d:cb:30:af:45:ce:28:
- fe:e0:68:c4:8f:1a:61:80:7e:56:8d:fc:31:5a:9f:33:37:1f:
- ae:4e:0d:6c:25:e3:0e:13:af:01:1b:82:41:95:a1:83:47:61:
- 40:dd:d4:36:fb:73:7a:98:61:d1:e2:5f:1e:a1:a1:a8:ea:e3:
- 30:c8:74:c2:d2:82:6d:30:e5:e8:8f:b0:2d:1a:93:8e:ab:6b:
- a6:17:36:a3:a2:0c:86:9c:b2:4e:1f:d7:6f:ef:04:f9:05:20:
- b7:4f:e5:e3:9b:58:38:06:aa:d3:64:15:9a:bf:8a:97:fd:39:
- b7:5f:e2:9e
+ 28:17:1b:03:11:ab:8f:62:d2:1a:ce:36:af:25:48:4d:ee:32:
+ 24:b7:b5:76:95:74:55:7d:fd:18:e4:63:92:c3:08:75:b4:93:
+ 6a:31:20:f2:ad:7a:b2:21:c6:86:f2:a7:92:01:53:2f:f2:f4:
+ dd:56:a5:7a:97:b6:05:01:0e:ca:9e:c2:d1:68:3c:ac:75:4a:
+ c9:c4:2f:e3:fb:54:9d:62:27:80:4a:fa:5b:de:03:c3:98:6f:
+ f1:1a:cf:29:a0:1b:a2:2b:66:d8:d9:02:86:d4:d9:14:32:9f:
+ 9b:6c:09:d4:07:b8:a9:03:cb:4e:d8:69:ae:93:76:19:43:19:
+ 6b:fe:b9:6d:ee:3a:39:4c:37:67:d0:db:bd:69:39:aa:64:fe:
+ 18:32:3d:af:06:ae:86:1c:41:b6:29:3c:5d:ed:d3:33:a5:0b:
+ 35:d7:1b:3f:d2:db:ea:ce:6f:83:08:d6:d9:91:cc:d6:56:e6:
+ 7e:7b:ae:ef:6f:65:47:0f:90:74:41:4d:0f:f0:e6:f8:36:63:
+ 25:a6:81:27:09:71:40:d1:65:27:3d:be:78:3e:6c:7d:f9:c2:
+ 09:f1:61:4e:7d:05:34:d7:bb:0c:95:2e:8f:53:23:66:34:4a:
+ 19:be:79:be:d0:03:68:7b:a7:a5:44:dd:2b:bb:c7:4c:0a:a3:
+ f0:2e:cf:01:6b:25:81:b8:19:f3:cf:35:e9:2c:9e:5b:6b:b0:
+ 9b:47:76:46:19:da:74:17:e6:e3:4d:de:b2:38:7c:35:c7:87:
+ d6:62:a6:12:fb:71:bf:f3:ee:54:d3:aa:c2:f7:6b:11:67:e4:
+ 0e:23:43:2a:9a:93:ea:fa:4d:39:dd:42:62:db:d0:da:70:9f:
+ 44:eb:ba:e3:e6:76:10:5b:98:b9:17:b9:d0:da:db:73:20:ce:
+ 2c:d9:28:be:97:82:d5:a9:75:65:88:c5:7c:0e:40:b9:9b:13:
+ 17:9d:e9:a9:38:9c:7c:11:75:4e:69:c1:ad:63:55:1d:7c:ec:
+ 35:38:e7:13:46:ca:2e:7b:99:09:1f:5b:fd:62:68:c5:4f:24:
+ 20:db:b3:bc:56:e7:23:91:40:d0:47:90:1c:ca:f7:d9:26:24:
+ 20:69:f4:41:7c:83:dc:c2:4c:ee:86:8d:6d:b9:63:01:5d:15:
+ 85:8b:e9:e3:d8:0a:4b:0c:14:9f:87:a5:45:3a:b8:3c:57:80:
+ 89:18:c4:7e:d7:c3:73:63:f2:af:eb:49:ec:bb:fc:44:c7:5e:
+ c8:09:35:20:3e:cc:8b:25:18:ec:98:fc:65:97:a7:ba:9d:af:
+ 59:7d:81:24:b8:27:dc:52:80:75:39:3a:6f:a0:50:50:fe:e1:
+ da:b9:ec:1c:43:f1:db:ad
-----BEGIN CERTIFICATE-----
-MIIDojCCAoqgAwIBAgIBBTANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
+MIIFojCCA4qgAwIBAgIBBTANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
-c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTkwMTI3MTAxMTE1WhcNMzkwMTIy
-MTAxMTE1WjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
+c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMjAwMzAzMDMwMzAzWhcNNDAwMjI3
+MDMwMzAzWjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
BAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMQ8wDQYDVQQDDAZjbGllbnQw
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpEHe1Qo/orWkqA+lW9S3V
-upIGzH/I0g/FR/0+2+FbK0DK+AWcElXvDEqSPQGsCiFyxLTZWYJ1HQxj/logf8VT
-srkFiGDH2f0Pzo8QoyN0jyFwVnPCB/B5IFId4DCd7Q1a8mgbDJ4tYtZc43Itknmq
-0PA67dZSMDrnkV6YTi+gB9dzeEICfcQs02MDt3KlM9r36T+TyTcZnzNiTxoDw6ZL
-9PVR5O+v1qeaVV+806l3kFmMKbUtPe+6zSFUJHlukb4ItrGceL5tL1ZyEGmR7rO9
-63ezwb/HKMatcDdo2kKKf9w7QHjV8qXBQ8NhjrvQuC0FQX7yskmGi63X++CbSH2v
-AgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2Vu
-ZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTO9N8f+VIuNy09irbeQYwT9hRO
-VzAfBgNVHSMEGDAWgBTKcZmJ8HKrdWa7ZWoDBHKle5WmkzANBgkqhkiG9w0BAQsF
-AAOCAQEAZWGYTGI8JTsSK014moEg4k0eHsN4yhtbhBN7EdrzrdAZ8AIMmUTYUonl
-7mGdjqwwetz8fnPjKDklAHjyAGZjljoQrys1tT4Jh5mX3SkLI+uV/qj09U/b3ayW
-lHux70cVVG/YG0M5ADSfrUn7ISaUdCBhzsWzPV9RRlhW3CyMw3SXg2M9rQv2gWNN
-yzCvRc4o/uBoxI8aYYB+Vo38MVqfMzcfrk4NbCXjDhOvARuCQZWhg0dhQN3UNvtz
-ephh0eJfHqGhqOrjMMh0wtKCbTDl6I+wLRqTjqtrphc2o6IMhpyyTh/Xb+8E+QUg
-t0/l45tYOAaq02QVmr+Kl/05t1/ing==
+ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDmaYkosJIyCQts1Q0yrooI
+GTmDrSZ7M+Kjovf5rk/Nq1h1jWajDfRDqd5OBANwAQv86wShFHZhjSVcFWXd8qbP
+I27Wn9gM0cxefowr3kO2G1n+8Xx2Ca1EJiphsdFtteoRL9oAeTBspzo6W62m2ylR
+zx/I1BRXMUhuLNeTvMUuwKNtek6sRlf1eh9c58O4idliigUM2IiUp3nscciqANay
+0aOcBLfQbPD+58Vf6USf0RVxyd7BQJrgxEwEIO05A/j8TLpb9UiZyUiwRzQDgQE2
+wduoEtElzGC9kaLP9kPc3IIJdIAlRWe7MQ7cb26FFcn0iPpMRZ7VkLGflOwt5gk7
+gkFgC+6SnCiQ4+62tt3+/Y7+ErpLqRwfiwx9FK/9+L2Gq3kFDH0da5Zn+MzRXsvq
+0K5c5Md7yKS3Ck3nQJT6lktoyDty9jsNz1G/Htgdzdu09BIqMZG757UlPWpnaO5A
+W62bIF5kust2Mv9HME78SD3Q3TD4Aooflt0u0jzKkHhlaNjfZxBQBGXFFLFZ70j7
+h4H+xNIdrC3TRF8mYkNUfEZt5N69faT1aA1H2TLZvhdLeTrAfIIIevXueWueSm4D
+6kwqE181yayU+yM23k20uxh323OVTOszzgE8hxguxEnkzapE6CYTPVmd28SHO+Ha
+MaZleUITniDN3SbnIGaj4QIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIB
+DQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU9vhy
+BfN87NXQg9LtHWCYglTZCVYwHwYDVR0jBBgwFoAUTfx6GfMrDH32wHxN+HI0TIw1
+UnQwDQYJKoZIhvcNAQELBQADggIBACgXGwMRq49i0hrONq8lSE3uMiS3tXaVdFV9
+/RjkY5LDCHW0k2oxIPKterIhxobyp5IBUy/y9N1WpXqXtgUBDsqewtFoPKx1SsnE
+L+P7VJ1iJ4BK+lveA8OYb/EazymgG6IrZtjZAobU2RQyn5tsCdQHuKkDy07Yaa6T
+dhlDGWv+uW3uOjlMN2fQ271pOapk/hgyPa8GroYcQbYpPF3t0zOlCzXXGz/S2+rO
+b4MI1tmRzNZW5n57ru9vZUcPkHRBTQ/w5vg2YyWmgScJcUDRZSc9vng+bH35wgnx
+YU59BTTXuwyVLo9TI2Y0Shm+eb7QA2h7p6VE3Su7x0wKo/AuzwFrJYG4GfPPNeks
+nltrsJtHdkYZ2nQX5uNN3rI4fDXHh9ZiphL7cb/z7lTTqsL3axFn5A4jQyqak+r6
+TTndQmLb0Npwn0TruuPmdhBbmLkXudDa23MgzizZKL6XgtWpdWWIxXwOQLmbExed
+6ak4nHwRdU5pwa1jVR187DU45xNGyi57mQkfW/1iaMVPJCDbs7xW5yORQNBHkBzK
+99kmJCBp9EF8g9zCTO6GjW25YwFdFYWL6ePYCksMFJ+HpUU6uDxXgIkYxH7Xw3Nj
+8q/rSey7/ETHXsgJNSA+zIslGOyY/GWXp7qdr1l9gSS4J9xSgHU5Om+gUFD+4dq5
+7BxD8dut
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/client-certkey.pem b/mysql-test/std_data/client-certkey.pem
index f60b9db309a..4787f2d59d1 100644
--- a/mysql-test/std_data/client-certkey.pem
+++ b/mysql-test/std_data/client-certkey.pem
@@ -2,34 +2,51 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number: 5 (0x5)
- Signature Algorithm: sha256WithRSAEncryption
+ Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
Validity
- Not Before: Jan 27 10:11:15 2019 GMT
- Not After : Jan 22 10:11:15 2039 GMT
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
Subject: C=FI, ST=Helsinki, L=Helsinki, O=MariaDB, CN=client
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:a9:10:77:b5:42:8f:e8:ad:69:2a:03:e9:56:f5:
- 2d:d5:ba:92:06:cc:7f:c8:d2:0f:c5:47:fd:3e:db:
- e1:5b:2b:40:ca:f8:05:9c:12:55:ef:0c:4a:92:3d:
- 01:ac:0a:21:72:c4:b4:d9:59:82:75:1d:0c:63:fe:
- 5a:20:7f:c5:53:b2:b9:05:88:60:c7:d9:fd:0f:ce:
- 8f:10:a3:23:74:8f:21:70:56:73:c2:07:f0:79:20:
- 52:1d:e0:30:9d:ed:0d:5a:f2:68:1b:0c:9e:2d:62:
- d6:5c:e3:72:2d:92:79:aa:d0:f0:3a:ed:d6:52:30:
- 3a:e7:91:5e:98:4e:2f:a0:07:d7:73:78:42:02:7d:
- c4:2c:d3:63:03:b7:72:a5:33:da:f7:e9:3f:93:c9:
- 37:19:9f:33:62:4f:1a:03:c3:a6:4b:f4:f5:51:e4:
- ef:af:d6:a7:9a:55:5f:bc:d3:a9:77:90:59:8c:29:
- b5:2d:3d:ef:ba:cd:21:54:24:79:6e:91:be:08:b6:
- b1:9c:78:be:6d:2f:56:72:10:69:91:ee:b3:bd:eb:
- 77:b3:c1:bf:c7:28:c6:ad:70:37:68:da:42:8a:7f:
- dc:3b:40:78:d5:f2:a5:c1:43:c3:61:8e:bb:d0:b8:
- 2d:05:41:7e:f2:b2:49:86:8b:ad:d7:fb:e0:9b:48:
- 7d:af
+ 00:e6:69:89:28:b0:92:32:09:0b:6c:d5:0d:32:ae:
+ 8a:08:19:39:83:ad:26:7b:33:e2:a3:a2:f7:f9:ae:
+ 4f:cd:ab:58:75:8d:66:a3:0d:f4:43:a9:de:4e:04:
+ 03:70:01:0b:fc:eb:04:a1:14:76:61:8d:25:5c:15:
+ 65:dd:f2:a6:cf:23:6e:d6:9f:d8:0c:d1:cc:5e:7e:
+ 8c:2b:de:43:b6:1b:59:fe:f1:7c:76:09:ad:44:26:
+ 2a:61:b1:d1:6d:b5:ea:11:2f:da:00:79:30:6c:a7:
+ 3a:3a:5b:ad:a6:db:29:51:cf:1f:c8:d4:14:57:31:
+ 48:6e:2c:d7:93:bc:c5:2e:c0:a3:6d:7a:4e:ac:46:
+ 57:f5:7a:1f:5c:e7:c3:b8:89:d9:62:8a:05:0c:d8:
+ 88:94:a7:79:ec:71:c8:aa:00:d6:b2:d1:a3:9c:04:
+ b7:d0:6c:f0:fe:e7:c5:5f:e9:44:9f:d1:15:71:c9:
+ de:c1:40:9a:e0:c4:4c:04:20:ed:39:03:f8:fc:4c:
+ ba:5b:f5:48:99:c9:48:b0:47:34:03:81:01:36:c1:
+ db:a8:12:d1:25:cc:60:bd:91:a2:cf:f6:43:dc:dc:
+ 82:09:74:80:25:45:67:bb:31:0e:dc:6f:6e:85:15:
+ c9:f4:88:fa:4c:45:9e:d5:90:b1:9f:94:ec:2d:e6:
+ 09:3b:82:41:60:0b:ee:92:9c:28:90:e3:ee:b6:b6:
+ dd:fe:fd:8e:fe:12:ba:4b:a9:1c:1f:8b:0c:7d:14:
+ af:fd:f8:bd:86:ab:79:05:0c:7d:1d:6b:96:67:f8:
+ cc:d1:5e:cb:ea:d0:ae:5c:e4:c7:7b:c8:a4:b7:0a:
+ 4d:e7:40:94:fa:96:4b:68:c8:3b:72:f6:3b:0d:cf:
+ 51:bf:1e:d8:1d:cd:db:b4:f4:12:2a:31:91:bb:e7:
+ b5:25:3d:6a:67:68:ee:40:5b:ad:9b:20:5e:64:ba:
+ cb:76:32:ff:47:30:4e:fc:48:3d:d0:dd:30:f8:02:
+ 8a:1f:96:dd:2e:d2:3c:ca:90:78:65:68:d8:df:67:
+ 10:50:04:65:c5:14:b1:59:ef:48:fb:87:81:fe:c4:
+ d2:1d:ac:2d:d3:44:5f:26:62:43:54:7c:46:6d:e4:
+ de:bd:7d:a4:f5:68:0d:47:d9:32:d9:be:17:4b:79:
+ 3a:c0:7c:82:08:7a:f5:ee:79:6b:9e:4a:6e:03:ea:
+ 4c:2a:13:5f:35:c9:ac:94:fb:23:36:de:4d:b4:bb:
+ 18:77:db:73:95:4c:eb:33:ce:01:3c:87:18:2e:c4:
+ 49:e4:cd:aa:44:e8:26:13:3d:59:9d:db:c4:87:3b:
+ e1:da:31:a6:65:79:42:13:9e:20:cd:dd:26:e7:20:
+ 66:a3:e1
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
@@ -37,72 +54,121 @@ Certificate:
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
- CE:F4:DF:1F:F9:52:2E:37:2D:3D:8A:B6:DE:41:8C:13:F6:14:4E:57
+ F6:F8:72:05:F3:7C:EC:D5:D0:83:D2:ED:1D:60:98:82:54:D9:09:56
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
Signature Algorithm: sha256WithRSAEncryption
- 65:61:98:4c:62:3c:25:3b:12:2b:4d:78:9a:81:20:e2:4d:1e:
- 1e:c3:78:ca:1b:5b:84:13:7b:11:da:f3:ad:d0:19:f0:02:0c:
- 99:44:d8:52:89:e5:ee:61:9d:8e:ac:30:7a:dc:fc:7e:73:e3:
- 28:39:25:00:78:f2:00:66:63:96:3a:10:af:2b:35:b5:3e:09:
- 87:99:97:dd:29:0b:23:eb:95:fe:a8:f4:f5:4f:db:dd:ac:96:
- 94:7b:b1:ef:47:15:54:6f:d8:1b:43:39:00:34:9f:ad:49:fb:
- 21:26:94:74:20:61:ce:c5:b3:3d:5f:51:46:58:56:dc:2c:8c:
- c3:74:97:83:63:3d:ad:0b:f6:81:63:4d:cb:30:af:45:ce:28:
- fe:e0:68:c4:8f:1a:61:80:7e:56:8d:fc:31:5a:9f:33:37:1f:
- ae:4e:0d:6c:25:e3:0e:13:af:01:1b:82:41:95:a1:83:47:61:
- 40:dd:d4:36:fb:73:7a:98:61:d1:e2:5f:1e:a1:a1:a8:ea:e3:
- 30:c8:74:c2:d2:82:6d:30:e5:e8:8f:b0:2d:1a:93:8e:ab:6b:
- a6:17:36:a3:a2:0c:86:9c:b2:4e:1f:d7:6f:ef:04:f9:05:20:
- b7:4f:e5:e3:9b:58:38:06:aa:d3:64:15:9a:bf:8a:97:fd:39:
- b7:5f:e2:9e
+ 28:17:1b:03:11:ab:8f:62:d2:1a:ce:36:af:25:48:4d:ee:32:
+ 24:b7:b5:76:95:74:55:7d:fd:18:e4:63:92:c3:08:75:b4:93:
+ 6a:31:20:f2:ad:7a:b2:21:c6:86:f2:a7:92:01:53:2f:f2:f4:
+ dd:56:a5:7a:97:b6:05:01:0e:ca:9e:c2:d1:68:3c:ac:75:4a:
+ c9:c4:2f:e3:fb:54:9d:62:27:80:4a:fa:5b:de:03:c3:98:6f:
+ f1:1a:cf:29:a0:1b:a2:2b:66:d8:d9:02:86:d4:d9:14:32:9f:
+ 9b:6c:09:d4:07:b8:a9:03:cb:4e:d8:69:ae:93:76:19:43:19:
+ 6b:fe:b9:6d:ee:3a:39:4c:37:67:d0:db:bd:69:39:aa:64:fe:
+ 18:32:3d:af:06:ae:86:1c:41:b6:29:3c:5d:ed:d3:33:a5:0b:
+ 35:d7:1b:3f:d2:db:ea:ce:6f:83:08:d6:d9:91:cc:d6:56:e6:
+ 7e:7b:ae:ef:6f:65:47:0f:90:74:41:4d:0f:f0:e6:f8:36:63:
+ 25:a6:81:27:09:71:40:d1:65:27:3d:be:78:3e:6c:7d:f9:c2:
+ 09:f1:61:4e:7d:05:34:d7:bb:0c:95:2e:8f:53:23:66:34:4a:
+ 19:be:79:be:d0:03:68:7b:a7:a5:44:dd:2b:bb:c7:4c:0a:a3:
+ f0:2e:cf:01:6b:25:81:b8:19:f3:cf:35:e9:2c:9e:5b:6b:b0:
+ 9b:47:76:46:19:da:74:17:e6:e3:4d:de:b2:38:7c:35:c7:87:
+ d6:62:a6:12:fb:71:bf:f3:ee:54:d3:aa:c2:f7:6b:11:67:e4:
+ 0e:23:43:2a:9a:93:ea:fa:4d:39:dd:42:62:db:d0:da:70:9f:
+ 44:eb:ba:e3:e6:76:10:5b:98:b9:17:b9:d0:da:db:73:20:ce:
+ 2c:d9:28:be:97:82:d5:a9:75:65:88:c5:7c:0e:40:b9:9b:13:
+ 17:9d:e9:a9:38:9c:7c:11:75:4e:69:c1:ad:63:55:1d:7c:ec:
+ 35:38:e7:13:46:ca:2e:7b:99:09:1f:5b:fd:62:68:c5:4f:24:
+ 20:db:b3:bc:56:e7:23:91:40:d0:47:90:1c:ca:f7:d9:26:24:
+ 20:69:f4:41:7c:83:dc:c2:4c:ee:86:8d:6d:b9:63:01:5d:15:
+ 85:8b:e9:e3:d8:0a:4b:0c:14:9f:87:a5:45:3a:b8:3c:57:80:
+ 89:18:c4:7e:d7:c3:73:63:f2:af:eb:49:ec:bb:fc:44:c7:5e:
+ c8:09:35:20:3e:cc:8b:25:18:ec:98:fc:65:97:a7:ba:9d:af:
+ 59:7d:81:24:b8:27:dc:52:80:75:39:3a:6f:a0:50:50:fe:e1:
+ da:b9:ec:1c:43:f1:db:ad
-----BEGIN CERTIFICATE-----
-MIIDojCCAoqgAwIBAgIBBTANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
+MIIFojCCA4qgAwIBAgIBBTANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
-c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTkwMTI3MTAxMTE1WhcNMzkwMTIy
-MTAxMTE1WjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
+c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMjAwMzAzMDMwMzAzWhcNNDAwMjI3
+MDMwMzAzWjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
BAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMQ8wDQYDVQQDDAZjbGllbnQw
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpEHe1Qo/orWkqA+lW9S3V
-upIGzH/I0g/FR/0+2+FbK0DK+AWcElXvDEqSPQGsCiFyxLTZWYJ1HQxj/logf8VT
-srkFiGDH2f0Pzo8QoyN0jyFwVnPCB/B5IFId4DCd7Q1a8mgbDJ4tYtZc43Itknmq
-0PA67dZSMDrnkV6YTi+gB9dzeEICfcQs02MDt3KlM9r36T+TyTcZnzNiTxoDw6ZL
-9PVR5O+v1qeaVV+806l3kFmMKbUtPe+6zSFUJHlukb4ItrGceL5tL1ZyEGmR7rO9
-63ezwb/HKMatcDdo2kKKf9w7QHjV8qXBQ8NhjrvQuC0FQX7yskmGi63X++CbSH2v
-AgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2Vu
-ZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTO9N8f+VIuNy09irbeQYwT9hRO
-VzAfBgNVHSMEGDAWgBTKcZmJ8HKrdWa7ZWoDBHKle5WmkzANBgkqhkiG9w0BAQsF
-AAOCAQEAZWGYTGI8JTsSK014moEg4k0eHsN4yhtbhBN7EdrzrdAZ8AIMmUTYUonl
-7mGdjqwwetz8fnPjKDklAHjyAGZjljoQrys1tT4Jh5mX3SkLI+uV/qj09U/b3ayW
-lHux70cVVG/YG0M5ADSfrUn7ISaUdCBhzsWzPV9RRlhW3CyMw3SXg2M9rQv2gWNN
-yzCvRc4o/uBoxI8aYYB+Vo38MVqfMzcfrk4NbCXjDhOvARuCQZWhg0dhQN3UNvtz
-ephh0eJfHqGhqOrjMMh0wtKCbTDl6I+wLRqTjqtrphc2o6IMhpyyTh/Xb+8E+QUg
-t0/l45tYOAaq02QVmr+Kl/05t1/ing==
+ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDmaYkosJIyCQts1Q0yrooI
+GTmDrSZ7M+Kjovf5rk/Nq1h1jWajDfRDqd5OBANwAQv86wShFHZhjSVcFWXd8qbP
+I27Wn9gM0cxefowr3kO2G1n+8Xx2Ca1EJiphsdFtteoRL9oAeTBspzo6W62m2ylR
+zx/I1BRXMUhuLNeTvMUuwKNtek6sRlf1eh9c58O4idliigUM2IiUp3nscciqANay
+0aOcBLfQbPD+58Vf6USf0RVxyd7BQJrgxEwEIO05A/j8TLpb9UiZyUiwRzQDgQE2
+wduoEtElzGC9kaLP9kPc3IIJdIAlRWe7MQ7cb26FFcn0iPpMRZ7VkLGflOwt5gk7
+gkFgC+6SnCiQ4+62tt3+/Y7+ErpLqRwfiwx9FK/9+L2Gq3kFDH0da5Zn+MzRXsvq
+0K5c5Md7yKS3Ck3nQJT6lktoyDty9jsNz1G/Htgdzdu09BIqMZG757UlPWpnaO5A
+W62bIF5kust2Mv9HME78SD3Q3TD4Aooflt0u0jzKkHhlaNjfZxBQBGXFFLFZ70j7
+h4H+xNIdrC3TRF8mYkNUfEZt5N69faT1aA1H2TLZvhdLeTrAfIIIevXueWueSm4D
+6kwqE181yayU+yM23k20uxh323OVTOszzgE8hxguxEnkzapE6CYTPVmd28SHO+Ha
+MaZleUITniDN3SbnIGaj4QIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIB
+DQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU9vhy
+BfN87NXQg9LtHWCYglTZCVYwHwYDVR0jBBgwFoAUTfx6GfMrDH32wHxN+HI0TIw1
+UnQwDQYJKoZIhvcNAQELBQADggIBACgXGwMRq49i0hrONq8lSE3uMiS3tXaVdFV9
+/RjkY5LDCHW0k2oxIPKterIhxobyp5IBUy/y9N1WpXqXtgUBDsqewtFoPKx1SsnE
+L+P7VJ1iJ4BK+lveA8OYb/EazymgG6IrZtjZAobU2RQyn5tsCdQHuKkDy07Yaa6T
+dhlDGWv+uW3uOjlMN2fQ271pOapk/hgyPa8GroYcQbYpPF3t0zOlCzXXGz/S2+rO
+b4MI1tmRzNZW5n57ru9vZUcPkHRBTQ/w5vg2YyWmgScJcUDRZSc9vng+bH35wgnx
+YU59BTTXuwyVLo9TI2Y0Shm+eb7QA2h7p6VE3Su7x0wKo/AuzwFrJYG4GfPPNeks
+nltrsJtHdkYZ2nQX5uNN3rI4fDXHh9ZiphL7cb/z7lTTqsL3axFn5A4jQyqak+r6
+TTndQmLb0Npwn0TruuPmdhBbmLkXudDa23MgzizZKL6XgtWpdWWIxXwOQLmbExed
+6ak4nHwRdU5pwa1jVR187DU45xNGyi57mQkfW/1iaMVPJCDbs7xW5yORQNBHkBzK
+99kmJCBp9EF8g9zCTO6GjW25YwFdFYWL6ePYCksMFJ+HpUU6uDxXgIkYxH7Xw3Nj
+8q/rSey7/ETHXsgJNSA+zIslGOyY/GWXp7qdr1l9gSS4J9xSgHU5Om+gUFD+4dq5
+7BxD8dut
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAqRB3tUKP6K1pKgPpVvUt1bqSBsx/yNIPxUf9PtvhWytAyvgF
-nBJV7wxKkj0BrAohcsS02VmCdR0MY/5aIH/FU7K5BYhgx9n9D86PEKMjdI8hcFZz
-wgfweSBSHeAwne0NWvJoGwyeLWLWXONyLZJ5qtDwOu3WUjA655FemE4voAfXc3hC
-An3ELNNjA7dypTPa9+k/k8k3GZ8zYk8aA8OmS/T1UeTvr9anmlVfvNOpd5BZjCm1
-LT3vus0hVCR5bpG+CLaxnHi+bS9WchBpke6zvet3s8G/xyjGrXA3aNpCin/cO0B4
-1fKlwUPDYY670LgtBUF+8rJJhout1/vgm0h9rwIDAQABAoIBAQCAMnODZ+C13+DR
-sjua67mAysN2ElWHUvoQb2Ex7At7VVYBUob2bNTqulhFgasl6FyqqUw1T/Fjms5N
-eI6g/CIGMIyqDFrO0JZbCRdk1z/IX8xMYdHPPLP1NTPvYZOb/SfWYd/dOvkqkzrX
-HsTyl5JYm6y+EqEkm1vfQlUHiqoEXxG7hkYSIU6uXmRgeHHfw0Nuy/DizQFVZTAi
-yPoYQlMm13S1oIhr1cQRAHS41aWGl4dmprbS0Drqqr8kl2xrFEgZ/YLcwYKjAMzi
-UbkgOBU11DuLd0E+J/9iUhK5YTsMxo1TO89p7yNLHvT4NBhV3cuicq9aaWYeSijf
-VhDo+k4hAoGBAN1jlrElHmJcxI6JpA7BfX2BI5XTiQrq07jNkNMD1IlUe3zAnnq0
-DbwtXWYcolapYA9SbsXgHoEDhBjFJsz8fjqX/RKpBy0XZQuWImP0sYBficyWkKSQ
-yO0I9RNq6zERKSCP/wJMBGuRAVjlgrY6mBNVr2NmyqvVLzNNNUeCTcC/AoGBAMN+
-vrALUkMrJ8Oh5ay4IW+5toOu6/4TUyOK7zN23jGaObbPy/tLcgvpZ1xQsvuhvesG
-ubIr98st7J9+V/+mGMrvf5s4TlHUtB26E56wZrque98tBe8IG7Wh5dYut9PLw31K
-npT9fAYy8nsY2c7g5cs/vfJ+ixFj5ytsiYgjjI8RAoGBAMz32xh/CTaANOrSvDV9
-JrX/zfZ1NrgI2aSLjb4QGcJbmUjS/OcVtHG4fnR/pj0d63XEGBLTgOppWu+j+Fxo
-mGWfOgsAu0ggFMk5YvWwInZ7/ZSRAbGa6quqU1x67O0suisPpkV2I9GDGwA23WHh
-tdKQziT1kkasxVp17RIbrej5AoGAHMki5uUj3cQS/Nlv6jjKo5ri5wzwrt7FlSw2
-AIv2N7OP3/1E+eGoD1z03UD8udSdFGhPG48h04cVmn6OEpSwfeE6Fu75iU8anm3x
-yaIL3l0m3DvS7dlxyxLltt32L3eHd4FvTFzu0DLcRYfpOm8fJwhhvb0oWQ0u0tQO
-hD9HySECgYEAnLQnpkmFfr+1Gfg19N28Pvgh9NJMxvt4zVP+MZ8xR8gI+peqjZLp
-KDGtIlQ7bPnjMopeWojf7mOnlsvR4mChXJ6Uw1XGZjgMQnQtOrrHSuzdoWDJDteu
-8ftYoxWkqclzIrytpsOxon/Epq9i/D019V3+p+IhJ7NKiwqh0Ui66co=
+MIIJKAIBAAKCAgEA5mmJKLCSMgkLbNUNMq6KCBk5g60mezPio6L3+a5PzatYdY1m
+ow30Q6neTgQDcAEL/OsEoRR2YY0lXBVl3fKmzyNu1p/YDNHMXn6MK95DthtZ/vF8
+dgmtRCYqYbHRbbXqES/aAHkwbKc6OlutptspUc8fyNQUVzFIbizXk7zFLsCjbXpO
+rEZX9XofXOfDuInZYooFDNiIlKd57HHIqgDWstGjnAS30Gzw/ufFX+lEn9EVccne
+wUCa4MRMBCDtOQP4/Ey6W/VImclIsEc0A4EBNsHbqBLRJcxgvZGiz/ZD3NyCCXSA
+JUVnuzEO3G9uhRXJ9Ij6TEWe1ZCxn5TsLeYJO4JBYAvukpwokOPutrbd/v2O/hK6
+S6kcH4sMfRSv/fi9hqt5BQx9HWuWZ/jM0V7L6tCuXOTHe8iktwpN50CU+pZLaMg7
+cvY7Dc9Rvx7YHc3btPQSKjGRu+e1JT1qZ2juQFutmyBeZLrLdjL/RzBO/Eg90N0w
++AKKH5bdLtI8ypB4ZWjY32cQUARlxRSxWe9I+4eB/sTSHawt00RfJmJDVHxGbeTe
+vX2k9WgNR9ky2b4XS3k6wHyCCHr17nlrnkpuA+pMKhNfNcmslPsjNt5NtLsYd9tz
+lUzrM84BPIcYLsRJ5M2qROgmEz1ZndvEhzvh2jGmZXlCE54gzd0m5yBmo+ECAwEA
+AQKCAgBkjeAu4sgaj/nteBk3ahaRLDj+bz1g/SbGlSO1Uk4/iqyjOJ93P2q/cM20
+rGm3oq1Rplsx1RVIw2lvg2Mednw339XKUp3eEl0nTADuUCSqv8sJyOexN83m9OUA
+F7M3NvG8qG5yUHFCqcRunX3uWKzyp/rOEUgDOV3Lv0QhlHtVSPrJl1voMRbH6ZDw
+YbD3wykcqPFFRuZsQZ6jApE5J/6KsZS+TQzPKAwQoqNvlQS+3meGbjwJiKFOwDwQ
+fTIp9MLfkLiv0x7pBn/zdk+Ly+v0squi8PtXjJcXhAxSx72cEJurdq1KFr0LY4CB
+0Ruhdv3Y+0KIsMV9nJT3+O0NptuVya+LuMsVcld6c/Ux650baqrpdqQ7BC+q3fHc
+IT5G94mO1oTk03Ki50cEuZ861VuGLswivS4e/cdOQEtMRgNL4eeFk0FYDw1EMEYJ
+yylX0FhkUphgqm/yZqv1k6vzGh56H/aFDiEcCF57bycEP6CGFugRb+/2AxI3p8ax
+A77wyTcmuptnPJ6efpYseUyYcJu0WpO4+WIhS+o4dOgbN/J91A7EORKmBiMnPtvg
+e8dkBijTIDV4WyDudjKqSTwIZkmdUFaoGmmdw1H3jcaTAbBt7Pf9EwrVOKSyIPP0
+oFmWkiCHN4h9VpDGpEp/n+usqovj6dqfe/8Kq7ZqwtJiyfxXMQKCAQEA/l9jXIqt
+FcbSvddGv1gfiGsRGUU6J2GGgkFAlBlUidWrVxn8XjhHEptm9rgamxRypUQIjl4D
+nkGBBlwzPVYv2ERk1uCs0iBkS0LSH1WcS7zHR0DH+fPS+V+S99O5Yq1LN5TMY4ao
+YG1MRxM7cz29HBkSwvmF26AFOfhuotItEB43RiLxQUVknKepcItwoADFVBFRBX1I
+uQTNkXuSqtll8mR5uVXEfgyyTlLy8vHOf0q6z6pd9yBw6yWq/91h0CWUe2hDsrz9
+CMpXOSNrRXeDGjmPfdvAQ/vofZ84HqwYgdX1P4Fgdn40XTlLn7+0SEaMjHmJ6cVp
+MfXp9CJ4636thQKCAQEA5+Lnw6N2amcI1G/oVELioxlzv+pu+b5CFyKqnQMtvqJX
+jBU/+a8ESJVb/t41dPlOYno4nUIhHt2DeolXah60Ws4Mcq869mYWfsQyCtKB/pHr
+5ycMf2oGH20C2Tns4oRofDYMqXjLOY8LpP4NF+Ix/jvZrfjF92bjPD9DLyzZs9+O
+PebdhqHH7DUgGC0FRRzdGAX7Im7YdUgKzLBcGuUWRBjtPBPAwQAtPiEgtfUAD5gh
+Dio5nF04AvIaGvz8qj2pg9E70hGhQ0fObky6lE3AlgOmapKOzZwpa7MkOZuiS+CK
+eV6rZoLUop/etmZK06patOWZCsLAwb6nWzo1wo8trQKCAQEA1r9xAw+QUHIqOFsm
+PyQGewToyozHK7gJ9q1f96fq1vKsVDx78o9QcUUBCAklbQc2Qo/NKWP1agWjB9uO
+5pl8ivgyqbXEMSFniqI/AnUkHkyhcGYgbcSKuD0XtmHogIYMmj/kzaFBRScA3oA+
+EGxu2unQDQrbFy9hOi+iN5N4t8LKp0uYoaIT7q0dPwZ5bps3/GEiJaA/ZPPJGKla
+iSJADwMEQJNH76KIZddhg/jgfFZ6oBcUfS3GJr8GPjyH91HCqOy9OoiSlnk8aeCd
+D2h2Jg2yNm7vQnXJMUTZ/AsOJY6cHaD77w1c59cXISaW7O2ienWhGNqwlJ0nhhQU
+QbwQgQKCAQBkBO9K53rwMjkQyKRBlAgFqbjPkuMDPhlruTw2NWTJ0WRJu/C4VdFX
+LXVc3aPZLJ+uwmEhE6ENmyZW+F6IG25XrICaBxM7rJUPYLjlCh+gGnjSX3l4i9bQ
+P0j3QZD3s30N9pJHlx6xWQ4AwMQNBTfjHRWrgJ6DNBHXrsHf20yb1VWZRbdPlwCQ
+1eleBC09vlFvR0UneQBMtiJSX8+ami2cedP6EdsWZGkfX1KoqWC5WTkIzxXCaEL8
+oki4U174X1h6zwkqdwhD6PkVgmsIBPGIw1JIraaC8VS8a6y4XHUInXWdHER6Fvx4
+mNSLgFvOKLCvTklQ5ugVqZKuOtFtdiyRAoIBAB4OaDQlqmPm+IPpvltf7tM3ZYut
+tqyFbL2YguRn6Dtl+slZWnv9hwj5RoPnCy66exAqU9PuMRefpzA52HOSToDuPZIF
+NyUH9WABJkRXyU+qCzN/BbrdU+XiVQK9+F2uw3K6i1tCPCppww9GrKYgeaJlB4TT
+cQDaXdXk+/UX2Ejhs8KRDfnBHkhpbSeY18Dt+nqsAmfMGyAw2iehDH7LbbWxGeHG
+8DdeAjWR7zqDeBVzay+1i/wSxr1oKVY6vODqbfU0qbEGyqTAQUuAPYy+51lfk6PK
+pnXdg1T/X4mM/hsTZJP7qjDsBa2gDX9rpOwfI3WcAhrrEgsa5oK//y749RI=
-----END RSA PRIVATE KEY-----
diff --git a/mysql-test/std_data/client-key.pem b/mysql-test/std_data/client-key.pem
index 726cb5f5132..2df0fa6d487 100644
--- a/mysql-test/std_data/client-key.pem
+++ b/mysql-test/std_data/client-key.pem
@@ -1,27 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAqRB3tUKP6K1pKgPpVvUt1bqSBsx/yNIPxUf9PtvhWytAyvgF
-nBJV7wxKkj0BrAohcsS02VmCdR0MY/5aIH/FU7K5BYhgx9n9D86PEKMjdI8hcFZz
-wgfweSBSHeAwne0NWvJoGwyeLWLWXONyLZJ5qtDwOu3WUjA655FemE4voAfXc3hC
-An3ELNNjA7dypTPa9+k/k8k3GZ8zYk8aA8OmS/T1UeTvr9anmlVfvNOpd5BZjCm1
-LT3vus0hVCR5bpG+CLaxnHi+bS9WchBpke6zvet3s8G/xyjGrXA3aNpCin/cO0B4
-1fKlwUPDYY670LgtBUF+8rJJhout1/vgm0h9rwIDAQABAoIBAQCAMnODZ+C13+DR
-sjua67mAysN2ElWHUvoQb2Ex7At7VVYBUob2bNTqulhFgasl6FyqqUw1T/Fjms5N
-eI6g/CIGMIyqDFrO0JZbCRdk1z/IX8xMYdHPPLP1NTPvYZOb/SfWYd/dOvkqkzrX
-HsTyl5JYm6y+EqEkm1vfQlUHiqoEXxG7hkYSIU6uXmRgeHHfw0Nuy/DizQFVZTAi
-yPoYQlMm13S1oIhr1cQRAHS41aWGl4dmprbS0Drqqr8kl2xrFEgZ/YLcwYKjAMzi
-UbkgOBU11DuLd0E+J/9iUhK5YTsMxo1TO89p7yNLHvT4NBhV3cuicq9aaWYeSijf
-VhDo+k4hAoGBAN1jlrElHmJcxI6JpA7BfX2BI5XTiQrq07jNkNMD1IlUe3zAnnq0
-DbwtXWYcolapYA9SbsXgHoEDhBjFJsz8fjqX/RKpBy0XZQuWImP0sYBficyWkKSQ
-yO0I9RNq6zERKSCP/wJMBGuRAVjlgrY6mBNVr2NmyqvVLzNNNUeCTcC/AoGBAMN+
-vrALUkMrJ8Oh5ay4IW+5toOu6/4TUyOK7zN23jGaObbPy/tLcgvpZ1xQsvuhvesG
-ubIr98st7J9+V/+mGMrvf5s4TlHUtB26E56wZrque98tBe8IG7Wh5dYut9PLw31K
-npT9fAYy8nsY2c7g5cs/vfJ+ixFj5ytsiYgjjI8RAoGBAMz32xh/CTaANOrSvDV9
-JrX/zfZ1NrgI2aSLjb4QGcJbmUjS/OcVtHG4fnR/pj0d63XEGBLTgOppWu+j+Fxo
-mGWfOgsAu0ggFMk5YvWwInZ7/ZSRAbGa6quqU1x67O0suisPpkV2I9GDGwA23WHh
-tdKQziT1kkasxVp17RIbrej5AoGAHMki5uUj3cQS/Nlv6jjKo5ri5wzwrt7FlSw2
-AIv2N7OP3/1E+eGoD1z03UD8udSdFGhPG48h04cVmn6OEpSwfeE6Fu75iU8anm3x
-yaIL3l0m3DvS7dlxyxLltt32L3eHd4FvTFzu0DLcRYfpOm8fJwhhvb0oWQ0u0tQO
-hD9HySECgYEAnLQnpkmFfr+1Gfg19N28Pvgh9NJMxvt4zVP+MZ8xR8gI+peqjZLp
-KDGtIlQ7bPnjMopeWojf7mOnlsvR4mChXJ6Uw1XGZjgMQnQtOrrHSuzdoWDJDteu
-8ftYoxWkqclzIrytpsOxon/Epq9i/D019V3+p+IhJ7NKiwqh0Ui66co=
+MIIJKAIBAAKCAgEA5mmJKLCSMgkLbNUNMq6KCBk5g60mezPio6L3+a5PzatYdY1m
+ow30Q6neTgQDcAEL/OsEoRR2YY0lXBVl3fKmzyNu1p/YDNHMXn6MK95DthtZ/vF8
+dgmtRCYqYbHRbbXqES/aAHkwbKc6OlutptspUc8fyNQUVzFIbizXk7zFLsCjbXpO
+rEZX9XofXOfDuInZYooFDNiIlKd57HHIqgDWstGjnAS30Gzw/ufFX+lEn9EVccne
+wUCa4MRMBCDtOQP4/Ey6W/VImclIsEc0A4EBNsHbqBLRJcxgvZGiz/ZD3NyCCXSA
+JUVnuzEO3G9uhRXJ9Ij6TEWe1ZCxn5TsLeYJO4JBYAvukpwokOPutrbd/v2O/hK6
+S6kcH4sMfRSv/fi9hqt5BQx9HWuWZ/jM0V7L6tCuXOTHe8iktwpN50CU+pZLaMg7
+cvY7Dc9Rvx7YHc3btPQSKjGRu+e1JT1qZ2juQFutmyBeZLrLdjL/RzBO/Eg90N0w
++AKKH5bdLtI8ypB4ZWjY32cQUARlxRSxWe9I+4eB/sTSHawt00RfJmJDVHxGbeTe
+vX2k9WgNR9ky2b4XS3k6wHyCCHr17nlrnkpuA+pMKhNfNcmslPsjNt5NtLsYd9tz
+lUzrM84BPIcYLsRJ5M2qROgmEz1ZndvEhzvh2jGmZXlCE54gzd0m5yBmo+ECAwEA
+AQKCAgBkjeAu4sgaj/nteBk3ahaRLDj+bz1g/SbGlSO1Uk4/iqyjOJ93P2q/cM20
+rGm3oq1Rplsx1RVIw2lvg2Mednw339XKUp3eEl0nTADuUCSqv8sJyOexN83m9OUA
+F7M3NvG8qG5yUHFCqcRunX3uWKzyp/rOEUgDOV3Lv0QhlHtVSPrJl1voMRbH6ZDw
+YbD3wykcqPFFRuZsQZ6jApE5J/6KsZS+TQzPKAwQoqNvlQS+3meGbjwJiKFOwDwQ
+fTIp9MLfkLiv0x7pBn/zdk+Ly+v0squi8PtXjJcXhAxSx72cEJurdq1KFr0LY4CB
+0Ruhdv3Y+0KIsMV9nJT3+O0NptuVya+LuMsVcld6c/Ux650baqrpdqQ7BC+q3fHc
+IT5G94mO1oTk03Ki50cEuZ861VuGLswivS4e/cdOQEtMRgNL4eeFk0FYDw1EMEYJ
+yylX0FhkUphgqm/yZqv1k6vzGh56H/aFDiEcCF57bycEP6CGFugRb+/2AxI3p8ax
+A77wyTcmuptnPJ6efpYseUyYcJu0WpO4+WIhS+o4dOgbN/J91A7EORKmBiMnPtvg
+e8dkBijTIDV4WyDudjKqSTwIZkmdUFaoGmmdw1H3jcaTAbBt7Pf9EwrVOKSyIPP0
+oFmWkiCHN4h9VpDGpEp/n+usqovj6dqfe/8Kq7ZqwtJiyfxXMQKCAQEA/l9jXIqt
+FcbSvddGv1gfiGsRGUU6J2GGgkFAlBlUidWrVxn8XjhHEptm9rgamxRypUQIjl4D
+nkGBBlwzPVYv2ERk1uCs0iBkS0LSH1WcS7zHR0DH+fPS+V+S99O5Yq1LN5TMY4ao
+YG1MRxM7cz29HBkSwvmF26AFOfhuotItEB43RiLxQUVknKepcItwoADFVBFRBX1I
+uQTNkXuSqtll8mR5uVXEfgyyTlLy8vHOf0q6z6pd9yBw6yWq/91h0CWUe2hDsrz9
+CMpXOSNrRXeDGjmPfdvAQ/vofZ84HqwYgdX1P4Fgdn40XTlLn7+0SEaMjHmJ6cVp
+MfXp9CJ4636thQKCAQEA5+Lnw6N2amcI1G/oVELioxlzv+pu+b5CFyKqnQMtvqJX
+jBU/+a8ESJVb/t41dPlOYno4nUIhHt2DeolXah60Ws4Mcq869mYWfsQyCtKB/pHr
+5ycMf2oGH20C2Tns4oRofDYMqXjLOY8LpP4NF+Ix/jvZrfjF92bjPD9DLyzZs9+O
+PebdhqHH7DUgGC0FRRzdGAX7Im7YdUgKzLBcGuUWRBjtPBPAwQAtPiEgtfUAD5gh
+Dio5nF04AvIaGvz8qj2pg9E70hGhQ0fObky6lE3AlgOmapKOzZwpa7MkOZuiS+CK
+eV6rZoLUop/etmZK06patOWZCsLAwb6nWzo1wo8trQKCAQEA1r9xAw+QUHIqOFsm
+PyQGewToyozHK7gJ9q1f96fq1vKsVDx78o9QcUUBCAklbQc2Qo/NKWP1agWjB9uO
+5pl8ivgyqbXEMSFniqI/AnUkHkyhcGYgbcSKuD0XtmHogIYMmj/kzaFBRScA3oA+
+EGxu2unQDQrbFy9hOi+iN5N4t8LKp0uYoaIT7q0dPwZ5bps3/GEiJaA/ZPPJGKla
+iSJADwMEQJNH76KIZddhg/jgfFZ6oBcUfS3GJr8GPjyH91HCqOy9OoiSlnk8aeCd
+D2h2Jg2yNm7vQnXJMUTZ/AsOJY6cHaD77w1c59cXISaW7O2ienWhGNqwlJ0nhhQU
+QbwQgQKCAQBkBO9K53rwMjkQyKRBlAgFqbjPkuMDPhlruTw2NWTJ0WRJu/C4VdFX
+LXVc3aPZLJ+uwmEhE6ENmyZW+F6IG25XrICaBxM7rJUPYLjlCh+gGnjSX3l4i9bQ
+P0j3QZD3s30N9pJHlx6xWQ4AwMQNBTfjHRWrgJ6DNBHXrsHf20yb1VWZRbdPlwCQ
+1eleBC09vlFvR0UneQBMtiJSX8+ami2cedP6EdsWZGkfX1KoqWC5WTkIzxXCaEL8
+oki4U174X1h6zwkqdwhD6PkVgmsIBPGIw1JIraaC8VS8a6y4XHUInXWdHER6Fvx4
+mNSLgFvOKLCvTklQ5ugVqZKuOtFtdiyRAoIBAB4OaDQlqmPm+IPpvltf7tM3ZYut
+tqyFbL2YguRn6Dtl+slZWnv9hwj5RoPnCy66exAqU9PuMRefpzA52HOSToDuPZIF
+NyUH9WABJkRXyU+qCzN/BbrdU+XiVQK9+F2uw3K6i1tCPCppww9GrKYgeaJlB4TT
+cQDaXdXk+/UX2Ejhs8KRDfnBHkhpbSeY18Dt+nqsAmfMGyAw2iehDH7LbbWxGeHG
+8DdeAjWR7zqDeBVzay+1i/wSxr1oKVY6vODqbfU0qbEGyqTAQUuAPYy+51lfk6PK
+pnXdg1T/X4mM/hsTZJP7qjDsBa2gDX9rpOwfI3WcAhrrEgsa5oK//y749RI=
-----END RSA PRIVATE KEY-----
diff --git a/mysql-test/std_data/crldir/ed1f42db.r0 b/mysql-test/std_data/crldir/ed1f42db.r0
index 1f737bf790b..39274af368e 100644
--- a/mysql-test/std_data/crldir/ed1f42db.r0
+++ b/mysql-test/std_data/crldir/ed1f42db.r0
@@ -1,12 +1,17 @@
-----BEGIN X509 CRL-----
-MIIBxTCBrgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNlcnQxCzAJ
+MIICxTCBrgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNlcnQxCzAJ
BgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVsc2lua2kx
-EDAOBgNVBAoMB01hcmlhREIXDTE5MDEyNzEwMTExNVoXDTM5MDEyMjEwMTExNVow
-FDASAgEFFw0xOTAxMjcxMDExMTVaoA4wDDAKBgNVHRQEAwIBAjANBgkqhkiG9w0B
-AQsFAAOCAQEAI0yg8tW6n8m/3g4FO5fjrtwEB1HYnJVLbKT2fOSKs7WN/t6M4ZWo
-hSolEpNozd0yP+20srCMzsg7PuiYV/jMJn0bCw+Q6G7IP2GBlBURRErJ6UNZ+Upe
-Gc+o5tWvb7ROwMj76UBzK5tDsmDapk5102k0sfaIbD51OmA+RxnxbKsGNvAVp9EH
-yN+irF6vfVmbP1WPzGZa6x2s70kiC3peQlnZFOUnhycwVdiRprcUd+ZfMLJ3Ov2b
-oa9P+ntTW/0ijg0QYH6gSQVOl9ZiVhnRR/eO6SrkrevgtAM3pXl4aDdvFyoIXXkh
-mCkYfW7LkH/+OYWyZ1W99cnISM2F+yC1yQ==
+EDAOBgNVBAoMB01hcmlhREIXDTIwMDMwMzAzMDMwM1oXDTQwMDIyNzAzMDMwM1ow
+FDASAgEFFw0yMDAzMDMwMzAzMDNaoA4wDDAKBgNVHRQEAwIBAjANBgkqhkiG9w0B
+AQsFAAOCAgEABDz2kH3Cf4L8xuOWHLoO8y0OIavWMgR/qiDD+kwOUpupxI8GtfBi
+Prkyz/xAWF15rWrEMpr4+KYG1TAUFFj9VLRldfwe4vY524OSKO+a4HKCrSQ8ZIsp
+4Xu2dMcopvVQtT1SpGS2W5Pfe3fu0bqhRQN03HXVtxPHlqjCbdIx5oukVVrFXREc
+9h/3QjDhTuXC2Zcd0IBdRx3+SMphRCIuHdMvqxEMoTqeSGLKdkqhmxLH+RiyuZiP
+WNFl2iYG8l8oLMLjUQe3xeAJSrg/eVzQMc3nFLvqD+dPUVXezAaFq8HJmtrVbpPc
+GG+kQJrcWgQoWS6tucLn+lzyfRJI8ueoTWPBaVv8VSJ9hsJABqR7ggE4KTSr4mXd
+dLd9J6z/1rdB9jZjMcYzJJfZgbU/bDwXK0o890VC46ovJT6BcZIV/cvYYMLJgA/o
++LNa4iu5RgalsCnqGYbs13mCXmBYgpq0wn7O62fUhIB4uDDYLpJfRfF7lySxYKEp
+Q9z+s+8wkn6uWsnl1O2mmQlkTe06qQcoQCqR9/1egDqdIIXSVSCQu1qvS3qy0mrk
+GzVDvGgdzeE1u2ylcLMTIqAdMNpqPuyg69RO26n0PDDoAn+0yuu176f+hcnrrmXX
+iKW9A7GDPn8RcEZ5oU3165T/879FjmrQB3dLQxPyva2IkzkFJn/RFzc=
-----END X509 CRL-----
diff --git a/mysql-test/std_data/ldml/Index.xml b/mysql-test/std_data/ldml/Index.xml
index c4b91535af6..cd4ddde3d72 100644
--- a/mysql-test/std_data/ldml/Index.xml
+++ b/mysql-test/std_data/ldml/Index.xml
@@ -1,7 +1,7 @@
<charsets>
- <charset name="utf8">
- <collation name="utf8_phone_ci" id="352">
+ <charset name="utf8mb3">
+ <collation name="utf8mb3_phone_ci" id="352">
<rules>
<reset>\u0000</reset>
<i>\u0020</i> <!-- space -->
@@ -11,14 +11,14 @@
<i>\u002D</i> <!-- hyphen -->
</rules>
</collation>
- <collation name="utf8_test_ci" id="353">
+ <collation name="utf8mb3_test_ci" id="353">
<rules>
<reset>a</reset>
<i>b</i>
</rules>
</collation>
- <collation name="utf8_5624_1" id="354">
+ <collation name="utf8mb3_5624_1" id="354">
<rules>
<!-- long contractions and expansions -->
<reset>12345</reset><q>012345</q><q>12345</q>
@@ -85,28 +85,28 @@
</collation>
<!-- some unsupported tags -->
- <collation name="utf8_5624_2" id="355">
+ <collation name="utf8mb3_5624_2" id="355">
<settings strength="tertiary"/>
<rules>
</rules>
</collation>
<!-- reset before primary ignorable -->
- <collation name="utf8_5624_3" id="356">
+ <collation name="utf8mb3_5624_3" id="356">
<rules>
<reset before="primary"><first_secondary_ignorable/></reset><p>lb-fsi</p>
</rules>
</collation>
<!-- \u without hex digits -->
- <collation name="utf8_5624_4" id="357">
+ <collation name="utf8mb3_5624_4" id="357">
<rules>
<reset>\u</reset><i>x</i>
</rules>
</collation>
<!-- shift after using expansion -->
- <collation name="utf8_5624_5" id="368" shift-after-method="expand">
+ <collation name="utf8mb3_5624_5" id="368" shift-after-method="expand">
<rules>
<!--
Put small basic Latin letters between 0 and 1.
@@ -121,7 +121,7 @@
</rules>
</collation>
- <collation name="utf8_5624_5_bad" id="369" shift-after-method="expand">
+ <collation name="utf8mb3_5624_5_bad" id="369" shift-after-method="expand">
<rules>
<reset>a-a4</reset><p>xxx04</p>
<reset>a-aa5</reset><p>xxx05</p>
@@ -133,14 +133,14 @@
</rules>
</collation>
- <collation name="utf8_hugeid_ci" id="2047000000">
+ <collation name="utf8mb3_hugeid_ci" id="2047000000">
<rules>
<reset>a</reset>
<s>b</s>
</rules>
</collation>
- <collation name="utf8_maxuserid_ci" id="2047" version="4.0.0">
+ <collation name="utf8mb3_maxuserid_ci" id="2047" version="4.0.0">
<rules>
<reset>a</reset>
<s>b</s>
@@ -379,8 +379,8 @@
</collation>
</charset>
- <charset name="utf8">
- <collation name="utf8_bengali_standard_ci" id="336">
+ <charset name="utf8mb3">
+ <collation name="utf8mb3_bengali_standard_ci" id="336">
<rules>
<reset>\u9FA</reset>
<p>\u9F8</p>
@@ -467,7 +467,7 @@
</rules>
</collation>
- <collation name="utf8_bengali_traditional_ci" id="337">
+ <collation name="utf8mb3_bengali_traditional_ci" id="337">
<rules>
<reset>\u994</reset>
<p>\u982</p>
@@ -1164,7 +1164,7 @@
</rules>
</collation>
- <collation name="utf8_implicit_weights_ci" id="338">
+ <collation name="utf8mb3_implicit_weights_ci" id="338">
<rules>
<reset>\u3400</reset><i>b</i>
<reset>a</reset><i>\u3561</i>
@@ -1174,7 +1174,7 @@
</rules>
</collation>
- <collation name="utf8_czech_test_w2" id="370" version="5.2.0">
+ <collation name="utf8mb3_czech_test_w2" id="370" version="5.2.0">
<settings strength="2"/>
<rules>
<reset>C</reset><p>\u010D</p><t>\u010C</t>
@@ -1185,7 +1185,7 @@
</rules>
</collation>
- <collation name="utf8_czech_test_nopad_w2" id="371" version="5.2.0" flag="nopad">
+ <collation name="utf8mb3_czech_test_nopad_w2" id="371" version="5.2.0" flag="nopad">
<settings strength="2"/>
<rules>
<reset>C</reset><p>\u010D</p><t>\u010C</t>
@@ -1202,7 +1202,7 @@
Unicode-4.0.0 does not have information about the secondary weight level.
The version="5.2.0" collation attribute was forgotten in this definition.
-->
- <collation name="utf8_czech_test_bad_w2" id="372">
+ <collation name="utf8mb3_czech_test_bad_w2" id="372">
<settings strength="2"/>
<rules>
<reset>C</reset><p>\u010D</p><t>\u010C</t>
diff --git a/mysql-test/std_data/mysql_install_db_win.ini b/mysql-test/std_data/mysql_install_db_win.ini
new file mode 100644
index 00000000000..c375bdb4bf3
--- /dev/null
+++ b/mysql-test/std_data/mysql_install_db_win.ini
@@ -0,0 +1,12 @@
+[mysqld]
+long_query_time=15.000000
+#slow_query_log_file=l:/errorlog/mariadb.slow.log
+slow_query_log_file=BASEDIR/data/slow_query_log_01.log
+datadir=BASEDIR/data/
+server-id=1
+port=3306
+#tmpdir=C:/mysql_tmpdir
+tmpdir=BASEDIR/temp
+innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend
+innodb_log_group_home_dir=BASEDIR/data
+skip-name-resolve
diff --git a/mysql-test/std_data/server-cert.crl b/mysql-test/std_data/server-cert.crl
index c841c893c57..0db83397fe0 100644
--- a/mysql-test/std_data/server-cert.crl
+++ b/mysql-test/std_data/server-cert.crl
@@ -1,12 +1,17 @@
-----BEGIN X509 CRL-----
-MIIBxTCBrgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNlcnQxCzAJ
+MIICxTCBrgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNlcnQxCzAJ
BgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVsc2lua2kx
-EDAOBgNVBAoMB01hcmlhREIXDTE5MDEyNzEwMTExNVoXDTM5MDEyMjEwMTExNVow
-FDASAgEBFw0xOTAxMjcxMDExMTVaoA4wDDAKBgNVHRQEAwIBATANBgkqhkiG9w0B
-AQsFAAOCAQEAERRidERQcCHOE3ltJeftBHhZL4xi/NuOH0KlYK6I00Resrwz4UUm
-cvBzNBb7LqLw24tRvhAGXrSxDEKVsUc+54VBRfPrHbUR15/9eseCA7lIKRS0ub8q
-0fvtwinxyr4Y9hcP9ew9bUZxf99yegc6rNC7/8xZCnIOdvQQ5BpelPGmZ71tnBeg
-6UkW6IG0/BG1MlxRJenAlILtxwu+Q6lgRvVrAtSQJJxTCzCof6oM7vTDvlTHH1LL
-F11xIXP9rjNGw0qBJmxLT4J8tB++eV5u7MpSlbwQNga44zyyvBqdRuSyhFufXPBi
-hqUmVskfdZs9HYrqIWz9ipkFiMNXEzGNxA==
+EDAOBgNVBAoMB01hcmlhREIXDTIwMDMwMzAzMDMwM1oXDTQwMDIyNzAzMDMwM1ow
+FDASAgEBFw0yMDAzMDMwMzAzMDNaoA4wDDAKBgNVHRQEAwIBATANBgkqhkiG9w0B
+AQsFAAOCAgEAFsQCul/9vZ1qSxnYoVVlHPspJ6JFgg0kEK5ZQsiGaAKyvV1d9xpT
+uu1FxOEajbeOGdGk9kRqy928KFynPSTpWphl+bJ2E+uey4a9PTgAlxPEcdbnGf2f
+1je7i0pOlOximKkeRb8GB4EwNvS9MPKd2pkJnGgIK6eyTtOnKgvmkA3vwXIqB1wJ
+dbQMscQlWyCN7lz5A2D6T9xOYY5gKthBAdM73OgzivGKJekoCCirGqVjA7Kurpmt
+zV+UbDrHqxsBB4BS+X4sFp7n9K4dqD/acR7aYsjpxKUzc43rEzuTE8flQw1Hzk/h
+lGJKg0XfIs2ol7zSeADocZMQR8G0wpeFsz5abm5/oCQ007Rxn+2d/8ZPfOw75u2p
+vdcOARoU1q1qF1lGL3x5PFpam693VxB07js3qi6sCqJjsVETAmz08Bvck0+HeHpr
+nyQndk7EZPl7W+8Ls68kZZB+77DDNS9Gwb8BQxzazuvN4G6DQsZLYNhWyV6vPeOt
+sJF7mdvr4PElbtNG1WQFySt7SJKaA21hG1qVUqto8ZTd+/KU5b7MMnTM7nxFXQ3a
+WwHq79xK1xC4f87rrc423yYEjAQkb/1NSseGa/gfqo6wRcxXbRQETq2r9KIsLwAN
+sK1gO7Cl0SW9PtrCF4lWNOES9iSZ3BaacOHT7kD8qoBAL83CIlDFgWg=
-----END X509 CRL-----
diff --git a/mysql-test/std_data/server-cert.pem b/mysql-test/std_data/server-cert.pem
index 068d7200c3e..b0bb96aecf0 100644
--- a/mysql-test/std_data/server-cert.pem
+++ b/mysql-test/std_data/server-cert.pem
@@ -2,34 +2,51 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
+ Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
Validity
- Not Before: Jan 27 10:11:10 2019 GMT
- Not After : Jan 22 10:11:10 2039 GMT
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
Subject: C=FI, ST=state or province within country, in other certificates in this file it is the same as L, L=location, usually an address but often ambiguously used, O=organization name, typically a company name, OU=organizational unit name, a division name within an organization, CN=localhost
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:eb:7c:4f:59:f0:40:37:ed:38:b2:e8:30:69:4e:
- 95:c9:00:59:d1:60:3b:8a:aa:28:a1:20:40:ee:bf:
- 1c:f3:b0:a6:40:8e:57:a4:79:81:c9:70:9f:8c:3d:
- f4:5c:b0:f9:58:55:d9:62:b2:4b:69:e1:1a:73:bf:
- 03:0e:8b:ca:d3:0d:f2:12:ea:68:1e:b8:f5:ba:29:
- 02:b0:15:7f:76:52:9a:7d:ee:6d:7e:2c:f5:5a:d0:
- 8c:a7:c9:53:d8:8c:ce:e3:be:c7:bb:4a:ae:7c:f9:
- f1:6d:07:ac:3b:55:cd:83:3d:e4:ef:96:8e:a9:c9:
- 1c:cb:84:99:cf:37:f5:53:57:e7:94:78:97:12:04:
- 1f:dc:31:f8:f0:bf:7c:9b:ef:8a:25:02:1f:1b:ab:
- cd:f9:bd:a9:de:df:e1:3d:b2:fb:92:44:93:59:ab:
- f7:c2:a6:e1:05:19:49:fb:f8:02:5d:3e:d0:50:26:
- 5b:e3:26:ac:fb:cf:ab:f1:52:0a:12:36:16:3d:b5:
- 9e:12:f3:c3:69:e2:9b:89:70:b2:31:56:9a:9b:91:
- a4:c6:39:01:56:e4:b5:8b:35:70:4e:eb:45:1b:70:
- 7d:1a:52:2f:a5:37:32:80:ae:50:d0:da:4a:85:6a:
- 3c:66:e7:41:85:c8:3a:dd:25:d8:4c:32:85:cb:12:
- bc:81
+ 00:c9:f9:46:27:69:68:4b:5a:26:dd:1f:98:0f:44:
+ ba:40:83:ca:82:c2:7a:53:cc:b9:30:f1:ca:3e:e2:
+ 6d:de:3a:11:aa:ce:c5:90:27:e6:f3:4f:3b:e9:af:
+ 1a:ec:21:d7:ca:14:1f:f1:9b:cb:cd:7e:57:b4:c8:
+ 5d:6c:cd:5a:54:dd:8a:9a:a9:27:ef:49:d3:6c:ac:
+ 99:2d:dc:e5:c0:1e:3c:05:9f:c5:04:c7:2d:81:66:
+ 21:27:16:d6:c3:e4:97:53:db:21:a6:43:50:70:cb:
+ 2e:95:fb:da:52:55:27:1b:17:ef:19:83:eb:ff:a1:
+ fc:62:63:ea:2f:fe:53:35:e6:d9:bc:03:2d:e5:c2:
+ 18:b1:29:91:e4:a4:79:2c:f1:05:dd:d5:3f:ff:b1:
+ 9e:64:8d:60:29:74:43:f0:3d:31:e7:78:ce:9f:17:
+ 74:e5:9f:fb:7b:69:a9:45:3b:e8:76:03:c6:ca:52:
+ 85:84:50:0d:2b:98:6f:ff:d8:41:66:6d:39:f6:1a:
+ a3:61:e2:82:5f:dc:ec:ca:97:dc:b2:dc:cf:aa:97:
+ ef:13:10:ea:fb:8f:99:91:bb:d9:e8:61:25:2d:68:
+ 04:af:2f:89:56:0d:89:90:77:e0:ad:c2:25:eb:3c:
+ d2:4e:3d:ca:6e:ae:35:c8:f2:94:7a:09:74:d3:8e:
+ 73:30:e6:39:fe:b6:9c:c7:4d:23:4e:b0:bf:90:97:
+ 29:b2:b3:30:b2:bb:49:ae:47:09:fe:cd:23:3a:01:
+ a4:ac:cb:53:25:74:98:27:20:85:6b:18:74:bb:1c:
+ bf:ff:05:dc:06:7c:02:78:81:1e:96:ad:8f:c6:a2:
+ 0d:b3:5c:8e:ad:d5:fd:af:c5:8d:8b:9f:31:b1:4f:
+ a7:1e:9b:cd:57:68:d5:ad:ed:4e:7b:5f:0d:0c:d2:
+ 47:85:b4:65:4b:23:1c:5b:a5:ec:88:fa:42:80:73:
+ 84:cb:75:05:a6:39:f1:e6:a9:4e:15:e6:2f:f7:61:
+ 0b:f3:08:cc:a6:2b:2b:64:6e:04:a1:fc:da:5e:34:
+ ad:7c:54:be:85:e4:ed:64:74:31:30:2a:ed:ab:3e:
+ d2:cd:c7:3e:de:18:04:8a:a7:bd:ad:52:74:13:b1:
+ b0:7d:4d:7e:87:7b:cb:82:1f:29:11:e1:0e:4b:42:
+ 2b:83:e8:88:7e:92:80:20:eb:ee:da:d4:dd:1e:9c:
+ 54:5c:67:a7:00:5f:a1:b7:bf:5d:c0:5a:25:2a:c1:
+ 1e:7c:93:32:dd:17:c8:02:6d:1a:42:26:f6:50:01:
+ 4b:df:29:7f:72:f1:90:72:80:8a:ba:2f:8c:86:7d:
+ 56:45:c5:0e:82:16:d8:29:03:57:87:ce:22:1c:7f:
+ 31:a8:4f
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
@@ -37,50 +54,75 @@ Certificate:
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
- 0B:18:61:66:8F:12:44:81:60:0D:80:D6:0A:6A:9E:DE:D7:69:56:B0
+ DB:DF:8B:BC:C2:EE:A9:2A:4E:FD:0E:7A:5F:15:CF:94:A3:0C:CA:CC
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
Signature Algorithm: sha256WithRSAEncryption
- ac:6b:15:7d:68:74:9d:ce:e2:ed:80:9c:f6:36:b5:54:8b:60:
- 38:d3:cd:43:5c:97:44:1b:c8:6d:73:e2:1d:6a:68:07:bf:c4:
- 0c:bf:ae:b9:f1:12:28:1b:07:6d:86:2e:8d:4d:1c:56:3e:e7:
- d7:62:a1:a2:de:9b:7b:1a:8a:b4:7f:76:f1:cf:d3:b5:b0:95:
- 91:ce:7e:49:45:0f:11:a6:96:6b:7b:42:07:cc:8d:28:13:d2:
- 30:19:5a:c3:31:16:f6:0a:9a:d7:cd:8e:6f:be:8c:aa:91:40:
- 68:fa:4d:ff:9f:10:d6:3d:27:27:54:f7:64:fa:7a:89:d9:67:
- 4b:63:2b:da:cc:95:f1:30:10:e8:5e:cd:ce:43:c9:72:ad:32:
- b6:06:cc:a9:02:dd:4d:9c:00:97:fc:99:80:84:bf:e3:54:5a:
- e8:2c:a5:b3:30:8e:30:cb:3c:5f:74:18:43:a3:42:36:53:78:
- 62:4f:08:56:11:80:c2:12:1a:da:70:18:10:7f:3d:15:b4:73:
- 29:26:69:7d:3b:ec:f8:18:01:f7:ac:c2:8f:f2:37:8d:8d:fc:
- 78:87:bc:d4:cb:1d:c1:14:c7:9c:3b:dc:a9:fd:e8:86:2a:32:
- 51:fe:8d:89:cd:6a:9d:7a:6f:0c:52:4b:b2:4d:d3:dc:02:39:
- 8d:2d:25:6e
+ 09:d1:af:0e:0b:e8:a2:5e:c8:ee:0a:9f:21:c3:2c:da:a4:38:
+ d5:cc:a6:ca:8e:ef:df:94:ab:32:5a:ec:32:84:01:7a:97:bb:
+ 38:e0:a8:7d:20:d9:ca:51:3d:a3:74:f9:fe:85:14:26:95:37:
+ de:2d:74:7e:16:eb:14:14:1b:80:e9:12:54:de:cc:94:cc:38:
+ ca:df:9a:d0:ce:3e:6c:f1:de:e8:40:f5:3e:6e:c0:ee:05:50:
+ 5a:38:4b:97:69:3c:7a:1f:a8:11:67:e5:9a:9e:50:2e:62:e8:
+ f8:bf:1a:54:84:ad:9d:0e:1e:ec:64:22:1b:38:85:87:0b:f3:
+ c7:47:80:aa:c1:99:72:a5:0d:fd:ce:2c:6e:0d:52:4d:d7:55:
+ 2f:4e:52:6e:4a:b9:9a:61:34:08:59:d9:30:cc:30:4a:dc:35:
+ 34:b9:b0:a4:97:a1:b8:d7:ce:ee:63:2d:3a:ad:73:9c:99:49:
+ 11:0a:04:94:60:97:19:4f:4b:66:d4:fb:bf:14:46:39:27:da:
+ 01:3f:d8:6a:46:cb:77:12:f2:77:86:3a:45:e1:f7:44:3d:2b:
+ 3d:e6:26:06:5e:29:20:be:1f:aa:74:43:0c:85:79:e2:14:9c:
+ 03:bf:49:21:64:7e:c3:4a:7b:a1:60:f6:ce:fb:7c:59:e4:65:
+ 7c:fb:1e:84:38:53:ec:1f:80:c2:b5:f7:c2:0e:46:19:4b:4d:
+ a3:32:6e:59:40:32:9b:6b:2c:bb:fa:1a:89:2e:96:22:71:d5:
+ 71:92:9b:0d:86:0e:60:60:19:ba:34:22:e1:f1:f3:c9:87:5c:
+ 5c:f5:d3:52:1c:11:0d:d3:91:7a:6b:bd:6f:cc:ba:78:60:e0:
+ 20:b4:c2:d1:91:70:5f:74:33:a1:bc:aa:db:d1:35:91:b5:cb:
+ 46:a8:28:7a:26:fc:8c:6c:64:05:4d:73:f1:00:bb:eb:70:87:
+ fd:9f:04:55:8f:7b:00:b1:c0:50:09:3a:58:44:19:a7:bd:f1:
+ 34:5b:4d:d9:10:6b:d5:38:fa:64:f5:d3:28:4f:c4:23:14:29:
+ 98:3e:2f:c2:87:6f:69:a0:89:0e:ee:f7:c4:50:9e:33:b9:0a:
+ 84:f0:c6:38:45:38:91:10:14:ac:c4:03:8e:4b:e2:61:f9:78:
+ 85:02:b9:c6:d5:c2:9f:ba:ac:21:1a:3a:4e:1a:f8:a9:12:ae:
+ 67:37:79:ce:ec:94:54:cf:28:c4:33:3b:45:23:d2:cb:37:3b:
+ 09:ee:e2:c4:9f:12:dc:e3:8f:06:1d:d5:54:b7:73:2c:34:36:
+ 97:41:91:81:30:06:2c:90:14:9b:aa:4e:33:2a:38:29:f5:3d:
+ f4:c7:f2:03:6d:d9:d7:3e
-----BEGIN CERTIFICATE-----
-MIIElTCCA32gAwIBAgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
+MIIGlTCCBH2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
-c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTkwMTI3MTAxMTEwWhcNMzkwMTIy
-MTAxMTEwWjCCAUcxCzAJBgNVBAYTAkZJMWEwXwYDVQQIDFhzdGF0ZSBvciBwcm92
+c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMjAwMzAzMDMwMzAzWhcNNDAwMjI3
+MDMwMzAzWjCCAUcxCzAJBgNVBAYTAkZJMWEwXwYDVQQIDFhzdGF0ZSBvciBwcm92
aW5jZSB3aXRoaW4gY291bnRyeSwgaW4gb3RoZXIgY2VydGlmaWNhdGVzIGluIHRo
aXMgZmlsZSBpdCBpcyB0aGUgc2FtZSBhcyBMMUAwPgYDVQQHDDdsb2NhdGlvbiwg
dXN1YWxseSBhbiBhZGRyZXNzIGJ1dCBvZnRlbiBhbWJpZ3VvdXNseSB1c2VkMTQw
MgYDVQQKDCtvcmdhbml6YXRpb24gbmFtZSwgdHlwaWNhbGx5IGEgY29tcGFueSBu
YW1lMUkwRwYDVQQLDEBvcmdhbml6YXRpb25hbCB1bml0IG5hbWUsIGEgZGl2aXNp
b24gbmFtZSB3aXRoaW4gYW4gb3JnYW5pemF0aW9uMRIwEAYDVQQDDAlsb2NhbGhv
-c3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDrfE9Z8EA37Tiy6DBp
-TpXJAFnRYDuKqiihIEDuvxzzsKZAjlekeYHJcJ+MPfRcsPlYVdlisktp4RpzvwMO
-i8rTDfIS6mgeuPW6KQKwFX92Upp97m1+LPVa0IynyVPYjM7jvse7Sq58+fFtB6w7
-Vc2DPeTvlo6pyRzLhJnPN/VTV+eUeJcSBB/cMfjwv3yb74olAh8bq835vane3+E9
-svuSRJNZq/fCpuEFGUn7+AJdPtBQJlvjJqz7z6vxUgoSNhY9tZ4S88Np4puJcLIx
-VpqbkaTGOQFW5LWLNXBO60UbcH0aUi+lNzKArlDQ2kqFajxm50GFyDrdJdhMMoXL
-EryBAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wg
-R2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQLGGFmjxJEgWANgNYKap7e
-12lWsDAfBgNVHSMEGDAWgBTKcZmJ8HKrdWa7ZWoDBHKle5WmkzANBgkqhkiG9w0B
-AQsFAAOCAQEArGsVfWh0nc7i7YCc9ja1VItgONPNQ1yXRBvIbXPiHWpoB7/EDL+u
-ufESKBsHbYYujU0cVj7n12Khot6bexqKtH928c/TtbCVkc5+SUUPEaaWa3tCB8yN
-KBPSMBlawzEW9gqa182Ob76MqpFAaPpN/58Q1j0nJ1T3ZPp6idlnS2Mr2syV8TAQ
-6F7NzkPJcq0ytgbMqQLdTZwAl/yZgIS/41Ra6CylszCOMMs8X3QYQ6NCNlN4Yk8I
-VhGAwhIa2nAYEH89FbRzKSZpfTvs+BgB96zCj/I3jY38eIe81MsdwRTHnDvcqf3o
-hioyUf6Nic1qnXpvDFJLsk3T3AI5jS0lbg==
+c3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ+UYnaWhLWibdH5gP
+RLpAg8qCwnpTzLkw8co+4m3eOhGqzsWQJ+bzTzvprxrsIdfKFB/xm8vNfle0yF1s
+zVpU3YqaqSfvSdNsrJkt3OXAHjwFn8UExy2BZiEnFtbD5JdT2yGmQ1Bwyy6V+9pS
+VScbF+8Zg+v/ofxiY+ov/lM15tm8Ay3lwhixKZHkpHks8QXd1T//sZ5kjWApdEPw
+PTHneM6fF3Tln/t7aalFO+h2A8bKUoWEUA0rmG//2EFmbTn2GqNh4oJf3OzKl9yy
+3M+ql+8TEOr7j5mRu9noYSUtaASvL4lWDYmQd+CtwiXrPNJOPcpurjXI8pR6CXTT
+jnMw5jn+tpzHTSNOsL+QlymyszCyu0muRwn+zSM6AaSsy1MldJgnIIVrGHS7HL//
+BdwGfAJ4gR6WrY/Gog2zXI6t1f2vxY2LnzGxT6cem81XaNWt7U57Xw0M0keFtGVL
+IxxbpeyI+kKAc4TLdQWmOfHmqU4V5i/3YQvzCMymKytkbgSh/NpeNK18VL6F5O1k
+dDEwKu2rPtLNxz7eGASKp72tUnQTsbB9TX6He8uCHykR4Q5LQiuD6Ih+koAg6+7a
+1N0enFRcZ6cAX6G3v13AWiUqwR58kzLdF8gCbRpCJvZQAUvfKX9y8ZBygIq6L4yG
+fVZFxQ6CFtgpA1eHziIcfzGoTwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG
++EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU
+29+LvMLuqSpO/Q56XxXPlKMMyswwHwYDVR0jBBgwFoAUTfx6GfMrDH32wHxN+HI0
+TIw1UnQwDQYJKoZIhvcNAQELBQADggIBAAnRrw4L6KJeyO4KnyHDLNqkONXMpsqO
+79+UqzJa7DKEAXqXuzjgqH0g2cpRPaN0+f6FFCaVN94tdH4W6xQUG4DpElTezJTM
+OMrfmtDOPmzx3uhA9T5uwO4FUFo4S5dpPHofqBFn5ZqeUC5i6Pi/GlSErZ0OHuxk
+Ihs4hYcL88dHgKrBmXKlDf3OLG4NUk3XVS9OUm5KuZphNAhZ2TDMMErcNTS5sKSX
+objXzu5jLTqtc5yZSREKBJRglxlPS2bU+78URjkn2gE/2GpGy3cS8neGOkXh90Q9
+Kz3mJgZeKSC+H6p0QwyFeeIUnAO/SSFkfsNKe6Fg9s77fFnkZXz7HoQ4U+wfgMK1
+98IORhlLTaMybllAMptrLLv6GokuliJx1XGSmw2GDmBgGbo0IuHx88mHXFz101Ic
+EQ3TkXprvW/Munhg4CC0wtGRcF90M6G8qtvRNZG1y0aoKHom/IxsZAVNc/EAu+tw
+h/2fBFWPewCxwFAJOlhEGae98TRbTdkQa9U4+mT10yhPxCMUKZg+L8KHb2mgiQ7u
+98RQnjO5CoTwxjhFOJEQFKzEA45L4mH5eIUCucbVwp+6rCEaOk4a+KkSrmc3ec7s
+lFTPKMQzO0Uj0ss3Ownu4sSfEtzjjwYd1VS3cyw0NpdBkYEwBiyQFJuqTjMqOCn1
+PfTH8gNt2dc+
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/server-key.pem b/mysql-test/std_data/server-key.pem
index 125c4efa587..20b64cac257 100644
--- a/mysql-test/std_data/server-key.pem
+++ b/mysql-test/std_data/server-key.pem
@@ -1,27 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEA63xPWfBAN+04sugwaU6VyQBZ0WA7iqoooSBA7r8c87CmQI5X
-pHmByXCfjD30XLD5WFXZYrJLaeEac78DDovK0w3yEupoHrj1uikCsBV/dlKafe5t
-fiz1WtCMp8lT2IzO477Hu0qufPnxbQesO1XNgz3k75aOqckcy4SZzzf1U1fnlHiX
-EgQf3DH48L98m++KJQIfG6vN+b2p3t/hPbL7kkSTWav3wqbhBRlJ+/gCXT7QUCZb
-4yas+8+r8VIKEjYWPbWeEvPDaeKbiXCyMVaam5GkxjkBVuS1izVwTutFG3B9GlIv
-pTcygK5Q0NpKhWo8ZudBhcg63SXYTDKFyxK8gQIDAQABAoIBAADaATt1B/Zr0DGt
-b0diNl50tt5v96cnuF/kyvdSD5u9/svq99wraFG/K4SJUNHo/e3Y2aFmvakTXFIg
-1bT+wmwC9+YjnN7HknPq5AyY904JPG/KJfE33mdGq8uLidcVo0XlkblWqsze5oWb
-an8Ib2bTGXnYVIm+pXEC+L9sF2IGxJP3kWQyFjX1UEp7YDhmtMVm7ONeli3/LPYF
-TqWF6ScoI0AexKVo7Jgfx+oDlUASSup90Om07YyjlbIzgiTYPzDqM9XhDQNDaMLJ
-zi3N4INohRRG0R/DQ4nqP/YWat6/q1FuRznWdOzzNIR5YrbyFRgX7rMPCjeF3cRt
-mK9xKXECgYEA+Qo7ixk0giXZj2ZkJ/OsqT2CnK1jUuJGxtyGCpXbM7hXe8bRq8AA
-BVVzLIFR5wY1LKoLYxoMSAn3B1F7y2iVgj7VlBehLTWC2mrsrPse1yRSl8TGOpJB
-wP40lfH6/L2mXI4TfnDEgfzkFdpgsHVazpz48A5nSKB+xrJX4JkDos0CgYEA8hEa
-GBvwqYum/tMWhYF0YVPXxRUySMYRZX9cW7Mfa/bG2KUyCwIJJipiBe/Zq2AsN917
-wA1TXdnwC3i63iVssPxKKkx1RNpDpNJKzot9oawjhR/OKG/24f6mQJ1W8cX7viT8
-F7IXIX4/drfuDlz4s89NmMRaKuC/mWJfYi77yIUCgYEAkvIUvDi9IOZQfyq9gk1n
-3dyriuNMLgXSGVjZxrkxxEzLYf+ojB0YZg1LjkEoIJcrHRWg7nLaOE+Y8TqFPzqQ
-rW+B+oYO1mwyr8pTqKXsRqnqCh9TkA/ouIXGZYuIu0T0OryiiALmEIU12Cco0jYM
-xMkeohb9nn8FDx0AeUgQOykCgYEArpehL4Rvd4ovf5p2owJ1E4Hqnc6k/xJFF+Td
-k5JFdpR+ZWH5DzF/sdRd8RRG9jGekwifqiyyVX3Mgimo9nMdyyWcxJdy+Z9HrMi0
-hfbcPVCwKeN/yXDAK86E0RPq0uVOpp18agbcYh7x3UnaXOe3xdEekbIFqumBqDro
-uyNSHRUCgYEAy3xDAESUEXhYGN4WRpWn58Pb0NUsbc/l9P42Z7tog7YmPLpJuY1O
-qKW3uwTzxmk65JsiBEsOL7UT7xbq15uaUINC3FRfcMQz7+TW8rUBguVRUjxLTHlx
-SlgU3Oxz1oQ/J7GL+x0MxBtTjRW9/7Adv2j1Du8QtlWgr/wOHarPjh4=
+MIIJKgIBAAKCAgEAyflGJ2loS1om3R+YD0S6QIPKgsJ6U8y5MPHKPuJt3joRqs7F
+kCfm80876a8a7CHXyhQf8ZvLzX5XtMhdbM1aVN2Kmqkn70nTbKyZLdzlwB48BZ/F
+BMctgWYhJxbWw+SXU9shpkNQcMsulfvaUlUnGxfvGYPr/6H8YmPqL/5TNebZvAMt
+5cIYsSmR5KR5LPEF3dU//7GeZI1gKXRD8D0x53jOnxd05Z/7e2mpRTvodgPGylKF
+hFANK5hv/9hBZm059hqjYeKCX9zsypfcstzPqpfvExDq+4+ZkbvZ6GElLWgEry+J
+Vg2JkHfgrcIl6zzSTj3Kbq41yPKUegl0045zMOY5/racx00jTrC/kJcpsrMwsrtJ
+rkcJ/s0jOgGkrMtTJXSYJyCFaxh0uxy//wXcBnwCeIEelq2PxqINs1yOrdX9r8WN
+i58xsU+nHpvNV2jVre1Oe18NDNJHhbRlSyMcW6XsiPpCgHOEy3UFpjnx5qlOFeYv
+92EL8wjMpisrZG4EofzaXjStfFS+heTtZHQxMCrtqz7Szcc+3hgEiqe9rVJ0E7Gw
+fU1+h3vLgh8pEeEOS0Irg+iIfpKAIOvu2tTdHpxUXGenAF+ht79dwFolKsEefJMy
+3RfIAm0aQib2UAFL3yl/cvGQcoCKui+Mhn1WRcUOghbYKQNXh84iHH8xqE8CAwEA
+AQKCAgEAtn2LvKqJ+KOhP+R/ETSpEQfDX7h2rObqYWXmtkECwms3cVzYtzLGgwsR
+eEimC7tcbZMXdceuMqM4ffkYKOm2970gsjOrCJNs++FLmlvgH2FyHCbK7lFFNYjg
+5Z/GN0OA09zIH6Dsuq1rD0t7bS7RYbKTcDt5bgWftArRG8IwzyAhlbZNry5b/x8v
+Wiad8lRoV5KJ++8xzWrL+0i45gV05M+L6cVY8u1FXbIPpqXFmXQ6Fq7PQsjNzZkz
+gTiVhwWj/FD/VL9Dy3gjX74tRFMtM9eJxXFg0CFkwX+5GTVFUSyOJvfNoDolFKqs
+EHO+rTjMULOWB8FSiZldPJL0wv4P5wEAZ+aqQ4mWsDHVDyACRlmLbOvMriiHrCMj
+uDOWQwMsWOc/vCt6WPuNv3PlagACqOGQf0Pj62OcWTJGRzHoOXCw1OMgW3nNgg9X
+f5UvXE8nn1hfJMePh6u1BXuOmoyOi2zTIng8ubfE8nw4pw35fkvfkY8BqllUw0XO
+Kq5ICr1eqrHJNnicL+ITfiFm7yo0qUPlQnkBA7pCvrNDEdh6mLIEUE/NSqZd2XKB
+TZeXLh6/0+djK1899sTsjr75yB1mVc6Jgo0OC4Em6T/u+VKw5LptxAoBnY7et2/7
+6oJe8trQDEwBBE0ihwAvlElwG+kUyKS7P01Ow7ctmYzUuDoLgqECggEBAOV6LQ2H
+/OfKfgyP/0pM3ngDUC0H49FLIXAKRdY/gLzecPauTleUX1aGOBkfscuHlKjKCllS
+qUCHBLyE3bwAK5t0E3aHLtV9gGjNZvi7O6DZHwnMWP5AwN+eW1TASWUKfPVS6uUk
+uMzkTkUowDK38EF7iabinSEYmpNxt0G7T4K9pV6O2HgMkKdIHvyxJ0dME3VOgG6m
+miYTe2faRDaqRNY2Kn/r1NhSpRKb/iBovFcHLEQpffbtoJs4hzSUa8gk+iTk7WRX
+k5a/74nJpB+v1m8ywHEmZ9wFBTCjoVNzBj0f7vZOrs6pP/3niJPEbyi1oK42I1GN
+g6J16jgjVv+Q21ECggEBAOFRUVM61Yqz9mt34MqJgp0bqGEShDuFY4kvttAbtHK5
+FLYc2Jxvn657jp1r2ksAb6UsDbp92UXmxxTw5H+PWsQ/nbNxmhPfjbjdvhoB4IHr
+l3YxgWL9Ex0bi1vB8i/RYEOZs+Q9yyjB7rJqR6gw2jDJ0CQe/RsZUFh4RdzvrWoz
+gqddlFUzfkS8KAjvmUA6rOrAgIdYhBRP85gXDtV+bc331q6NH8wu0hkJ0Q6gj0WZ
+l/Nu1wWg8goHMuCU5GCDtrjQaXSECCo+XL4+VheGk8ZkDF+EkD4tW0oRKyao1rex
++aZ7IykGikXpMGtoQ+gUyiQzOzodFD5aycfJ+vO0IZ8CggEBANHXREWAWfM3xsYE
+E2XFHxZNqU5UTa5AbqY+rpf5X+bV3iSlRfxuMDQ17iyDQBkmtPkYMBh4L09TaDBf
+q0fUPAwePAICIgCVkAvF8Gh5BlDS2sAh/isZ2YVjEI9SeosL6TKIjUXWq6qpBy3U
+0tROQUQQDNLvnNH75rX3oaVY/J9IfmUWaLp2evyNRdC6ynk3BwAZNfZ5ILK60/km
+rYPzdZkQ1RI+/FaIVGzM+rh2LevDImZ+LrLTny7xpSmeo2TU820zbiV4s/yBLTEp
+k4xqRcNPfIy7mvOmH5XXu5lMsKLKhcD0OIPAX0T2KX0+fouScwl7dhaIOpwgCXsm
+TdLLitECggEAcJMYduUmXC6eKAO1JHyf7a8r6ZQ+zR5QJPLZ/BBbkBY46uRutXpv
+5dWF49FHN8H4BiaElXDbZblwLl5NTA5r4zGFsWpI+TTwsjTYDlZxvXfgLQV/B945
+9okUj7vPLWUHG79nydm17581i57ePoJqAYZToDh7bVawdgNhpIl7s1wZI1X2Druz
+ktQPjKdpglXOn1ue3AC1vRBVPOAIYVLRud7iPEP2ZyXdgvUMpqpB6xxadx4iAIXx
+aGFAYkUB9dbZLG20wqpVCgYugD7U9NwgaTcDl5W8G9S9j7wUOzSQUydw/GT5pD3I
+SDXCI2fsxb/dX0jZhqeQvbbOqiuYXrrZMQKCAQEAqE3ZWDqhx4obUCkAiSnADnmh
+v4/yzeHByCXH71uhou/C+y1f3RQLIZN8oAgnSKpFeAdue3Gwk6BA8FYBjSF2hhrM
+LaYkzZ0fhFKhTbNmJ2LVJgFtOO8C/95UWY9tKuToRfndXv+99c1d1o85C97KE7C1
+zREnTgIf990e5gx2KQCA5irELpKltu0g1wDfbD6hCxJhuvsg869Q0JcXcktg8c0D
+sbJQWZrlr9i7TG6TEs7bWxH77hOdrpPyaRUiELt8ZfJJrrctYaY4ogd8NDctDbma
+WJWdco8kyiWauoRBJuJJwRtTTMQ+JBiomOhDb1moQd19lNQiBjW5pTfr92NSVg==
-----END RSA PRIVATE KEY-----
diff --git a/mysql-test/std_data/server-new-cert.pem b/mysql-test/std_data/server-new-cert.pem
index fb203d7c0a2..14a732495bc 100644
--- a/mysql-test/std_data/server-new-cert.pem
+++ b/mysql-test/std_data/server-new-cert.pem
@@ -2,34 +2,51 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2 (0x2)
- Signature Algorithm: sha256WithRSAEncryption
+ Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
Validity
- Not Before: Jan 27 10:11:10 2019 GMT
- Not After : Jan 23 10:11:10 2039 GMT
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 28 03:03:03 2040 GMT
Subject: C=FI, ST=Helsinki, L=Helsinki, O=MariaDB, CN=server-new
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:d8:52:35:3e:4b:0e:fe:cc:17:1f:b8:79:5c:35:
- d6:a0:e3:c5:11:23:5b:12:7f:c3:a4:4d:0f:35:71:
- e1:94:87:49:11:e2:f4:b3:80:dc:33:c0:65:f4:1b:
- 24:21:b1:c4:e5:d6:b8:1e:83:f6:3f:6b:7f:aa:2a:
- 18:a0:49:6c:87:ee:b4:df:cc:58:19:0f:7f:06:b3:
- 93:ce:8c:de:46:69:80:e9:ac:9e:79:05:bd:e2:c6:
- bc:80:3f:44:7e:a8:ca:09:72:e3:e4:b0:a4:54:79:
- 08:9c:f8:b0:ed:56:3b:21:da:dd:8b:06:12:df:fb:
- b6:2e:0e:ca:27:c4:de:8b:55:e2:93:d6:ff:09:aa:
- f0:a9:8e:83:be:92:fb:9d:a8:c4:b6:27:e2:63:03:
- 3c:0d:6b:4a:05:f9:6f:1c:14:de:f3:c3:ef:60:9f:
- b4:21:d6:74:6f:a3:a5:6a:c0:b0:4e:7b:37:95:0d:
- f6:43:06:95:cf:c0:93:13:d0:81:83:5a:aa:bf:81:
- 98:ca:4f:70:46:79:42:84:12:32:74:e4:7f:4e:84:
- 13:83:54:15:49:45:1d:d1:40:bf:e1:5f:11:de:94:
- d0:4a:5e:8b:a2:26:03:61:55:41:45:86:45:00:d8:
- ea:34:f7:1f:21:64:f7:85:6b:a6:47:3e:f9:81:e4:
- a6:6b
+ 00:bb:a2:d6:cc:2d:ff:d1:91:03:41:0a:d9:e8:78:
+ cd:f7:6c:b7:8a:b0:37:e7:a2:79:c3:4e:08:da:f2:
+ ec:bd:ba:83:e8:e9:3d:56:56:8e:d3:b8:d7:f2:b4:
+ 95:99:39:26:a5:b2:92:b0:09:5d:42:ee:61:06:45:
+ 9c:e6:c6:f4:7a:ee:45:5f:bb:4b:29:1d:f2:1d:4b:
+ 64:16:ca:c3:0c:58:95:1a:db:d4:54:f4:2d:d7:84:
+ 76:69:75:cc:b1:a4:0b:4c:83:d5:ba:9f:f5:d0:d7:
+ 58:b9:ed:35:da:b5:d1:88:1e:85:db:94:b7:2b:f3:
+ b7:a1:85:73:dc:92:b8:bb:80:79:85:e2:7e:d6:f6:
+ bb:72:fe:8c:65:64:35:99:8a:d9:74:c6:86:ef:ad:
+ 61:cb:50:ff:1c:44:72:a0:42:c6:8f:19:60:ab:8f:
+ 00:3b:6f:94:ae:be:88:70:72:61:80:4d:68:4f:c6:
+ 54:9c:d6:a4:e3:85:a8:51:4f:76:dc:b1:5b:4b:c2:
+ ac:07:ec:12:4d:c8:ba:c7:b0:80:ef:57:00:75:4f:
+ b0:fa:c2:a1:70:4d:0d:75:c6:a9:3d:b8:1f:5b:fd:
+ 0c:34:84:5c:4f:10:35:62:90:7b:d5:6b:b7:78:cd:
+ 54:e2:13:ba:9f:81:c2:f1:84:e3:74:b3:27:46:4a:
+ ef:48:59:75:58:53:a9:92:e0:c8:3e:44:86:72:f0:
+ 67:64:1a:72:db:33:68:bb:51:a4:39:9c:30:f4:38:
+ 9f:c1:74:ab:57:6b:99:3b:e7:19:34:96:44:2b:f3:
+ 7b:58:82:b7:eb:eb:74:5a:66:8e:be:68:2b:71:85:
+ 01:b4:d5:0d:e0:1e:17:5f:e1:12:72:f3:71:d8:41:
+ 9a:4e:be:a4:2c:bb:80:48:e9:2d:74:1e:57:12:d0:
+ 90:c2:66:2d:1c:d1:7c:c7:e0:5d:7f:a0:a7:46:fb:
+ 31:a7:37:c7:19:22:4f:f6:7f:8d:b8:d4:9b:f7:b1:
+ fa:6f:77:68:b2:e2:a1:e4:05:e9:22:79:09:f0:59:
+ 21:c0:49:0e:1c:31:0e:3d:f4:1d:4e:d5:51:8f:e4:
+ 40:66:a6:a0:63:0c:dc:66:5b:08:d6:6c:ee:2b:08:
+ 7f:1e:a8:ac:10:69:8f:78:49:5e:8e:20:f1:81:c8:
+ b2:6a:36:4a:43:e2:0f:47:7b:8f:ba:06:52:2a:2d:
+ 05:c0:03:f7:11:ed:ed:c1:e8:48:9c:3f:c1:cf:2c:
+ 88:c8:57:de:81:e3:59:2e:db:51:6e:23:0d:7e:a8:
+ 75:a4:6d:cd:9e:56:7f:19:f9:43:ee:2b:3a:dd:c5:
+ af:e9:1a:3e:1d:dc:57:a3:dd:56:14:ed:ff:33:40:
+ 0f:c3:e9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
@@ -37,45 +54,70 @@ Certificate:
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
- 20:CD:11:1F:57:C3:33:FC:17:16:2D:32:48:16:47:B8:0F:42:2D:53
+ 41:73:D1:5E:AA:7D:59:3C:6F:4D:43:E8:20:AE:A1:D3:9C:26:B1:C4
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
Signature Algorithm: sha256WithRSAEncryption
- b3:2d:b3:4f:a0:9a:48:ec:a9:06:97:8d:b4:af:93:13:a8:58:
- 8f:4e:43:f1:4f:7b:13:59:d5:c6:dc:f0:f7:b8:f2:e8:47:28:
- e0:94:2d:cb:d1:de:58:a8:31:e7:41:f1:c3:9b:6e:21:c4:3e:
- 2c:56:f7:8b:36:1e:b5:c9:40:aa:15:8b:32:33:29:e6:8e:3c:
- a2:db:ad:02:c2:cb:46:fa:4d:2b:43:51:97:00:bc:ad:83:b1:
- e9:69:7b:83:31:a8:ce:18:c9:a2:d3:a2:17:f5:f4:b2:3c:59:
- 36:2d:6d:ee:21:bd:fa:24:cd:c5:96:26:41:66:6b:8a:ba:ff:
- 25:60:44:64:43:f5:4d:df:61:4d:a1:7f:16:27:63:a4:9c:61:
- fc:d1:9e:9f:aa:e0:dd:dd:4f:64:2e:89:03:cd:a7:f4:b8:d0:
- d7:a5:72:46:fa:33:13:84:0f:a2:e1:fa:9a:a1:e4:6f:f4:30:
- fb:30:24:df:ac:d0:52:94:8d:92:3b:26:fe:1d:a0:30:da:23:
- 05:3f:ef:f1:79:a8:b7:f9:73:42:5f:da:9d:f8:a8:28:b8:4f:
- e3:6e:50:81:46:e1:b4:a1:7e:ec:78:10:8c:be:2e:bc:21:6d:
- 1a:78:df:3f:f9:a8:8e:67:0e:b6:cb:1e:fd:ed:d3:28:68:59:
- e3:d4:59:a8
+ 49:7c:18:c2:1b:5b:de:5e:15:84:18:f6:6b:1c:03:d6:8e:75:
+ 34:f6:6c:0c:e3:64:60:65:6e:19:1d:26:3b:c8:ed:96:99:30:
+ 19:7e:3d:d9:c5:a1:19:8e:c6:15:c1:60:74:7e:b6:8b:78:d8:
+ 46:43:f7:ad:b0:96:fa:51:4e:52:c2:67:da:da:a8:70:f3:40:
+ c5:80:b4:cc:36:18:81:98:d2:af:94:bc:82:ba:4a:7e:e6:d6:
+ a3:4b:2b:6f:f6:45:b3:82:07:2b:32:68:7a:d5:fc:7d:70:75:
+ 7b:4e:b6:33:4c:3d:c2:46:3b:89:c8:77:d8:8d:da:20:88:1d:
+ 0c:76:2a:79:92:9c:91:44:44:c8:c7:5e:53:8c:d3:29:f6:e9:
+ 3e:26:9f:47:ac:ca:03:4a:90:ba:c7:ba:0e:31:61:fe:89:af:
+ 2b:eb:07:aa:7d:10:fd:f5:f0:ba:09:f0:58:1b:86:9b:d2:0b:
+ b8:c8:db:f4:be:6c:ba:96:dd:3c:5d:7f:ec:4b:8e:93:46:b4:
+ 78:d2:c7:02:c7:26:e5:d9:ba:3d:93:3f:85:ea:bc:3a:ab:54:
+ bf:d5:2c:6a:49:f4:d7:d4:72:cd:5d:33:d2:cf:c8:c6:98:1e:
+ d2:de:72:53:8c:c3:47:f7:43:aa:ca:0f:ca:0f:24:d0:7a:0f:
+ 43:fa:9c:cc:2a:39:2b:0f:ee:89:91:91:6b:e7:89:80:fd:bf:
+ 87:c2:9f:0a:7d:f5:e1:33:72:8e:02:35:d4:c6:ec:1d:e7:e0:
+ f2:9b:ff:c3:d0:f2:ae:52:9a:41:87:65:24:d4:2e:3d:61:fb:
+ ef:6d:9a:e9:b2:09:af:6b:d9:72:1a:c5:e7:45:1f:4d:bb:2a:
+ 9e:af:25:b8:cd:d0:fc:43:70:45:55:a0:23:4e:23:00:de:65:
+ dc:f6:bb:d9:a3:b3:61:28:5c:10:09:c1:ca:d5:63:4d:cb:e0:
+ 1b:36:e1:e6:4c:25:1f:c2:00:d2:93:1f:c4:c9:64:b0:0d:dd:
+ fb:dd:b4:0a:57:24:8a:d5:20:c3:d2:54:a3:c3:8e:c1:e7:c4:
+ fe:30:14:dc:f2:69:6c:8b:67:1f:2b:a7:90:bb:da:f7:81:0d:
+ 33:24:3a:21:d6:5d:7f:ed:9a:b1:99:47:8e:42:53:f4:e1:86:
+ da:15:c3:88:bf:e6:4e:29:48:b3:bf:2e:ac:ef:b9:04:74:2f:
+ 48:b7:13:ef:fa:92:a5:93:99:e1:0e:3b:86:d1:3b:f9:49:b0:
+ ad:b9:e4:88:e6:db:10:58:5e:b3:61:bf:5c:74:ef:a0:76:99:
+ 2e:0f:b8:68:01:9e:32:ae:af:cf:14:45:af:45:0a:f0:b7:f9:
+ 41:3b:45:52:7b:a0:44:eb
-----BEGIN CERTIFICATE-----
-MIIDpjCCAo6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
+MIIFpjCCA46gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
-c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTkwMTI3MTAxMTEwWhcNMzkwMTIz
-MTAxMTEwWjBaMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
+c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMjAwMzAzMDMwMzAzWhcNNDAwMjI4
+MDMwMzAzWjBaMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
BAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMRMwEQYDVQQDDApzZXJ2ZXIt
-bmV3MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2FI1PksO/swXH7h5
-XDXWoOPFESNbEn/DpE0PNXHhlIdJEeL0s4DcM8Bl9BskIbHE5da4HoP2P2t/qioY
-oElsh+6038xYGQ9/BrOTzozeRmmA6ayeeQW94sa8gD9EfqjKCXLj5LCkVHkInPiw
-7VY7IdrdiwYS3/u2Lg7KJ8Tei1Xik9b/CarwqY6DvpL7najEtifiYwM8DWtKBflv
-HBTe88PvYJ+0IdZ0b6OlasCwTns3lQ32QwaVz8CTE9CBg1qqv4GYyk9wRnlChBIy
-dOR/ToQTg1QVSUUd0UC/4V8R3pTQSl6LoiYDYVVBRYZFANjqNPcfIWT3hWumRz75
-geSmawIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM
-IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIM0RH1fDM/wXFi0ySBZH
-uA9CLVMwHwYDVR0jBBgwFoAUynGZifByq3Vmu2VqAwRypXuVppMwDQYJKoZIhvcN
-AQELBQADggEBALMts0+gmkjsqQaXjbSvkxOoWI9OQ/FPexNZ1cbc8Pe48uhHKOCU
-LcvR3lioMedB8cObbiHEPixW94s2HrXJQKoVizIzKeaOPKLbrQLCy0b6TStDUZcA
-vK2Dselpe4MxqM4YyaLTohf19LI8WTYtbe4hvfokzcWWJkFma4q6/yVgRGRD9U3f
-YU2hfxYnY6ScYfzRnp+q4N3dT2QuiQPNp/S40Nelckb6MxOED6Lh+pqh5G/0MPsw
-JN+s0FKUjZI7Jv4doDDaIwU/7/F5qLf5c0Jf2p34qCi4T+NuUIFG4bShfux4EIy+
-LrwhbRp43z/5qI5nDrbLHv3t0yhoWePUWag=
+bmV3MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAu6LWzC3/0ZEDQQrZ
+6HjN92y3irA356J5w04I2vLsvbqD6Ok9VlaO07jX8rSVmTkmpbKSsAldQu5hBkWc
+5sb0eu5FX7tLKR3yHUtkFsrDDFiVGtvUVPQt14R2aXXMsaQLTIPVup/10NdYue01
+2rXRiB6F25S3K/O3oYVz3JK4u4B5heJ+1va7cv6MZWQ1mYrZdMaG761hy1D/HERy
+oELGjxlgq48AO2+Urr6IcHJhgE1oT8ZUnNak44WoUU923LFbS8KsB+wSTci6x7CA
+71cAdU+w+sKhcE0NdcapPbgfW/0MNIRcTxA1YpB71Wu3eM1U4hO6n4HC8YTjdLMn
+RkrvSFl1WFOpkuDIPkSGcvBnZBpy2zNou1GkOZww9DifwXSrV2uZO+cZNJZEK/N7
+WIK36+t0WmaOvmgrcYUBtNUN4B4XX+EScvNx2EGaTr6kLLuASOktdB5XEtCQwmYt
+HNF8x+Bdf6CnRvsxpzfHGSJP9n+NuNSb97H6b3dosuKh5AXpInkJ8FkhwEkOHDEO
+PfQdTtVRj+RAZqagYwzcZlsI1mzuKwh/HqisEGmPeElejiDxgciyajZKQ+IPR3uP
+ugZSKi0FwAP3Ee3twehInD/BzyyIyFfegeNZLttRbiMNfqh1pG3NnlZ/GflD7is6
+3cWv6Ro+HdxXo91WFO3/M0APw+kCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgB
+hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
+FEFz0V6qfVk8b01D6CCuodOcJrHEMB8GA1UdIwQYMBaAFE38ehnzKwx99sB8Tfhy
+NEyMNVJ0MA0GCSqGSIb3DQEBCwUAA4ICAQBJfBjCG1veXhWEGPZrHAPWjnU09mwM
+42RgZW4ZHSY7yO2WmTAZfj3ZxaEZjsYVwWB0fraLeNhGQ/etsJb6UU5Swmfa2qhw
+80DFgLTMNhiBmNKvlLyCukp+5tajSytv9kWzggcrMmh61fx9cHV7TrYzTD3CRjuJ
+yHfYjdogiB0Mdip5kpyRRETIx15TjNMp9uk+Jp9HrMoDSpC6x7oOMWH+ia8r6weq
+fRD99fC6CfBYG4ab0gu4yNv0vmy6lt08XX/sS46TRrR40scCxybl2bo9kz+F6rw6
+q1S/1SxqSfTX1HLNXTPSz8jGmB7S3nJTjMNH90Oqyg/KDyTQeg9D+pzMKjkrD+6J
+kZFr54mA/b+Hwp8KffXhM3KOAjXUxuwd5+Dym//D0PKuUppBh2Uk1C49YfvvbZrp
+sgmva9lyGsXnRR9NuyqeryW4zdD8Q3BFVaAjTiMA3mXc9rvZo7NhKFwQCcHK1WNN
+y+AbNuHmTCUfwgDSkx/EyWSwDd373bQKVySK1SDD0lSjw47B58T+MBTc8mlsi2cf
+K6eQu9r3gQ0zJDoh1l1/7ZqxmUeOQlP04YbaFcOIv+ZOKUizvy6s77kEdC9ItxPv
++pKlk5nhDjuG0Tv5SbCtueSI5tsQWF6zYb9cdO+gdpkuD7hoAZ4yrq/PFEWvRQrw
+t/lBO0VSe6BE6w==
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/server-new-key.pem b/mysql-test/std_data/server-new-key.pem
index 40f6138157d..05f0e5451d6 100644
--- a/mysql-test/std_data/server-new-key.pem
+++ b/mysql-test/std_data/server-new-key.pem
@@ -1,27 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEA2FI1PksO/swXH7h5XDXWoOPFESNbEn/DpE0PNXHhlIdJEeL0
-s4DcM8Bl9BskIbHE5da4HoP2P2t/qioYoElsh+6038xYGQ9/BrOTzozeRmmA6aye
-eQW94sa8gD9EfqjKCXLj5LCkVHkInPiw7VY7IdrdiwYS3/u2Lg7KJ8Tei1Xik9b/
-CarwqY6DvpL7najEtifiYwM8DWtKBflvHBTe88PvYJ+0IdZ0b6OlasCwTns3lQ32
-QwaVz8CTE9CBg1qqv4GYyk9wRnlChBIydOR/ToQTg1QVSUUd0UC/4V8R3pTQSl6L
-oiYDYVVBRYZFANjqNPcfIWT3hWumRz75geSmawIDAQABAoIBAQDMUdGidejC92g7
-+NUAKIYBz0Ear+dccLsMnBBqbZcg4Cs/LrvsNCFI7EggKeaVwL/2Szn68K+NNW8O
-/dXmx5MwTWIgJHVtrjpPzRwlst5baVlu3TGNo8O3x/jRtXBvpeO2ywK/xaxhcTSW
-dzs94P3XO0+X+XOohaqMlEGTEJsWxJoSnZGL/QJAqccUEZMQeAkHOGVIDAlynHPi
-Y1zE+7QpeoNDKPPUS+niNouloRWJqhps11UhNHMHelXLWkiO78HNfQuMU8RUjzVu
-niRQ5cxn3aj2WrFqTtg8UJH0QEEnvpZnk8ptZoMI8lFALDTjCVTIrRS2b5TT2YOz
-UB+G0CGhAoGBAPjNUMBMz7uH+a8rIwS3zGEgHmpQY1vBw1uxH/vDdSgY28BXKEMw
-4ofGjyT1tXi6sdUFzWHybwCPoaaTb46Vo3G9lZoTX6k9Sp5HatGqa7gJwcU1UjUQ
-KLkokmwFi9nupCjOze4cP+uykQME6RBIBDGSeG4kn2ZPhYsXbxI15tz7AoGBAN6U
-VOgAu2/EgB/TD7k4Be3uKVgtSSAAmDe4DdT2WdeUYy/YQ5avpvayd1kjlMeybMia
-PM27VJr8pXnCcfabvwC9vP5KjX7Z45NeTqgUsY4nGASEQpECVVWjOyL3yyPSUDyG
-s4yMsrJ5N4cAFodZ2uvZtdez/Msdrd0Icyqqp0FRAoGBALGyOiVN9uPSRuLz5Sve
-dcs8nFyEE6KaLgQT6mru+4Lq1jB2T1xF0tT0XJIiJz0V4iLp5Pk6pEr7SpHlJTzp
-5PU8WVfU1HLUQrHvAfzDQfIMjedioNcjNmKf9ovOHkdFaNt4cJ3KcWDOhUFpxWeK
-d+xL11WbNHlm/FMOJpcUBlH3AoGBANwto6g1QTWZDp1srjss/kCVvfRqJ9IuhGVp
-/tTSNaGaOlwT9RhU/jc/5+wX1I+PIyl12fwx+cmvbwn5nb6z5sgW6aQrn7kCVats
-OSbwAYx7g7jEFQ1ZX4ztggxfT2ZKH/Ef1vGMJSGD47f6EE8oRfXVUZrlg4Zx/5GN
-UE++rOFhAoGAdjQrHtlHx7woHOwwgnfF6TlSp99TZWLvn+ethpIA8qET+xGAOi8H
-gVWSA/Yq9fjc8W2niJG05EB8FbwSaAA6HH13E3B5+KWYGwgC1osSkF/JDKInTilC
-/fvUW6clvoXQoJPymwtFpSK5NygJfASujZaAetSQFiG2oAdgQW1rjlY=
+MIIJKgIBAAKCAgEAu6LWzC3/0ZEDQQrZ6HjN92y3irA356J5w04I2vLsvbqD6Ok9
+VlaO07jX8rSVmTkmpbKSsAldQu5hBkWc5sb0eu5FX7tLKR3yHUtkFsrDDFiVGtvU
+VPQt14R2aXXMsaQLTIPVup/10NdYue012rXRiB6F25S3K/O3oYVz3JK4u4B5heJ+
+1va7cv6MZWQ1mYrZdMaG761hy1D/HERyoELGjxlgq48AO2+Urr6IcHJhgE1oT8ZU
+nNak44WoUU923LFbS8KsB+wSTci6x7CA71cAdU+w+sKhcE0NdcapPbgfW/0MNIRc
+TxA1YpB71Wu3eM1U4hO6n4HC8YTjdLMnRkrvSFl1WFOpkuDIPkSGcvBnZBpy2zNo
+u1GkOZww9DifwXSrV2uZO+cZNJZEK/N7WIK36+t0WmaOvmgrcYUBtNUN4B4XX+ES
+cvNx2EGaTr6kLLuASOktdB5XEtCQwmYtHNF8x+Bdf6CnRvsxpzfHGSJP9n+NuNSb
+97H6b3dosuKh5AXpInkJ8FkhwEkOHDEOPfQdTtVRj+RAZqagYwzcZlsI1mzuKwh/
+HqisEGmPeElejiDxgciyajZKQ+IPR3uPugZSKi0FwAP3Ee3twehInD/BzyyIyFfe
+geNZLttRbiMNfqh1pG3NnlZ/GflD7is63cWv6Ro+HdxXo91WFO3/M0APw+kCAwEA
+AQKCAgEAthrLZyx5rHWV9+lFJYchNrIvzA1MpKWekTtKAt1jgJvlbAX5/rJROhCa
+nTZAPo4mAQi3rtvXxJ7AUar8JUoQesKHV+rZflVO5rmFsU0mUfQi+gdCIxU87H7l
+wWKPwBRa1u7YXqDinMZzmTcsXlC5w+cDuOGziJenr75qfTd0zJ1a0+LHgW/C6087
+CShhkNweQmRvD2xxjjbU8SVJLlrAhJ93n+lQq16WqaXHm4KXOENoKoxtEC6NpzfP
+7OI3lOcYmQWdmq618QIQrL+T0zXX/wLR2/1LW0ec+aJOHNV2sft8ffe78wvjE/7w
+AGjjjv2RFT1akXYJsgdsDZXWVzVg1mfou1f0/ywmFNqtB2lKGnpte+3nre4ip7nw
+lB8STjdByPhPNPb0xeMYlPmG05LY/nGJsExiTt9PHPj6+e2z0y3jZprbklsm/3od
+FuzQ88kLeme2tuMDqedzTD38oaj39CnKjxoAXqQezc46LytDDpwgU/Or5Xu6UFV0
+lS0Pv0ua79zo+1to+DX0+V9vuwnXJmo7YFrGtZmpmRFG1r9Eakz0IbH9E8Pwd5FI
+7oVF007ooNyAR7yC4VlK2u7V0i0ZdJGNhIvE6P0/NxKyoxNdrfhoyNA3AFtFCA42
+FNb7I6LgxPa9CR8zTjDmwe4AWcdEO2vIX/sihYsuHOZLaveNCYECggEBAOa2Vmzo
+xg7BX5iS94RSN1ApFMlUibnc04hIaU7046N7kOF9FfFmc5gdXjRpNc2b7S3dmcWf
+MycgBTCZeVq25zOA3NlD61BT1w/4u7dpCDuDK1zh/0xjkmHJ3KWxtOdStn0uU7Yx
+pqhngHF+XnGwqhOCdC3wEHwLua7NtfoSwO2XyyRRsTomT/MhPZFNLRB2CvO6IU/F
+xog4MC4aGBv1blYV2aBkXvyUzdQBxZQfcCSzAG56YvwBZ/1bORmGTHdfnirzGt8x
+MRV+yp8JOUz33JRgOzkWANQxc4nZuvZD4TnZokTJaHLc7XWNZwKgiGo9XqlY9Bao
+MgpRGu9GelQeBpkCggEBANAzzqqZuv1iqxo1Q4YgGWyuv7MJ60FpWMkMk6f332Jy
+eGOG8TrLM45uo4Z9jNTtbjbmrKQYyA0D+++HXF7EPDNmJLH6950GtNN607hK1UA3
+1P7XW30mS6aHOckPO1Aing6Asvu1QqviwW/d5XTCiFGpU88BSh9l8A1ao+ePr+Lz
+kYnuyT5yc2tBlUknv/SZ6eqbptKP2dh3cR5sn+8jRjXuXhONMjDisZH3IjMEdO5W
+re1Qa/2LEnpB71g5qmb4Xj/o/uJlwQZAXXUBwEKid3Q5wa03DFFOUQmNGYrhYAl9
+4AYENQC2FESdo5dPGyOx/mBgx3B0Cg2S/ytX/P95CdECggEAaqmj/UgEwS+fna9c
+pZ1JG1NS292sqvQwC9LGdQ187Mkk60rkSS2/hXUWZ464pC1RkyHfhOEcShtgqt5Z
+n5nt+/64m+3trb6FMEojpyD1AGadNpz5Zfym4XTtAOHOrB+uZON1Kkd8MGFhnZb5
+3P/7MXffdJmHVYIqP2m1lz7yWSYTceAe2q55ygL1LucKTZD1cUb9PZ9HMRUhGT9R
+JCPs9fm2GpQs4gN9wWVsThXWx/DF403L04xm4lg5ZtaTJaFcQ6kPJF7evXxX+vzN
+tArnvOVcnADTM0cFjpbN/CrXxuIaRkkDdA817WIJXMqRJuTmjc6lUpBCSkjC9hqU
+Va1oCQKCAQEAvJkRboyPTBRi9fylzAurvD2XvTERAFHTcVuJLbBllCIpV87XGfEU
+JMOoMZ3tQrxJCEZwwL0KCnA/eTzeuaF8/vpZ5zd1sbJvftpWiyyOe/uXX7npUDau
+dI0uFSlNC0wwbOa8OzJ40Ic5voH85oWJQp/mITAD2ulWSGKA8rPAGg+VGKNLfNvk
+HZZtCrWNNp9tu21/8mEIbwPTXkH7pn4Hjbb9VSyj+JCBVb3OJvS0j2nJZ51gFW4z
+MLglfX/PEjON/MqsiJyv+1+2yNTrOfE9z/S5spSY/dW5prNAHgQGINL7abfJ43kM
+ZxN9KwUninAkA13ni8AxkxZDOxobPbiA4QKCAQEAwMLRfOulmo6psfMW7JhlRdZa
+aAo8loLuK4S0nn4B3alUqjinVZPmgDRUu1XjtwbJ4mvbWjMxOQrYlRkp+RsxYZOy
+hiTWkUgMNFLbMBuwsS4+pBiYrkcbyNAxg8TjlTIp1XMUdCsOd2JrSWG6eAekIv9e
+9yOW7eOt8epnoAnCFpFBfdJvjCvWyKY/Sxk1ISskpVZoxFHk9Dc+38Rmy13hLyE0
+UyJnSX3x4Dw83cyV6/KqJWDkQlvVGoXG56gM2VZwLqvHHYDVOV/1u8k0KtZdxJFe
+FANJfgYUb6c8SFYVbwc4Rjeb2nq/fnbUyUQpbZ278Xf5Oe594KBdYj9qltlGbA==
-----END RSA PRIVATE KEY-----
diff --git a/mysql-test/std_data/server8k-cert.pem b/mysql-test/std_data/server8k-cert.pem
index a2878516020..dfbf05bc3f4 100644
--- a/mysql-test/std_data/server8k-cert.pem
+++ b/mysql-test/std_data/server8k-cert.pem
@@ -2,85 +2,85 @@ Certificate:
Data:
Version: 3 (0x2)
Serial Number: 3 (0x3)
- Signature Algorithm: sha256WithRSAEncryption
+ Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
Validity
- Not Before: Jan 27 10:11:15 2019 GMT
- Not After : Jan 22 10:11:15 2039 GMT
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
Subject: C=FI, ST=Helsinki, L=Helsinki, O=MariaDB, CN=server8k
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (8192 bit)
+ RSA Public-Key: (8192 bit)
Modulus:
- 00:b9:f5:78:46:53:e0:3c:07:bf:97:fb:ab:be:97:
- 71:d5:89:44:bf:db:0e:58:be:96:42:06:9e:dc:08:
- f7:51:d6:27:7f:65:2d:c7:1e:f7:4c:5b:3f:e5:7a:
- f8:fd:df:73:42:92:0f:37:5e:28:ae:51:14:13:be:
- b3:55:d4:db:9a:f6:a9:88:84:02:79:fb:f9:c4:67:
- f9:96:99:68:80:58:4a:22:c4:a1:90:c0:33:58:c8:
- 96:d1:a4:7f:7f:9e:84:a6:f3:03:a3:01:93:cb:1d:
- ab:f1:f5:17:28:03:34:78:6d:47:46:07:ab:f8:ea:
- ff:02:8a:f8:20:92:a2:ce:29:6a:66:d0:39:87:2f:
- 62:9f:43:d9:a3:0b:74:89:ab:f7:d9:39:7d:6c:de:
- 05:4e:58:4d:35:15:d4:18:2d:ea:70:df:60:fc:50:
- f8:0d:b5:8e:c0:c6:03:74:3b:8d:53:d6:87:a2:9a:
- b6:0a:5a:80:a5:cc:df:30:a7:95:30:ad:50:62:e1:
- 01:3a:8e:ee:e1:41:b4:99:ee:ce:8b:ca:55:24:3e:
- 7c:00:79:08:f4:46:42:e0:63:93:a3:d0:5a:39:fc:
- 7e:f4:96:21:24:9a:f7:29:0d:22:85:b6:c5:c9:9c:
- 92:71:68:5b:03:de:fb:bc:75:f8:0f:24:ea:01:92:
- b7:37:e0:78:a0:64:37:69:90:8a:7c:99:c7:45:f9:
- 90:a2:50:59:e1:1c:02:ad:b2:2e:c7:3b:26:ec:76:
- 6d:10:c9:f9:2f:dc:12:87:41:72:08:ec:0a:1c:ae:
- 9b:6f:de:57:a4:aa:b9:ee:83:a4:14:c4:e5:54:66:
- 32:5d:21:2a:a3:6d:2d:8d:f5:8e:08:a2:a3:0d:07:
- 83:4b:0a:27:0b:9c:7f:73:78:f8:d9:9c:1e:d4:33:
- 2b:a7:35:b4:77:5e:12:d6:a6:a4:d2:d0:af:30:b6:
- d5:1f:05:9b:1e:e6:ae:c8:a5:8c:b6:b7:dc:c3:0b:
- 1a:85:5a:d5:bd:be:65:c8:e6:a5:f0:37:38:16:d2:
- b0:ca:ff:2e:a1:f2:7f:8e:28:c5:9c:d4:de:be:1f:
- 23:43:51:85:f9:e5:fb:a8:61:61:96:50:34:ad:75:
- 34:fa:46:e9:2a:66:1a:43:9c:e4:e5:79:26:b7:0b:
- 5d:d1:1d:81:c6:52:17:d7:95:13:9e:65:64:9b:2d:
- 0d:2b:7a:04:28:aa:02:df:81:0c:f3:83:3d:76:ad:
- 40:e6:f8:c0:b2:f3:0a:b2:cc:e8:f2:c8:ac:21:c4:
- 90:7d:4c:b6:50:d8:b7:0a:15:12:5f:a5:e0:c5:68:
- 8f:ed:4d:f4:d9:b5:72:df:63:c9:d6:14:fe:d8:fc:
- db:31:72:1e:15:d5:e8:ac:d9:a7:d2:0a:bc:a7:a6:
- 51:5f:0d:0f:23:20:2d:34:ba:44:66:f6:81:e3:aa:
- fe:38:11:61:ec:03:3f:64:6f:93:f5:2d:b0:be:7d:
- 6f:49:73:c6:23:67:7b:46:da:62:67:10:e4:e6:a1:
- e4:1b:50:0f:ff:50:51:0a:dc:ee:1b:e3:ed:20:30:
- 3a:c1:37:17:24:96:fa:fe:2e:d0:75:b3:9b:c1:ae:
- 15:ac:ba:fe:b4:d5:33:ff:33:86:f3:5e:24:f7:45:
- 8d:ad:b0:47:6a:ef:9c:0e:f7:07:0e:71:a0:e7:75:
- 4a:42:59:02:b7:11:86:d6:65:77:06:3a:f5:6f:99:
- 3b:9b:52:cf:e6:30:59:e3:28:19:8e:c2:5f:e1:f7:
- 28:74:ff:c2:d1:35:91:96:ed:52:14:4a:3c:91:19:
- 50:7b:3e:04:65:f8:3e:d9:6c:29:cf:74:d8:0f:df:
- e4:cd:94:73:81:ef:19:9e:4b:0c:3e:2e:24:fd:a9:
- c6:73:b5:7c:ed:d1:0e:72:ac:c9:fe:5e:a6:2d:d7:
- 7f:ca:c5:75:18:cb:3e:27:62:20:cf:10:c1:7f:d3:
- 6f:a9:d4:78:98:3b:f6:0c:e0:5f:54:b3:0b:0a:36:
- d7:59:34:c3:70:5c:59:25:cf:54:e0:7f:ec:a3:3b:
- c4:a1:6f:be:1e:be:e1:36:c6:d3:26:bd:86:ae:0e:
- 73:26:89:3c:7f:72:a1:2d:00:66:b1:e2:e0:74:72:
- 86:12:c2:6b:e4:e7:99:70:bb:98:81:c3:44:65:c5:
- 76:21:62:f1:af:31:aa:73:be:fb:b0:86:a6:5b:e2:
- 51:78:e6:6a:1b:58:3f:4a:34:e6:99:88:e4:1c:b1:
- 80:94:f2:31:a0:b0:27:81:b1:18:98:6f:53:2e:74:
- a0:c3:2d:e7:f6:92:27:80:40:a4:f3:3a:e2:ad:84:
- 64:82:ed:80:3f:e0:54:e8:3d:ec:75:25:21:2a:2f:
- 4f:08:61:be:b6:e0:fb:bd:ec:7e:3b:17:d2:a4:bb:
- b8:f8:3f:9a:2e:12:eb:b2:00:45:51:3a:99:53:6e:
- b5:06:5e:8b:8f:0a:b5:61:2c:12:10:60:4d:2c:de:
- 6e:e8:80:f8:99:b2:8b:36:61:33:88:08:60:4f:30:
- ff:61:d2:cc:02:75:5d:d7:8d:06:e0:bd:e3:e0:35:
- f7:ba:f8:a6:e4:14:79:e4:62:4d:bf:ea:81:fe:1e:
- 01:24:69:da:89:1a:c1:11:3c:50:f1:a3:b3:27:df:
- cc:16:3a:03:97:88:a4:92:63:a6:8e:c9:18:f5:02:
- 16:a7:b2:a5:3d:f7:12:00:e4:e1:55:96:16:84:6e:
- 03:70:3d:ce:4b
+ 00:ac:74:31:9c:0a:92:45:8a:ef:01:fe:fd:3e:7e:
+ c5:33:0b:e8:0f:af:8e:91:ff:6a:99:eb:df:88:4f:
+ 8e:5e:07:52:6c:c3:1c:55:2c:c0:23:e4:7b:ba:8d:
+ c1:df:b8:1c:54:ce:3e:0e:d8:b9:37:66:48:8c:7d:
+ 6d:9d:9b:1c:b9:10:39:4e:f4:3d:64:96:93:be:3e:
+ 98:dd:c1:79:c7:bb:56:45:50:bb:ce:75:cd:39:1c:
+ fa:42:b9:f0:a6:ed:9a:ca:ef:5f:41:db:3d:83:de:
+ c0:51:6e:0e:82:31:f7:f8:97:53:b0:b3:74:1a:62:
+ 69:1e:71:7e:dc:e6:bd:de:41:2f:b3:98:a0:c4:d4:
+ d9:7c:8b:c2:40:4a:63:bb:c0:5e:bc:0e:b9:53:34:
+ 11:57:4f:0d:23:c4:86:92:34:cb:55:cb:06:53:19:
+ d5:51:b0:44:52:24:e8:03:a0:13:d8:3c:8a:b3:b9:
+ bc:0c:c1:f9:53:98:6d:8a:4e:9a:68:74:a2:b9:a5:
+ 21:e7:27:77:ec:4b:b6:99:14:e8:d3:0b:d6:88:cf:
+ 1e:ef:2e:53:c7:06:ee:a4:4d:42:e0:db:70:47:59:
+ ef:be:55:2a:b6:bb:e7:34:bf:10:fb:4d:71:90:12:
+ 3f:6e:3a:2e:83:88:5a:8d:46:17:96:43:f0:dd:f5:
+ 90:d6:1e:6b:bb:b2:17:06:38:b5:b6:1c:b8:1f:b8:
+ 3d:96:82:6a:a6:28:10:d8:08:07:2e:fa:4f:de:3f:
+ 6d:d6:e5:e5:e7:4f:f0:ef:83:d5:be:46:c2:3f:0a:
+ f1:1c:79:d1:5b:dd:89:69:a2:82:40:7d:39:3f:95:
+ 5b:9c:72:d7:e7:ef:6b:fb:00:47:f0:02:90:47:b5:
+ ab:7a:76:15:3e:bd:8c:1d:bb:db:b4:cf:92:d8:c7:
+ fe:50:cc:d2:25:76:0a:f3:dd:01:95:dc:9b:51:f7:
+ 8a:39:82:e3:ce:ef:76:5f:4d:e1:bf:fe:5b:91:1b:
+ 71:91:b7:42:71:4a:7b:a1:96:d6:5a:5c:e1:09:3c:
+ 17:db:37:f4:8e:87:f5:54:18:65:3c:f3:6d:9f:91:
+ 7b:40:80:3b:04:cb:23:70:83:a8:65:03:97:0e:38:
+ 01:56:37:80:9b:47:be:8e:44:61:27:ec:19:52:a1:
+ 05:fb:ac:15:df:c7:df:11:70:a6:41:95:62:d5:c9:
+ 02:2e:36:01:61:95:25:f7:d4:02:c9:39:54:43:72:
+ 5f:7a:57:5f:ff:ae:b7:f8:43:09:88:ea:f1:8a:ce:
+ e3:96:1f:70:94:3b:4b:59:07:78:a1:8e:72:0b:dc:
+ 03:4a:31:35:a3:e8:06:e3:c6:8b:94:bd:da:6f:2f:
+ ac:62:e1:54:01:57:1d:d4:3b:de:98:50:91:b9:de:
+ f2:6b:2d:ec:bc:bb:87:f2:60:c5:34:70:b0:d6:97:
+ 50:10:02:d9:f4:d8:c6:02:65:24:31:6d:08:06:98:
+ 51:ac:f9:66:9a:4f:3c:3f:d9:78:8f:6e:6e:1d:80:
+ fd:3a:9c:22:2e:57:23:62:3d:66:38:9a:79:ef:f3:
+ a4:fa:ac:10:6c:ba:32:6e:39:1b:cc:84:fb:46:48:
+ f0:b5:97:5d:ff:83:d3:ea:58:9e:f4:0b:bc:80:fb:
+ 4d:50:58:f8:73:9a:9e:5a:2e:0f:e6:c3:22:fc:22:
+ d2:f0:78:54:54:34:92:79:e0:fd:6b:ea:c0:b3:9a:
+ 7e:16:ea:2a:e0:ae:3b:30:2e:d1:1e:a6:53:78:92:
+ c1:28:37:9a:cd:b0:8f:cb:e9:96:07:de:8b:19:ec:
+ 78:b6:de:22:01:70:bf:39:90:9f:21:0b:23:83:3c:
+ 6e:12:19:2e:df:e4:1d:51:37:37:f1:9f:d7:2b:90:
+ a6:60:83:0d:d7:7c:24:aa:b9:e3:3d:88:f8:fe:09:
+ 16:fb:ed:80:77:1b:e1:6a:db:2a:dc:b8:d4:ba:4c:
+ f0:0f:7a:d5:63:c0:c2:f5:98:2a:1e:96:be:65:d7:
+ d1:62:3a:7f:c1:a8:87:dc:37:6a:e7:dc:d8:cc:38:
+ e2:ce:60:73:d9:74:ec:98:d2:30:27:2f:e6:ad:60:
+ fc:2d:b9:60:85:ed:9c:ce:20:68:20:f8:60:ad:8f:
+ c3:0b:2d:27:19:69:79:c3:11:ef:de:1d:4b:f4:e9:
+ ef:f3:9e:62:70:5c:22:e9:f4:f0:1b:52:e7:2f:53:
+ f2:2f:6b:34:e2:60:36:9f:7d:b4:1e:93:e5:ae:95:
+ 35:b9:7b:8c:33:4c:1e:85:8c:35:4c:b2:02:c0:bf:
+ db:4e:38:65:77:e5:de:93:68:d1:d9:41:f0:f5:b2:
+ 17:c2:67:e3:42:a4:1f:2f:cb:9e:e7:e8:be:52:6a:
+ 29:0d:75:85:9c:98:dd:ee:3b:c8:86:64:83:5d:b2:
+ 95:6b:a8:02:02:bf:8d:d6:60:ee:28:c6:02:3d:b5:
+ 0a:d6:bb:d1:e7:09:8b:81:62:83:66:93:99:39:4f:
+ a5:4f:24:86:f8:d0:00:28:ed:49:33:86:cc:91:69:
+ 3c:2a:a6:2c:51:49:08:70:0a:48:08:f6:74:a3:d5:
+ c6:c2:25:96:ec:e8:ca:a6:1d:51:62:c6:7d:66:1b:
+ f7:de:d8:05:ac:3a:00:a0:3c:b8:e8:90:cb:7a:48:
+ 74:84:57:44:b6:86:53:4b:e8:eb:40:e3:0c:59:4f:
+ 2f:a7:26:51:ee:61:cd:3e:d0:23:2b:48:b7:f0:ec:
+ bf:8f:3e:46:c9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
@@ -88,61 +88,80 @@ Certificate:
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
- 74:34:B9:9A:5C:1A:27:83:BA:0D:05:F9:5B:5B:A6:F6:BB:1A:8C:E8
+ 45:92:23:3A:5B:91:CD:25:17:BA:C9:4D:5D:C0:22:F5:B4:DB:2D:29
X509v3 Authority Key Identifier:
- keyid:CA:71:99:89:F0:72:AB:75:66:BB:65:6A:03:04:72:A5:7B:95:A6:93
+ keyid:4D:FC:7A:19:F3:2B:0C:7D:F6:C0:7C:4D:F8:72:34:4C:8C:35:52:74
Signature Algorithm: sha256WithRSAEncryption
- e6:e4:75:22:6c:5c:ea:f3:3c:85:1e:3c:62:a4:9b:bc:52:49:
- 2a:dd:dd:7e:94:c9:1b:c9:7e:4f:f2:82:ce:68:a2:17:29:b7:
- 73:0b:39:33:ca:86:c4:51:ad:d9:18:e7:c2:42:b8:c3:a9:4c:
- 8f:54:24:79:f2:27:9e:5b:aa:e5:bc:36:eb:11:b5:91:4b:7b:
- 79:b9:41:b0:d9:72:53:fb:ad:67:7e:7a:7e:0d:06:9e:45:7e:
- f6:5f:5b:c4:77:1d:d1:e5:d7:7f:8e:f6:64:2a:7e:14:87:f4:
- b4:a4:13:50:47:f7:49:b2:ad:36:c0:27:15:eb:c0:91:f0:e0:
- 77:bc:93:f3:db:01:69:10:c0:9c:e1:5b:03:9b:1d:ac:3d:0c:
- cc:65:24:93:d6:8d:dc:aa:d7:d5:74:7d:0b:2a:6c:ec:c1:ad:
- 2d:83:56:aa:28:94:9e:e2:54:98:1c:28:bd:45:63:e5:6a:00:
- 20:ab:41:83:31:05:8d:38:ea:bb:35:ad:3b:28:46:44:47:3d:
- f6:88:2e:ac:46:73:8e:13:0d:8d:5c:44:2b:0a:e3:bb:27:e3:
- ce:5b:f6:3c:fc:e4:86:95:0b:46:87:f7:89:ab:36:7b:3e:78:
- 1d:be:04:aa:fa:f0:2c:fd:a7:15:ea:1e:35:bf:3c:33:3c:b7:
- b8:4f:1b:db
+ 20:2f:6d:25:37:fd:33:fd:bf:24:61:29:fa:53:56:5d:dd:6e:
+ 76:91:2b:95:a4:71:fc:ef:81:78:c1:60:b5:93:6c:40:5c:6d:
+ c6:bb:2a:00:fe:08:e9:10:a9:9d:c6:c6:35:88:67:e3:57:62:
+ a8:70:83:07:f8:36:38:00:81:51:3e:e1:3c:f1:3b:7d:04:96:
+ 8d:0c:ca:bf:cc:39:a3:ff:d4:b5:f8:58:71:82:8f:96:9d:58:
+ 0d:a9:36:ef:c2:c4:f1:17:86:d5:26:db:79:a0:17:e0:83:7c:
+ 19:36:9a:29:c0:f2:d5:e6:d5:21:a7:1b:dd:b0:38:e4:d7:43:
+ ea:0c:93:3e:2d:02:37:85:99:3b:37:00:1e:44:d7:66:7d:ae:
+ 38:0e:9e:2a:5a:26:93:91:e2:a5:fd:b9:1c:9c:51:f7:54:cf:
+ 66:e2:2a:f3:84:9e:cc:b5:b2:55:ea:7d:72:89:af:4a:38:68:
+ fb:4b:0e:bb:09:bf:25:e2:00:c7:78:e3:ce:72:fc:51:a1:1c:
+ c0:89:77:1d:b7:41:cc:42:a2:9e:ff:37:43:42:70:e4:cd:ec:
+ 5b:a6:ae:85:d0:09:2a:d8:68:64:37:3f:cf:dd:89:af:49:2c:
+ 1d:d5:1a:01:5b:c8:1f:0e:da:f8:14:8c:be:b5:90:1b:82:35:
+ 8e:7e:22:1a:60:1a:dc:19:81:a8:a3:55:1f:c2:62:43:af:85:
+ 2d:96:5f:c1:9f:05:b1:91:bd:7c:bb:99:1e:5f:c3:0e:df:7b:
+ 77:5a:16:ee:1f:8f:90:7a:91:9f:91:cb:63:1f:6b:f1:f8:29:
+ b2:0d:43:d3:af:2e:a1:af:19:08:fe:fc:06:b7:69:c3:1b:8c:
+ 2e:da:9f:fa:92:ca:c4:d1:34:0d:1a:31:9e:be:d2:b4:4a:97:
+ 75:40:62:bc:7e:57:36:80:a9:35:f9:db:ee:0b:e8:68:c4:dc:
+ 92:8b:98:a5:34:04:c6:0b:ae:b7:eb:81:57:ce:27:b3:80:86:
+ 40:2f:fc:e5:89:e2:3f:9e:a5:ec:94:f4:e3:13:0b:34:cb:83:
+ a0:ca:42:53:b4:57:59:72:61:9f:f2:8b:47:8e:74:d1:c1:d7:
+ 18:bb:dd:dc:9a:29:17:04:74:c8:7f:dd:f8:c4:00:ce:8d:db:
+ 2d:8c:53:55:8d:08:37:92:86:e3:0a:69:53:bb:c4:02:59:2a:
+ dd:a2:0c:d3:51:ba:5c:b2:2f:4a:ba:9d:ff:87:7d:f4:49:e3:
+ 4f:4f:bb:91:9e:8b:02:a7:06:c1:d5:d5:3f:3b:fe:3c:69:5e:
+ 32:87:76:78:66:1a:8a:43:2a:10:e4:48:b0:67:53:92:e0:76:
+ e7:de:d7:f6:04:9a:23:05
-----BEGIN CERTIFICATE-----
-MIIGpDCCBYygAwIBAgIBAzANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
+MIIHpDCCBYygAwIBAgIBAzANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
-c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTkwMTI3MTAxMTE1WhcNMzkwMTIy
-MTAxMTE1WjBYMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
+c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMjAwMzAzMDMwMzAzWhcNNDAwMjI3
+MDMwMzAzWjBYMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
BAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMREwDwYDVQQDDAhzZXJ2ZXI4
-azCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBALn1eEZT4DwHv5f7q76X
-cdWJRL/bDli+lkIGntwI91HWJ39lLcce90xbP+V6+P3fc0KSDzdeKK5RFBO+s1XU
-25r2qYiEAnn7+cRn+ZaZaIBYSiLEoZDAM1jIltGkf3+ehKbzA6MBk8sdq/H1FygD
-NHhtR0YHq/jq/wKK+CCSos4pambQOYcvYp9D2aMLdImr99k5fWzeBU5YTTUV1Bgt
-6nDfYPxQ+A21jsDGA3Q7jVPWh6KatgpagKXM3zCnlTCtUGLhATqO7uFBtJnuzovK
-VSQ+fAB5CPRGQuBjk6PQWjn8fvSWISSa9ykNIoW2xcmcknFoWwPe+7x1+A8k6gGS
-tzfgeKBkN2mQinyZx0X5kKJQWeEcAq2yLsc7Jux2bRDJ+S/cEodBcgjsChyum2/e
-V6Sque6DpBTE5VRmMl0hKqNtLY31jgiiow0Hg0sKJwucf3N4+NmcHtQzK6c1tHde
-EtampNLQrzC21R8Fmx7mrsiljLa33MMLGoVa1b2+ZcjmpfA3OBbSsMr/LqHyf44o
-xZzU3r4fI0NRhfnl+6hhYZZQNK11NPpG6SpmGkOc5OV5JrcLXdEdgcZSF9eVE55l
-ZJstDSt6BCiqAt+BDPODPXatQOb4wLLzCrLM6PLIrCHEkH1MtlDYtwoVEl+l4MVo
-j+1N9Nm1ct9jydYU/tj82zFyHhXV6KzZp9IKvKemUV8NDyMgLTS6RGb2geOq/jgR
-YewDP2Rvk/UtsL59b0lzxiNne0baYmcQ5Oah5BtQD/9QUQrc7hvj7SAwOsE3FySW
-+v4u0HWzm8GuFay6/rTVM/8zhvNeJPdFja2wR2rvnA73Bw5xoOd1SkJZArcRhtZl
-dwY69W+ZO5tSz+YwWeMoGY7CX+H3KHT/wtE1kZbtUhRKPJEZUHs+BGX4PtlsKc90
-2A/f5M2Uc4HvGZ5LDD4uJP2pxnO1fO3RDnKsyf5epi3Xf8rFdRjLPidiIM8QwX/T
-b6nUeJg79gzgX1SzCwo211k0w3BcWSXPVOB/7KM7xKFvvh6+4TbG0ya9hq4OcyaJ
-PH9yoS0AZrHi4HRyhhLCa+TnmXC7mIHDRGXFdiFi8a8xqnO++7CGplviUXjmahtY
-P0o05pmI5ByxgJTyMaCwJ4GxGJhvUy50oMMt5/aSJ4BApPM64q2EZILtgD/gVOg9
-7HUlISovTwhhvrbg+73sfjsX0qS7uPg/mi4S67IARVE6mVNutQZei48KtWEsEhBg
-TSzebuiA+JmyizZhM4gIYE8w/2HSzAJ1XdeNBuC94+A197r4puQUeeRiTb/qgf4e
-ASRp2okawRE8UPGjsyffzBY6A5eIpJJjpo7JGPUCFqeypT33EgDk4VWWFoRuA3A9
-zksCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBH
-ZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFHQ0uZpcGieDug0F+Vtbpva7
-GozoMB8GA1UdIwQYMBaAFMpxmYnwcqt1ZrtlagMEcqV7laaTMA0GCSqGSIb3DQEB
-CwUAA4IBAQDm5HUibFzq8zyFHjxipJu8Ukkq3d1+lMkbyX5P8oLOaKIXKbdzCzkz
-yobEUa3ZGOfCQrjDqUyPVCR58ieeW6rlvDbrEbWRS3t5uUGw2XJT+61nfnp+DQae
-RX72X1vEdx3R5dd/jvZkKn4Uh/S0pBNQR/dJsq02wCcV68CR8OB3vJPz2wFpEMCc
-4VsDmx2sPQzMZSST1o3cqtfVdH0LKmzswa0tg1aqKJSe4lSYHCi9RWPlagAgq0GD
-MQWNOOq7Na07KEZERz32iC6sRnOOEw2NXEQrCuO7J+POW/Y8/OSGlQtGh/eJqzZ7
-PngdvgSq+vAs/acV6h41vzwzPLe4Txvb
+azCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAKx0MZwKkkWK7wH+/T5+
+xTML6A+vjpH/apnr34hPjl4HUmzDHFUswCPke7qNwd+4HFTOPg7YuTdmSIx9bZ2b
+HLkQOU70PWSWk74+mN3Bece7VkVQu851zTkc+kK58KbtmsrvX0HbPYPewFFuDoIx
+9/iXU7CzdBpiaR5xftzmvd5BL7OYoMTU2XyLwkBKY7vAXrwOuVM0EVdPDSPEhpI0
+y1XLBlMZ1VGwRFIk6AOgE9g8irO5vAzB+VOYbYpOmmh0ormlIecnd+xLtpkU6NML
+1ojPHu8uU8cG7qRNQuDbcEdZ775VKra75zS/EPtNcZASP246LoOIWo1GF5ZD8N31
+kNYea7uyFwY4tbYcuB+4PZaCaqYoENgIBy76T94/bdbl5edP8O+D1b5Gwj8K8Rx5
+0VvdiWmigkB9OT+VW5xy1+fva/sAR/ACkEe1q3p2FT69jB2727TPktjH/lDM0iV2
+CvPdAZXcm1H3ijmC487vdl9N4b/+W5EbcZG3QnFKe6GW1lpc4Qk8F9s39I6H9VQY
+ZTzzbZ+Re0CAOwTLI3CDqGUDlw44AVY3gJtHvo5EYSfsGVKhBfusFd/H3xFwpkGV
+YtXJAi42AWGVJffUAsk5VENyX3pXX/+ut/hDCYjq8YrO45YfcJQ7S1kHeKGOcgvc
+A0oxNaPoBuPGi5S92m8vrGLhVAFXHdQ73phQkbne8mst7Ly7h/JgxTRwsNaXUBAC
+2fTYxgJlJDFtCAaYUaz5ZppPPD/ZeI9ubh2A/TqcIi5XI2I9Zjiaee/zpPqsEGy6
+Mm45G8yE+0ZI8LWXXf+D0+pYnvQLvID7TVBY+HOanlouD+bDIvwi0vB4VFQ0knng
+/WvqwLOafhbqKuCuOzAu0R6mU3iSwSg3ms2wj8vplgfeixnseLbeIgFwvzmQnyEL
+I4M8bhIZLt/kHVE3N/Gf1yuQpmCDDdd8JKq54z2I+P4JFvvtgHcb4WrbKty41LpM
+8A961WPAwvWYKh6WvmXX0WI6f8Goh9w3aufc2Mw44s5gc9l07JjSMCcv5q1g/C25
+YIXtnM4gaCD4YK2PwwstJxlpecMR794dS/Tp7/OeYnBcIun08BtS5y9T8i9rNOJg
+Np99tB6T5a6VNbl7jDNMHoWMNUyyAsC/2044ZXfl3pNo0dlB8PWyF8Jn40KkHy/L
+nufovlJqKQ11hZyY3e47yIZkg12ylWuoAgK/jdZg7ijGAj21Cta70ecJi4Fig2aT
+mTlPpU8khvjQACjtSTOGzJFpPCqmLFFJCHAKSAj2dKPVxsIlluzoyqYdUWLGfWYb
+997YBaw6AKA8uOiQy3pIdIRXRLaGU0vo60DjDFlPL6cmUe5hzT7QIytIt/Dsv48+
+RskCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBH
+ZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEWSIzpbkc0lF7rJTV3AIvW0
+2y0pMB8GA1UdIwQYMBaAFE38ehnzKwx99sB8TfhyNEyMNVJ0MA0GCSqGSIb3DQEB
+CwUAA4ICAQAgL20lN/0z/b8kYSn6U1Zd3W52kSuVpHH874F4wWC1k2xAXG3GuyoA
+/gjpEKmdxsY1iGfjV2KocIMH+DY4AIFRPuE88Tt9BJaNDMq/zDmj/9S1+Fhxgo+W
+nVgNqTbvwsTxF4bVJtt5oBfgg3wZNpopwPLV5tUhpxvdsDjk10PqDJM+LQI3hZk7
+NwAeRNdmfa44Dp4qWiaTkeKl/bkcnFH3VM9m4irzhJ7MtbJV6n1yia9KOGj7Sw67
+Cb8l4gDHeOPOcvxRoRzAiXcdt0HMQqKe/zdDQnDkzexbpq6F0Akq2GhkNz/P3Ymv
+SSwd1RoBW8gfDtr4FIy+tZAbgjWOfiIaYBrcGYGoo1UfwmJDr4Utll/BnwWxkb18
+u5keX8MO33t3WhbuH4+QepGfkctjH2vx+CmyDUPTry6hrxkI/vwGt2nDG4wu2p/6
+ksrE0TQNGjGevtK0Spd1QGK8flc2gKk1+dvuC+hoxNySi5ilNATGC66364FXziez
+gIZAL/zlieI/nqXslPTjEws0y4OgykJTtFdZcmGf8otHjnTRwdcYu93cmikXBHTI
+f934xADOjdstjFNVjQg3kobjCmlTu8QCWSrdogzTUbpcsi9Kup3/h330SeNPT7uR
+nosCpwbB1dU/O/48aV4yh3Z4ZhqKQyoQ5EiwZ1OS4Hbn3tf2BJojBQ==
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/server8k-key.pem b/mysql-test/std_data/server8k-key.pem
index 2dba202dfa0..1d7e7e7e528 100644
--- a/mysql-test/std_data/server8k-key.pem
+++ b/mysql-test/std_data/server8k-key.pem
@@ -1,99 +1,99 @@
-----BEGIN RSA PRIVATE KEY-----
-MIISKAIBAAKCBAEAufV4RlPgPAe/l/urvpdx1YlEv9sOWL6WQgae3Aj3UdYnf2Ut
-xx73TFs/5Xr4/d9zQpIPN14orlEUE76zVdTbmvapiIQCefv5xGf5lplogFhKIsSh
-kMAzWMiW0aR/f56EpvMDowGTyx2r8fUXKAM0eG1HRger+Or/Aor4IJKizilqZtA5
-hy9in0PZowt0iav32Tl9bN4FTlhNNRXUGC3qcN9g/FD4DbWOwMYDdDuNU9aHopq2
-ClqApczfMKeVMK1QYuEBOo7u4UG0me7Oi8pVJD58AHkI9EZC4GOTo9BaOfx+9JYh
-JJr3KQ0ihbbFyZyScWhbA977vHX4DyTqAZK3N+B4oGQ3aZCKfJnHRfmQolBZ4RwC
-rbIuxzsm7HZtEMn5L9wSh0FyCOwKHK6bb95XpKq57oOkFMTlVGYyXSEqo20tjfWO
-CKKjDQeDSwonC5x/c3j42Zwe1DMrpzW0d14S1qak0tCvMLbVHwWbHuauyKWMtrfc
-wwsahVrVvb5lyOal8Dc4FtKwyv8uofJ/jijFnNTevh8jQ1GF+eX7qGFhllA0rXU0
-+kbpKmYaQ5zk5Xkmtwtd0R2BxlIX15UTnmVkmy0NK3oEKKoC34EM84M9dq1A5vjA
-svMKsszo8sisIcSQfUy2UNi3ChUSX6XgxWiP7U302bVy32PJ1hT+2PzbMXIeFdXo
-rNmn0gq8p6ZRXw0PIyAtNLpEZvaB46r+OBFh7AM/ZG+T9S2wvn1vSXPGI2d7Rtpi
-ZxDk5qHkG1AP/1BRCtzuG+PtIDA6wTcXJJb6/i7QdbObwa4VrLr+tNUz/zOG814k
-90WNrbBHau+cDvcHDnGg53VKQlkCtxGG1mV3Bjr1b5k7m1LP5jBZ4ygZjsJf4fco
-dP/C0TWRlu1SFEo8kRlQez4EZfg+2Wwpz3TYD9/kzZRzge8ZnksMPi4k/anGc7V8
-7dEOcqzJ/l6mLdd/ysV1GMs+J2IgzxDBf9NvqdR4mDv2DOBfVLMLCjbXWTTDcFxZ
-Jc9U4H/sozvEoW++Hr7hNsbTJr2Grg5zJok8f3KhLQBmseLgdHKGEsJr5OeZcLuY
-gcNEZcV2IWLxrzGqc777sIamW+JReOZqG1g/SjTmmYjkHLGAlPIxoLAngbEYmG9T
-LnSgwy3n9pIngECk8zrirYRkgu2AP+BU6D3sdSUhKi9PCGG+tuD7vex+OxfSpLu4
-+D+aLhLrsgBFUTqZU261Bl6Ljwq1YSwSEGBNLN5u6ID4mbKLNmEziAhgTzD/YdLM
-AnVd140G4L3j4DX3uvim5BR55GJNv+qB/h4BJGnaiRrBETxQ8aOzJ9/MFjoDl4ik
-kmOmjskY9QIWp7KlPfcSAOThVZYWhG4DcD3OSwIDAQABAoIEAQCw8nPtL7jKRnE4
-VIEbDY6DK2ggy3e+WDQwRY56P4ne9FGHNqa1t7CHlriZS0eMg0hwyvzxqYY6QOpC
-045gGPiSXy34ueyFWJBVJL7pX7aBkgGRTduTGmCBlfV1LPspW5RMLCeEv2Z7uxM3
-XAkZyNrv0MQmTfyFEk9vgv8SN5X1aJFXncFv8lX8yJpaO/c7XUitCbhglG8mGn31
-Cn1UOLTBjL0DuqQen2lj48e7nUMgyJ0ty9t2xKFvox+pc31R4UkBnasGpqWF8HjC
-lOszN2eG4nIqHQG5NvZCAF6nXQXN8YZ4hDarV03iYR49cCqKapMqmKsqZs7RiMtu
-1ahZsNror474yAO2TpSIdeeZnRzUZnLv8jBWSZubdpzWGuYzOI0FznpO+6Zf+QKy
-Qi+j5kUtakscO2UxYh36DnjUB1BETAox77ukWeWe60wyZkm7EcJxBWZ94sGvF7Xt
-GPxNLVXtrIpgE7TwPLlVGId/gvBD+suHvjKx4WnuBP4n2/mMjnTNvC2CAh+6OdGM
-xmw7wG4xipkc/hIW54b9wKqTkX5DgrRtbX7ou/r4nklVlwBznrGJMaam6lXneYw4
-ViFh8ocl5VuHyEYWz5eGR40kVfhxafC9F2x9myjN9I+hHfQ0+Y6nvAwrp9ucG2rt
-WrEkBxgVLb3UP4U8Lf8L19Sccxa714PNuO9OBcGODmHNPceDuwCDOaJhKChgl3Dj
-KNM4cxtUh8WnKfsDQxzP4ShX6dGxhY6oGCnimOoBmv5PsXLdlSrLMaDh3OW6s+xh
-1okitSGUfcxsMG5JrokDT4dX8jLdMpF+qOl9BDYnDBitzdDWh07txedwIKX4roG1
-9X5RX9Q0chjrplGIcNuZOOJp8zWAoVdwrTnPNX6bdMntbQMbHXMqJWsXBNC+VWh5
-5bHvehut5dl5E/DsdHth7hTvXHwhFLmAtRyGmMjZU63Anmr/UBz6Tg9+s0XHcJQu
-7/CGH5vUXR/2tCT57Prae0x+t7pbhLxbBn1z95u2IiVjahJInlaik3QTjiFZnMaZ
-OuyAe1IBkkNuu5r3MjQ5OSQyPX9sztS24jFh5xVER59YDnCg+pv8zMEmQ6y6wY0/
-O2HwOCiwMcFktAn+qvjRnPwrwmWvcnEpViff9zhmjkLMjYSXYWPXLr541Vvy3Fd4
-izlEoFUM3jStYPKukDCGifG6j6TRlMlrSNiTr07bjDiiRUfRP8nNvS8SYqDx0ukc
-bOpTYmJLQn4PE0BB+nsH9qvC8jA3Etx0NH6Bn0haWYdOFaTGeiWAHHRCairNreFZ
-PU0rVrX6NgzUiT++HguBuDB+eoNOn9/TI+IMVHXT2Z7n/kiOh9OGGJL1Ej1ohULa
-cUcfYjwBAoICAQDo4d48xxnjhEalY0Y0z3b2uP4sUBhgyCBs3Zf2/wEIiheJDmae
-ewUU81IBT2w2dwnCGvynxTGJ4hkXPLr5DLjB1HCrG96t/Oc0lmEO4c+SCrJnaf2M
-9e8Wx+zfL0rqdIv6OFGVSw2vUE+eLcN+UXXbx5DvEpz2PP750YILPpJEMXykZUAE
-cxObKmskYWj5rbGf5SyWE8umGnn52TS37a9T5pG5og3zoMeydthSiS4/jC1u9niq
-YXOJ345uhXU3HCjKbCbeMXdYONV14um8fizY6Hw8UD3853uDjxisDh6uT9s9L9PN
-zEaSCw7DLNvtYWfb74iprZSvu4F7iQpN/lclNTnwLHV2XGmsmjbJBSzWK2Hgv0C3
-xzpjj7yt5IAM0w768PXE+9yisR/91Q571pf8afAlqsdjwE5GILw4VnRxiM2iYjwK
-9O0MCQHWhHeB6eFetKeP45QNXMM2BBAkUQbRdY4MXvg6k9pVPXzL0ZFtjzwImD8C
-zk3ucF/+hcPctVc2B9boFYQmstG4QGMRhpX2cwXckGnQalK65xcKRYld+lswds45
-0cRtzyBCHm5xt4rGeTn985XbB2WtMSbSSCKfsf3yFy4vLkLjwHlYDkBkBKvJBD30
-duT9g7fInF5V9aSNOYqflS5a+9XR9rUFIk4NPTWKUiozOCbHJlD3iPe2AQKCAgEA
-zGsobIOxluTC2P1d2tCs1SribdC7jFFT+vpzJOftwZFt0taXvifMATcKTvl1UEBz
-DYdyvcDRWbfmWjf0xhjSrhHCHKsgl7MOeOcPiog0LJhOLcBVV9Rsz+6FEMhDQtcl
-z/4FyHWTel3pBKkdXBVcqQZdxNV9Oxn2KusKPMKvoRwwF8RF4Bzvh4RnCOOLbUDY
-0kWKJ/1Hg4XbAO0Ll+efNse7LGA+KM4hRzAQLHWYbUEqzgXaGXZwNRb8qSkm5ker
-NzYee76sM9vfXsNQk2fa6R1H2womCq926DHzFf+DXNAWJ8xf4fKWSv0rtYRH9t+c
-01b9/a2/ViaKySzymlH1scgKprNSMSylF228A3XbiJkz8vRki+itxPpMNrEIlbdI
-J0M/Qk7Lu/Gz0aKkI1oPB3qs6mE0vaYl2a1kl+G5UOaOnacQjrXDlDDQY+Awi6yC
-S/nPrkgs+Y+tx5k4UQnm8VIPUhQGha7BJ4QulIFrz/+KuqeVGy06lxvFiiNghEGO
-NHLyTlUIJiybuPDLopQh+U3IVwDPIoiLMAfxaUecsjq5S3vaYP+ThMoJYZdCPd2P
-McgkVubxf/DmnBievNjlWJNt2obuFBCG9ScsRRTh0wddt324IICFTg15B3Z8x0Kw
-QkGvOp0QX360wMpAVxyrZQvaC64qf2/Akc1ajjGDfEsCggIAVhM90BsLD5PRhMmn
-pldUMib4Eyrbh9IQYgyZYXqpSB26SzceaM8xdqfklIVlis/+tFbDMcNp5vvBqFwT
-A4BXPZUmu6fGa2qBjmdSomyGCwWXITAEvjgcUcA9ZdSWDQhcwHRWeybNfRHjC6UA
-j8zOEhi2EhdAGqc62t08Aqny5++ekSi3O63I/l30UfMLGNXBREcxbpsMd21rzhQh
-LyZT2l/rVsB2BalUhjr1A7SeenB2ToAc42S3jqspeuIrC96FmSPWTePcp6gCBduD
-5t5/9wAfAy/paXOprFuUk+t4HZd4gioOUA+DufEKWMtY0mlhOOJVEdoNjdJxLlbd
-jyxFy4Pb0VCtbb0Edf5d53jZNKO+PpKR+htSEoCLDX7acWMFM20ieddZmmx7VZeN
-DeqoLGx/jXyMy+rFQ5hP2UbjLR+SWcWTSb1zbDJcEozNmx/148pD8KP+Ed5KbMmd
-qb6lFYAsq5fiicwiM8VRPghMh0EcwFR9Xa0hEtNIN8v7M7V28Yp+PTPOr3sCluZ9
-d3nWLcwfy4E5CwZxY5GMa4h+GFUzpTsUSDynLKsU0jtrOO7NBUTDUYDZz6XxR81V
-+v0chwgDw5obwOaJZKK8dvZ1iEJNuDOwLo5PXwBzSlu5Zm4vjt9IxGkgRBK22i8k
-gyxFyxDnnCN4Y4wKkSsxW/ytCgECggIAP7+zTZQMT/hrY2wwVsr4+0lyb7jGpE3A
-mOZ9/iZuGQ2XaEcP73dNwZs+lb5p/Wr79l4lRFPbddVJ+xy0MwsOuMZE+NfNREHM
-45t7V0J+suGUj+QJOWi/vmCuErvBbhjWa/TWLNut8F1VC+UJiOwIh5W6rGW/tiy0
-flHqUWSNjPrTbLYC7I9Zi7OYxkbf9mRgucKCAVKVeMjHsZQ7J1ZOarEDCCXDfMo7
-yo2MnbDWpkvKY5GjoIk1GPlgNgjlXq8/D+rKuuCNp2aMVGsot6+Nr2E4RXD2yCJM
-PMFHA7c5ajpijmrIBBi5Eg2+Ec98+dpmd+oLL499ugovAeoIhmPE8XpnB/GoUjmQ
-CqxoE9QvcHwGnV/l81POzT0Zg3zWJoqP796i3bThCG2qHFhSQ8wUH8r8HePOpM4p
-w6a1VkBIoJgmJbgyC69XnOFUO7Fwsj5MLBFt2PYdQH60PSjlTTB/WwayTHB+UDZd
-ektYk2uBCc6xnuAgOedy/CjnA9tggB5JkMXAFvmhnvYOYjCF8N+tcKf3MFrKPgTD
-E2mGucRhc5uoqYeoZNOPV7wCDPM070InI+k8m/VNnw6rfEaZSl+BtovTmHC30n4M
-+GsM/UYz3rHPYifMwiYSbHL7KX6kDygW+7KsSOUuc/l5uR3ZztDcCpkVmMrp6fAZ
-595YvTtnu90CggIAV5tGE9Bnh/W9NoBPTuL79cPuNeZRVo/4zSh10LWiSoh+39UB
-uVbWt8Y5XeqF6iDx/gyO5qauieF1ZZ27CPrqq/E/SU7FW2H1zKWlyvGWA6jW9mZy
-HTbiZgGoNhYougQIt7NN0U3DXqf7+Y+m1vAacKOkoc86U5dK5XtMjhxhxoqWUOSv
-TZR6VkHWhiMDNAJSmdkUojf8FwtCFDYXVoxQxVeF0jMN4S3DEjdkpIhnpetz4b9Y
-q62SIw7Moz8CABL9VMI/L2masrYaQMm0GW9o3hHkwV8t9+O9IgcbBj6np2yw9uIS
-6q9xzOHviBtbHCBieJwvKjIvbWy84MiGYdutpOVom4Wo0AvehLxgc10xpCc8tpDX
-rq9WjyLRAkHQf+mUXzquBoVJr/pQOF0tlqMLhicOELHt6Y3kGVAqLqlQSiiOTfpE
-mkRDDDbj8pTl9YneAC6asosEtukL8IJv7Pwiz7u/OSD9dZM8SzyhFMJ8hLRg6VZD
-upFxO/n4GZK/F57nivdRz3XhH5A3sx4Dh6moLAF7NwBaWL1vTcV5f+MNCos1psC0
-2mQ3YORQ+OJRMb+uUOCre6TVeii0KjEiLxVuptw7NTXsUAPKYvVMzp2yZoqSkkaD
-T9lytWVuEUmoZX4BAHsI0dpq1G5nT+9cZRWf/qY7wlUKz+CPg6SLFdaDmG8=
+MIISKgIBAAKCBAEArHQxnAqSRYrvAf79Pn7FMwvoD6+Okf9qmevfiE+OXgdSbMMc
+VSzAI+R7uo3B37gcVM4+Dti5N2ZIjH1tnZscuRA5TvQ9ZJaTvj6Y3cF5x7tWRVC7
+znXNORz6Qrnwpu2ayu9fQds9g97AUW4OgjH3+JdTsLN0GmJpHnF+3Oa93kEvs5ig
+xNTZfIvCQEpju8BevA65UzQRV08NI8SGkjTLVcsGUxnVUbBEUiToA6AT2DyKs7m8
+DMH5U5htik6aaHSiuaUh5yd37Eu2mRTo0wvWiM8e7y5TxwbupE1C4NtwR1nvvlUq
+trvnNL8Q+01xkBI/bjoug4hajUYXlkPw3fWQ1h5ru7IXBji1thy4H7g9loJqpigQ
+2AgHLvpP3j9t1uXl50/w74PVvkbCPwrxHHnRW92JaaKCQH05P5VbnHLX5+9r+wBH
+8AKQR7WrenYVPr2MHbvbtM+S2Mf+UMzSJXYK890BldybUfeKOYLjzu92X03hv/5b
+kRtxkbdCcUp7oZbWWlzhCTwX2zf0jof1VBhlPPNtn5F7QIA7BMsjcIOoZQOXDjgB
+VjeAm0e+jkRhJ+wZUqEF+6wV38ffEXCmQZVi1ckCLjYBYZUl99QCyTlUQ3Jfeldf
+/663+EMJiOrxis7jlh9wlDtLWQd4oY5yC9wDSjE1o+gG48aLlL3aby+sYuFUAVcd
+1DvemFCRud7yay3svLuH8mDFNHCw1pdQEALZ9NjGAmUkMW0IBphRrPlmmk88P9l4
+j25uHYD9OpwiLlcjYj1mOJp57/Ok+qwQbLoybjkbzIT7RkjwtZdd/4PT6lie9Au8
+gPtNUFj4c5qeWi4P5sMi/CLS8HhUVDSSeeD9a+rAs5p+Fuoq4K47MC7RHqZTeJLB
+KDeazbCPy+mWB96LGex4tt4iAXC/OZCfIQsjgzxuEhku3+QdUTc38Z/XK5CmYIMN
+13wkqrnjPYj4/gkW++2Adxvhatsq3LjUukzwD3rVY8DC9ZgqHpa+ZdfRYjp/waiH
+3Ddq59zYzDjizmBz2XTsmNIwJy/mrWD8Lblghe2cziBoIPhgrY/DCy0nGWl5wxHv
+3h1L9Onv855icFwi6fTwG1LnL1PyL2s04mA2n320HpPlrpU1uXuMM0wehYw1TLIC
+wL/bTjhld+Xek2jR2UHw9bIXwmfjQqQfL8ue5+i+UmopDXWFnJjd7jvIhmSDXbKV
+a6gCAr+N1mDuKMYCPbUK1rvR5wmLgWKDZpOZOU+lTySG+NAAKO1JM4bMkWk8KqYs
+UUkIcApICPZ0o9XGwiWW7OjKph1RYsZ9Zhv33tgFrDoAoDy46JDLekh0hFdEtoZT
+S+jrQOMMWU8vpyZR7mHNPtAjK0i38Oy/jz5GyQIDAQABAoIEAQCQSDqFUfblBgNH
+iT35fnigZ7LFBN1kWuymUMjZM65qDvgwFOFshZ9PqEa4Ywe0lEXn0hHru/jiV8oU
++I+wT+ktEFzSKNgAg1ai0Z510fyAVcUtAwnOB5Mm2I6tKwIjtyFN7g2lfLcv0DrZ
+JhovZX0Q2BLmAI3/0Rwfo1c/nDF4dNNjECxZ4bcAU7G2tkZQ+/aGok79RM/JW1Mj
+/LWWN2NzqQPmnPNzf+T5UPVoqxJPVP+6tIeXqOZfwWTMVU0sXYETjwwZaFUWNpZT
+50GP6RSZq6g29myTVMJuZlGw7Qc4Ow+xD3JIJlefMsgTaMy9e/bj0vu9gmQ4VE9B
+oiAwo9aEvjjmdW57/xBQiCCoMS4d8Ykm8Nh+1eCktjoCONE9/WRnLePnkEZRBsRX
+mGD3sRevI19nKNaO+/Xcs6pM72yiGRcfjjGhpZNu25jXQVou/sjuy5Ba61vx0Ql+
+Mo8TVnp9YweDiWnNnyxfR5ovNPu1auSYDEgx1GMlRczqGiXroNZADfsdDdDr0Rnj
+8e4YaLyyzPuHiGE1KtO2A/rnlM9bjDBibgr4RkFsKQ9N2fnrO8ZH8n6d/HDkpEWG
+QthmgISLVrxjSz3GldGJUjDuh+9u6o7lPZsMwPIcXIHqsp5ZwxR4Ml+vNRiqKO0N
+Ra83KuD5vsghFOxGv4Nic6EAa0NwCbP2/T1YnOM8m7/0pSnsVh0C2DZXXn357813
+PtnVzRkuBnYN90l1kHEUsZoF6hOj/WqJHRtTZdXCdTzIrQw2+HPLlo/iBV2PfbGZ
+udsrI94zA95hlo4hVLUe0vBXACkPBS4e0t6GbttVGCjjBAD+uhSBJb/Uh0PGNWuT
+bBAvnCVM0PNRZ1yJ8+7IHKIeOqTlFzWnH58tqBC2WublwE2OL0tBqbSbGF8no7Q/
+NXvmLX7uUYDOVJWPWKdXKZAIkpYGfJp1TC6kMvEEJuQe7asxWkU5glK8RciuVbjZ
+UOEf8Y0QugwG/kKy4wDe+qgev4M3+XNEkqQfePE0EiSFMCrdbCkKcmp4y3beO2Yv
+ojxd6uDe/kYQ53S15468+xZVgdtThulDAKiuh4Fq8yHG9k3CZ2fo5kB/1EFnsOSC
+XHyMzuWoGmvy/1vkcPZ2xoLbO0KrW7APURUgv2DBwx4oY37tpDK7Q8VnzROIU0st
+FQuLiC2RDzvXxb1j+5FWEoZUzkk/8lwiqHn5JgYSLJTPcw1Jt3qAXEc1eqt3gNVv
+uNTvg3/G7DHjmEhxCjIPliznBsAY+9X2jI/usKe2VrTMcofe8gVr+ko78EsvXnFp
+I+aNH/naLfX/NTcovyiDx7zdZwucHl6+U41lxfPEUvB7c7A/tRYk6Mz9vSW6iFeP
+yvbrtiEtAoICAQDS4lM7tksGfcyqo5rWi5MTAU9FDAijzjhqfFIvZ2zc79C/HLR8
+bSQPIio0Tb5X2TX7IMAXnqTnlYV/f4VZUJjCo/W8unnhhqnf5Hgoegmy9n2Bz7l+
+W8POfFR+t4MfqHupvvB/P/HuTV0xtp1LMiKpIbdzNpBO+TEdFTDfxvYHJ1J63Y1x
+fhfdTyc+3FDZH3PMGoRDtTqakm1jfu+Ai0c2LZ++TfWstIczz68W9rOEVROUxG2J
+U/B6cTrlPTmm8GfFaDbMaZcDFGahZdozizDRH8rJq3Ai6SJ2XgBPlPq4hDUvt7oG
+kf+m92fOi5jMocNqHImWjezpWukrTsrQAJKKXcnAM6Aym/qE/TrxZlOtuHfxqaK/
+ch9dnyb5DuSGtbkw7T27msmO0pOc6YyVzdgfT2QQOjEreqjZ1lcXatETjxqweZ4w
+IgUcuIgVXuWaFWxwH18aNWg97c5NvFGKNrjMcFqmIbv9xls+dT6W7CydASycriVw
+9HAsdNOwY+QcS7QjRzmgwilzwEKJNkIVzXDroYOTjZgHPVhN4srmlxP+X93esU9z
+7ns39bshYJqtoNiDRCob5UdBpckt5f7lM+IbejSufWVFWwcNAvDv2bEpyHWpCKI+
+P/fiF5mRL1t7/o75WPLD2cTZUw475rloCG/IMgDpRxBBaa2UmBqqNPyhHwKCAgEA
+0VkgvqqwKEjo+0cw2Ngx94d4ma/le/W0ike0fVZxFLMfOyBJqFisFvzC3tWei2F1
+937I+nJbh8WQqT2ZbOcnLUvsUCHNskvZgFN03DN6v4CJvGPx6z4W3JgRROUyhCmE
+teDqwE71G/dy9Fyg+V7HEQPee4VZ7Vcx6tX3UDSapLnWvyHdrcxeV81ukPeS0oVa
+Uqw4zrW+Mqrlu7w+txfqoc0cmGXZmvR6vjPD3rNBdBGR5fiLofFP9dnxzZpxISZ1
+pRxKwwbO0BnBRN5pW7njoS4GgOLCwxO3QvKHfD9plbDhJB1d8pNU9sOlEGglFA8Q
+FnF6iwKHVEfs5BrokiePGpxqA8ZjTNZE4C1zSfZYs4R789wVT5zlAguYRSl93xAU
+55/q5+EJZqU8gbWJ8y2KXfIF2No0S69tryp+DXvpwgtgbp22VYsogTbwAsuAQeTg
+nelhqPWfXlwkme6HKWq9h/pT6TLjEc2D7n1chxlRTXdZnkXl6D1vC7pm7za9CL4E
+cpv0B4fkcaN0Gb4jLwuPj30NgOU54WPlS2F8CieE3+x2AbnGW5yyrXnsgeZf497A
++bsTUxx11X4PiooYvZnhBRGH+A1OSkG6Q0/RhTurwj3iSLTtau/t4TpqiEWYHkio
+SP2QXjv2IVqP0945v3rxbp+leOmIOMkxUAJKJAAZkxcCggIAVGmFuZwhceq/FvrA
+Cur5pxzaFyBXAQKV8IHs/86dc96Gp0kdMcUaLviU/jS0YUOv6OLWIV4+Ufi25C8u
+OG8bhqXMwou+J7kYnGc+da1L3pft6x0z+dFPkoKP690XHn/5aBvm9nipJaNQD4sy
+cRwTZbH6VaLcps/2idamppxkdL6XtFikum4nrU12vyG/NvnxBx0CHnwXhjHgmXgA
+9GpLyfL/Q1S/Zy8oA2Q5iK6dcvX/DYiG8/Zmhwx177bPMfR/BTTO4onNic0Lu8Ui
+T4mCs+LO8GSwUTkSs2CzLSfMKDm7dGtNij28oJ/drH6SXi7OItZjeKE82LesJ8q1
+QgdIoRwjmszPbhKjd8JJasFz81CoqlIltA5BYd9H4V/Ft+pbw6rjEApIbeP6dE/E
+F167COVlf11buzSxC+lRGS2HnRWmMEeuO0QS2ck/p5ZBv6idrE/SaJJCNK/Q6arc
+1L9Mv4CluGQ+dLmGYnzZ3d2RihMjQWAv2oPtts3Ywn1pnK3s4EYtWhz+LLgjqfrO
+/x0p+xe+rDx8Q0GZ7CtA3oZQ2XyUOgStchFevyqciiK6J4//uqN5W4suN6fd3IJ4
+wlQ/SJJlLgdBlz51lw67VLbFxJzaBBxRnStL1PNvY/8Z1osxvbuOCTlNI1SsmOul
+AXCHFhJ17OqmJhjgA1/TJJhrGy8CggIBALee8GysdCRxhwDXuY2JW5JcXbiXorZu
+lfNv32zMRBU+41bOBC1H0XG8NASV5CEm0/zIVOnvIj9dV3xKTmdJ/H/rhxPmAnCv
+vM+k4+w8rx6HVMhL9aY7aHwGWadPTVbEv+VzqRQSbUUhbs/M61iu+/X9qcg399+I
+Sn1LPUg5S6bOZgBxaOoHRnzG8ILw0/QZCVdYPd95Y6E3apeXDn8z2BYhPUKimxIh
+/AMWjmeoXPG8c3b94SOi8FqY1lFbdHz6Kdgvj5euQfofjPimCE1vJ6x5HTUxMFlA
+0s5CwfmF+UtVwLQXmg6pka17fy1724HTkG3PDQgeqKqRB8QvoeyIDCnwJcC34uND
+UVg8JVIrZDPZMYt8b6jL2cZIez+2m/PqPBvJlZXbOY6xwfeXTq9gM2whW2WQRqxX
+6+HnaHbVR/xuVB/R71rq2xUzJaOd8Rpa8XUwfftfrXBra6Mkp6L5P9KkC7OQccBs
+vZqSlHTfDQPgelerwXNJZzwnPB/3qCih2m7YQVvVotbV4oCt2FhsUHgv3IdBB9qc
+70KF9/FEJnTuB7eNxeEW+VXVik+JzHOnLyYcI2ATp3shvenrJLYw4UC71sIIkbHq
+IsDlosW0x/twoijZoSDZ35Fc1pI+UKXHXuvelCFDgKhSsbLIyWgdIuS/3LjIRTZh
+qgIeb/9RoxzzAoICAQClwUmkaoIqXvMS81TcfkedP72Gi2a81iMdQPqvgFA0U2CA
+TIrRi4i6oktqXpUG/5wXqbza0e8MxjEY9SqeDeDc5Qr0V453wS4USxVyLCG5qKUe
+ySu/QPVemRAKg7xkojRHNwAQ0ylzObOJc1DYDsSwspJZ4hRuGt73rIgAb4YrG9SO
+pYURg7mNi4oW8Y2KKoUUA3L3eknB9wW/ngKq7XOiT6rZq4K8TASju1Dpf0eH87ii
+PiLEgXmt9ZoYu1IIPRVG4f72ElKUTvXVkgb/ALwLNtfnQUBef2z0WBF7Jd41bvjC
+oyRis6N6lXF1bhV2tNLIntCoALQGuYDuA8AWargXVlZat11kjb2aCIE3J1OJ6iAa
+R9kT8P3pr0S+I1r2o9yWyZ+KjQV0OYyzXS+QvaBLU7u97N8v9fxVH+qs1s6mYx4a
+UvL4lf6N2dgk5POXIDfo6gnmBrOmxS7pCXswC3dDzYWSjlv62o4HwGQDa9JpdeIx
+LBK+K85Ht+D/WyFaPoerI4cWrCAQGdg5UHyMKpaMwTTW7Vrn3M2tNCybdsJeWwHk
+jQdVItA92o3q+jLXU7q/f1yCs3Xc9PcDVoYOL2AzflmTFWggSaYTsPP2QXPcfG/P
+1ZlkDsO4UQam7ifpZwYc6/wYM0V5Xlv/xCehu8uCZY5Dpd+D4UYswDNBCFNoHQ==
-----END RSA PRIVATE KEY-----
diff --git a/mysql-test/std_data/serversan-cert.pem b/mysql-test/std_data/serversan-cert.pem
index 41d5241a389..5a2966b8409 100644
--- a/mysql-test/std_data/serversan-cert.pem
+++ b/mysql-test/std_data/serversan-cert.pem
@@ -1,72 +1,114 @@
Certificate:
Data:
Version: 3 (0x2)
- Serial Number: 1 (0x1)
+ Serial Number: 4 (0x4)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
Validity
- Not Before: May 2 14:29:07 2019 GMT
- Not After : Apr 27 14:29:07 2039 GMT
+ Not Before: Mar 3 03:03:03 2020 GMT
+ Not After : Feb 27 03:03:03 2040 GMT
Subject: C=FI, ST=Helsinki, L=Helsinki, O=MariaDB, CN=server
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- RSA Public-Key: (2048 bit)
+ RSA Public-Key: (4096 bit)
Modulus:
- 00:b1:17:08:8f:43:a3:00:01:98:3b:52:8f:0b:b0:
- 13:4c:eb:df:37:0d:a3:2c:5b:38:8d:28:88:94:33:
- f3:04:0a:b2:1c:98:27:ec:76:9f:a2:f7:35:79:48:
- cc:55:1e:68:b4:a7:4d:40:0e:bd:d5:86:c0:e5:cc:
- cc:fa:41:5a:55:3f:79:59:28:6b:a2:ca:55:77:c9:
- 3f:5e:c4:96:e1:8c:64:cc:c7:95:29:48:81:bf:a8:
- c0:d2:3a:6f:6d:a7:14:b5:ec:d8:b6:c1:d8:86:7f:
- 7a:e9:83:c0:83:c3:e1:5a:30:dd:29:ec:85:68:d9:
- 09:9a:75:eb:ab:5f:3d:b1:a3:4f:e2:de:54:35:56:
- 9c:7d:8f:2a:4a:18:8d:34:05:05:b4:3b:5b:9e:df:
- 40:20:ad:87:a3:6b:c1:f2:da:a3:65:ef:c4:cb:3c:
- 24:68:43:23:e8:14:a7:c0:11:b7:5f:e9:e3:09:24:
- af:dd:ac:97:75:22:9e:15:b7:20:b0:82:b0:e1:0f:
- 0f:41:fc:da:3b:76:0c:6b:f8:42:06:e2:9e:70:9a:
- ed:a1:73:23:58:5c:f1:98:18:42:42:d4:0f:2e:35:
- 41:00:50:1d:15:e7:65:30:b5:db:72:7d:88:da:be:
- 93:72:e3:65:14:fa:0d:23:98:d6:5c:a5:fc:bb:8a:
- 8f:f9
+ 00:d5:1d:45:7c:8d:47:ef:86:cb:c2:46:3d:3e:77:
+ 00:36:b0:d6:2c:02:8c:d0:c1:6d:f9:89:62:2b:e1:
+ 30:c8:b5:1f:53:27:ee:b6:22:c9:bc:3a:33:6f:2e:
+ 65:79:09:16:07:ac:dc:0e:d8:25:9d:55:e9:a3:a1:
+ f2:69:16:eb:93:a9:a2:82:ca:4a:30:c7:a8:56:b7:
+ 3d:b2:27:f7:a4:fe:0f:2c:15:79:a8:8f:74:1f:e5:
+ 34:be:1c:b5:33:85:04:3b:29:8d:e5:67:ae:9b:6b:
+ 95:1f:4d:9c:4d:7e:fd:51:19:04:47:22:da:4c:87:
+ 1c:e1:8f:12:95:86:1f:1c:ff:13:b2:46:14:d8:3d:
+ 03:96:ab:a6:e3:3e:cc:17:61:8a:9f:fe:e5:22:e2:
+ be:38:2c:b4:68:9e:ff:d5:ba:98:94:08:78:50:7d:
+ 43:e0:e3:d3:de:ad:0d:1e:96:a7:7b:aa:72:c1:f1:
+ fc:dc:44:03:8c:56:79:a2:22:db:49:7e:f5:08:c6:
+ 2e:4b:df:33:00:68:f1:50:ef:71:07:c7:d8:59:6f:
+ 54:ef:17:bd:5a:21:1e:4a:81:cd:f3:2a:09:aa:88:
+ be:b3:c7:4f:16:80:83:08:bb:e3:b7:d2:5b:ef:b7:
+ 4b:cd:99:3e:cd:72:3b:72:04:49:a5:ae:71:7f:e8:
+ e9:7e:8f:22:4e:f5:06:55:b5:d5:a0:c3:c4:2d:fa:
+ cb:c0:52:2f:dc:15:08:cc:65:8e:0c:a9:60:57:d6:
+ e8:24:a1:87:ec:c0:b7:88:8f:4b:ca:51:ad:ba:f3:
+ 5d:6a:42:d5:77:9b:ef:8b:3d:5e:31:e9:0f:8f:9e:
+ a5:9f:59:bd:62:ed:8c:2b:44:15:92:7c:69:38:92:
+ 23:ce:d9:19:5f:ce:d5:c4:57:cd:85:66:a7:c8:dc:
+ 8f:7f:ce:d8:95:a6:a4:73:7c:23:7d:1b:fc:e6:0e:
+ cc:83:2a:b6:cf:ee:8f:90:8d:0d:60:b9:ad:08:78:
+ 48:c7:e5:d3:0c:9c:78:95:b9:aa:b1:e1:57:a3:91:
+ 02:96:d7:1d:0f:75:92:0b:1d:95:1f:50:88:ee:92:
+ 92:5d:bb:69:36:9f:72:f2:4e:7a:a9:53:07:41:77:
+ 2d:00:85:24:0f:4e:1d:66:a4:ee:4a:21:5c:7f:60:
+ 05:1b:d5:1a:ef:7d:e6:49:68:5b:6f:64:6a:1d:6b:
+ ef:c1:f5:c2:15:b2:25:7d:bd:93:49:ce:09:95:76:
+ bd:17:ae:07:f6:8e:5b:11:a7:40:36:84:fe:f9:b5:
+ 5e:e5:17:c2:5d:0e:93:53:b1:df:11:d6:1a:08:06:
+ d9:0f:25:54:f9:54:6d:61:a1:bd:94:a3:e0:3d:69:
+ f1:16:ff
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Alternative Name:
IP Address:127.0.0.1, DNS:localhost
Signature Algorithm: sha256WithRSAEncryption
- 7e:97:8a:e9:81:e7:c9:44:0d:a6:45:7c:f6:ae:12:f9:c3:3c:
- 2c:1f:de:aa:6b:1b:1a:09:ce:9d:d2:d7:5c:ab:32:98:91:1e:
- f8:7d:63:7a:c0:d3:34:eb:3a:55:b2:cd:f5:99:5f:95:bb:3e:
- 52:1d:05:2d:06:26:08:d1:e8:59:09:61:64:67:70:6d:5b:94:
- 2b:b4:0c:59:88:bf:56:c8:fe:73:7f:47:e9:b0:e5:46:71:26:
- 73:5f:d2:a0:81:4a:67:43:7a:18:2a:81:5b:2a:90:a9:3e:7b:
- 73:6e:83:b5:55:06:75:d1:8c:d1:d8:ad:7c:6a:ce:48:00:dd:
- c2:1d:b9:40:cd:91:2f:43:c4:d6:f4:79:5e:5c:83:23:87:a7:
- 38:3c:d8:49:81:d2:eb:49:c7:f0:5f:3d:6e:a0:38:75:ca:92:
- ce:d5:a7:54:fc:0e:7e:f4:14:66:77:79:93:bb:92:56:ab:f3:
- 1b:3c:75:57:4f:2d:12:6d:99:5b:d0:b5:62:b7:1d:e3:5b:a9:
- 70:cd:58:41:77:a6:2c:6d:34:bd:11:13:7d:ca:51:3e:06:f5:
- cb:d4:d5:11:64:b0:cc:30:2f:a5:62:d0:dd:2c:8c:66:3f:df:
- 2a:df:4d:56:99:5c:12:af:ee:92:e1:02:f6:ce:12:be:99:fa:
- cc:0c:5c:af
+ ac:c4:e6:b0:79:a7:31:09:78:47:45:90:ee:8b:bd:01:83:79:
+ 51:e8:d0:88:c8:ca:ee:78:44:f8:0d:18:07:58:ed:9e:ec:cc:
+ a1:fc:65:ca:85:92:5f:12:a0:c3:4e:9b:22:b1:de:5f:22:c8:
+ 2c:68:58:a9:62:f3:90:e7:48:61:c1:5e:5e:d2:84:a9:54:ea:
+ 6a:d4:be:65:cd:4d:7e:c3:d2:6a:ea:69:63:b8:97:b6:c5:30:
+ 7d:6b:d3:ca:b4:b1:9d:cf:ef:18:e7:de:81:4f:70:d8:ec:91:
+ 19:53:6c:2c:6e:2e:d6:ce:7c:48:a0:77:7b:af:95:0f:31:fe:
+ ff:1b:0e:06:1e:db:94:7b:44:11:58:53:06:b5:37:c5:5f:2b:
+ 61:63:b7:ff:12:c4:fc:10:df:95:eb:22:fd:b5:cb:68:24:80:
+ af:fc:27:f0:ee:28:b7:99:c5:6a:ec:1c:16:25:35:23:9b:a7:
+ ed:b2:ed:ff:69:47:60:f4:35:8e:20:2d:48:9d:18:cd:81:bc:
+ 33:98:76:78:de:5c:0c:40:9c:cb:0b:29:dc:2a:d2:77:a7:e4:
+ 02:ff:92:70:6e:5c:9a:61:8a:a5:29:d2:f0:a2:17:da:cc:43:
+ cc:de:c8:8c:d1:30:74:32:4f:ea:a1:69:98:dd:3c:ef:18:f2:
+ eb:32:96:6f:26:d6:46:b5:5b:85:e8:22:e0:33:10:64:44:5f:
+ 04:ed:5f:91:fe:83:23:b7:64:93:da:6b:05:f2:ef:aa:b8:1a:
+ b5:16:29:61:96:8d:fd:f1:09:49:b9:6d:bd:8f:13:58:a1:3d:
+ d9:0a:23:9e:a1:b0:a3:7c:4e:cb:4f:a6:1c:f8:6d:c4:06:47:
+ f6:3a:2b:29:87:dd:be:1c:95:5d:51:6c:a7:9d:a8:cf:fd:4c:
+ 9c:b8:90:2b:fb:c5:01:f9:c1:74:79:52:be:bc:18:b7:63:ff:
+ 64:2c:7c:a5:03:37:c5:01:6e:59:16:2e:b8:6c:ca:7a:b6:54:
+ e4:2d:07:cf:11:05:6d:d1:b7:32:8c:6a:8e:93:9a:0b:7b:37:
+ 18:67:9d:75:2f:cd:ac:3b:da:7f:f7:06:a7:00:37:f2:d2:2b:
+ 4c:4c:ce:a1:06:3c:be:ce:9b:a1:9f:7d:ea:7c:79:29:25:7a:
+ 1e:97:84:68:0a:3b:c6:20:3e:dc:0b:c4:63:7d:f5:26:9e:e8:
+ 23:a3:ce:17:65:86:29:3f:f4:dc:ba:5c:3b:2a:4a:ce:3d:23:
+ d9:e3:56:4d:c7:61:80:b5:72:ca:32:c9:16:f8:96:84:5d:07:
+ c7:a7:0b:99:32:9d:aa:38:12:cb:64:a8:af:45:c5:d9:6a:c2:
+ c1:e2:c8:44:14:0c:0d:0d
-----BEGIN CERTIFICATE-----
-MIIDRTCCAi2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
+MIIFRTCCAy2gAwIBAgIBBDANBgkqhkiG9w0BAQsFADBWMQ8wDQYDVQQDDAZjYWNl
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
-c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTkwNTAyMTQyOTA3WhcNMzkwNDI3
-MTQyOTA3WjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
+c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMjAwMzAzMDMwMzAzWhcNNDAwMjI3
+MDMwMzAzWjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
BAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMQ8wDQYDVQQDDAZzZXJ2ZXIw
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCxFwiPQ6MAAZg7Uo8LsBNM
-6983DaMsWziNKIiUM/MECrIcmCfsdp+i9zV5SMxVHmi0p01ADr3VhsDlzMz6QVpV
-P3lZKGuiylV3yT9exJbhjGTMx5UpSIG/qMDSOm9tpxS17Ni2wdiGf3rpg8CDw+Fa
-MN0p7IVo2QmadeurXz2xo0/i3lQ1Vpx9jypKGI00BQW0O1ue30AgrYeja8Hy2qNl
-78TLPCRoQyPoFKfAEbdf6eMJJK/drJd1Ip4VtyCwgrDhDw9B/No7dgxr+EIG4p5w
-mu2hcyNYXPGYGEJC1A8uNUEAUB0V52UwtdtyfYjavpNy42UU+g0jmNZcpfy7io/5
-AgMBAAGjHjAcMBoGA1UdEQQTMBGHBH8AAAGCCWxvY2FsaG9zdDANBgkqhkiG9w0B
-AQsFAAOCAQEAfpeK6YHnyUQNpkV89q4S+cM8LB/eqmsbGgnOndLXXKsymJEe+H1j
-esDTNOs6VbLN9Zlflbs+Uh0FLQYmCNHoWQlhZGdwbVuUK7QMWYi/Vsj+c39H6bDl
-RnEmc1/SoIFKZ0N6GCqBWyqQqT57c26DtVUGddGM0ditfGrOSADdwh25QM2RL0PE
-1vR5XlyDI4enODzYSYHS60nH8F89bqA4dcqSztWnVPwOfvQUZnd5k7uSVqvzGzx1
-V08tEm2ZW9C1Yrcd41upcM1YQXemLG00vRETfcpRPgb1y9TVEWSwzDAvpWLQ3SyM
-Zj/fKt9NVplcEq/ukuEC9s4Svpn6zAxcrw==
+ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVHUV8jUfvhsvCRj0+dwA2
+sNYsAozQwW35iWIr4TDItR9TJ+62Ism8OjNvLmV5CRYHrNwO2CWdVemjofJpFuuT
+qaKCykowx6hWtz2yJ/ek/g8sFXmoj3Qf5TS+HLUzhQQ7KY3lZ66ba5UfTZxNfv1R
+GQRHItpMhxzhjxKVhh8c/xOyRhTYPQOWq6bjPswXYYqf/uUi4r44LLRonv/VupiU
+CHhQfUPg49PerQ0elqd7qnLB8fzcRAOMVnmiIttJfvUIxi5L3zMAaPFQ73EHx9hZ
+b1TvF71aIR5Kgc3zKgmqiL6zx08WgIMIu+O30lvvt0vNmT7NcjtyBEmlrnF/6Ol+
+jyJO9QZVtdWgw8Qt+svAUi/cFQjMZY4MqWBX1ugkoYfswLeIj0vKUa26811qQtV3
+m++LPV4x6Q+PnqWfWb1i7YwrRBWSfGk4kiPO2RlfztXEV82FZqfI3I9/ztiVpqRz
+fCN9G/zmDsyDKrbP7o+QjQ1gua0IeEjH5dMMnHiVuaqx4VejkQKW1x0PdZILHZUf
+UIjukpJdu2k2n3LyTnqpUwdBdy0AhSQPTh1mpO5KIVx/YAUb1RrvfeZJaFtvZGod
+a+/B9cIVsiV9vZNJzgmVdr0Xrgf2jlsRp0A2hP75tV7lF8JdDpNTsd8R1hoIBtkP
+JVT5VG1hob2Uo+A9afEW/wIDAQABox4wHDAaBgNVHREEEzARhwR/AAABgglsb2Nh
+bGhvc3QwDQYJKoZIhvcNAQELBQADggIBAKzE5rB5pzEJeEdFkO6LvQGDeVHo0IjI
+yu54RPgNGAdY7Z7szKH8ZcqFkl8SoMNOmyKx3l8iyCxoWKli85DnSGHBXl7ShKlU
+6mrUvmXNTX7D0mrqaWO4l7bFMH1r08q0sZ3P7xjn3oFPcNjskRlTbCxuLtbOfEig
+d3uvlQ8x/v8bDgYe25R7RBFYUwa1N8VfK2Fjt/8SxPwQ35XrIv21y2gkgK/8J/Du
+KLeZxWrsHBYlNSObp+2y7f9pR2D0NY4gLUidGM2BvDOYdnjeXAxAnMsLKdwq0nen
+5AL/knBuXJphiqUp0vCiF9rMQ8zeyIzRMHQyT+qhaZjdPO8Y8usylm8m1ka1W4Xo
+IuAzEGREXwTtX5H+gyO3ZJPaawXy76q4GrUWKWGWjf3xCUm5bb2PE1ihPdkKI56h
+sKN8TstPphz4bcQGR/Y6KymH3b4clV1RbKedqM/9TJy4kCv7xQH5wXR5Ur68GLdj
+/2QsfKUDN8UBblkWLrhsynq2VOQtB88RBW3RtzKMao6Tmgt7NxhnnXUvzaw72n/3
+BqcAN/LSK0xMzqEGPL7Om6Gffep8eSkleh6XhGgKO8YgPtwLxGN99Sae6COjzhdl
+hik/9Ny6XDsqSs49I9njVk3HYYC1csoyyRb4loRdB8enC5kynao4EstkqK9Fxdlq
+wsHiyEQUDA0N
-----END CERTIFICATE-----
diff --git a/mysql-test/std_data/serversan-key.pem b/mysql-test/std_data/serversan-key.pem
index 22387b3af7d..320202b3454 100644
--- a/mysql-test/std_data/serversan-key.pem
+++ b/mysql-test/std_data/serversan-key.pem
@@ -1,28 +1,52 @@
-----BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCxFwiPQ6MAAZg7
-Uo8LsBNM6983DaMsWziNKIiUM/MECrIcmCfsdp+i9zV5SMxVHmi0p01ADr3VhsDl
-zMz6QVpVP3lZKGuiylV3yT9exJbhjGTMx5UpSIG/qMDSOm9tpxS17Ni2wdiGf3rp
-g8CDw+FaMN0p7IVo2QmadeurXz2xo0/i3lQ1Vpx9jypKGI00BQW0O1ue30AgrYej
-a8Hy2qNl78TLPCRoQyPoFKfAEbdf6eMJJK/drJd1Ip4VtyCwgrDhDw9B/No7dgxr
-+EIG4p5wmu2hcyNYXPGYGEJC1A8uNUEAUB0V52UwtdtyfYjavpNy42UU+g0jmNZc
-pfy7io/5AgMBAAECggEAP6QHb3TfHyFzk94Xihu80+fwT9iWy1n8+L2YV6pTqyAs
-4hnMPy5iMC6nCO8gf3ZuKn31RRAHKLVEnVD8WPMjg39MHL5p8BbGoEWygFwl3OiX
-UQBomm10M2xx3xsg8EcbKkXzm7oOFke55DF0/eVnFwJ4eJiHWSamTNwT1YJkqXFt
-kbYxxcpvjzFKuIOFXMTbS6OHGLHjuuyWffxEkbvM/bU13IFmDOzahLFPihcz7rFu
-CaFN9JSSj4jENPkYOiw+zTtJhgOMCoclAcNc4c5Gs95wk6pTxoj9kHJaaYqinVgI
-owUTgIXRhuixjWJd1dylgY3YvrRFENZlMe39cVKwAQKBgQDppB7Qf2FmejMYtJkA
-WmlDSy+LZnYAAYjTqIeSAlRXI91iDa9HqrdPucQkv6nPvL6yndZYIrq50BLNGiL+
-v/3Ok/9v3H8jAiCzwIuqAYoA2gHh4d4ZV9Vxoqu6CcX/2xOUL7CSOV5NkK+3Yrs7
-n47X4ILGihIKzz5GoSTHyb6zRwKBgQDCCX1jwSEnIDhPCuid4+6g1vjTvVtgVIf9
-87sds02duE8K5Uwjio7g3BlV1YzLv0jKNkUK+HuG/c7n9r0IVrs4of6t/bJjl7vJ
-RLl6ZkSybzzS2x2nYk23VZlInYWUdJS9kHlic+mXfJvJvBBwyz8WX7t2wQaTqlDu
-QCpuV+HCvwKBgDz4/q2swG9s7o7A+rjT32qXYXYArES+IcYS0iZxgy8mhezD431R
-ePtOYHiyqA81k5KrjDd+ALrjKTTrYDyZQBQ8HUpFAczSDlS6p/ga5LfqLNmVB1AX
-0vUP3b70M/7cXlSqyWqvnAOkAadbFb+umSmPRrGncKPvh7II9b9J0AGbAoGAMyD3
-BnMcfkfSLpnMQ9aMyZr7xCeQTWjY0MUJmEDoAdhQE6nqDy9yiLPWhTSZPhLwZkA4
-nzRssFxuydbNZsYb3UdqaYSBHhccZ2ORkDwke/Qtzc3pGXMg0V9f3a+MRFsX2n+Y
-TKYIdl9iWZ0Ro/cab5XYOumQBxcI7k7AH4VOutcCgYEA3JgQiYoiPohS9A49bPiF
-eDX1Ck3lgaEF72us6BfvLHTrbA/qYhVUlrbrU2P/gAy1uKDRYq5RAoNGDLdwatvE
-0hPYj1hc1DuPAAGG83/tSh2jfFVbZBw5xEDjLerkpQyop59dfTS0E/oSu6ebxIIg
-dHEwqlmDrrJv7WwUJUzuUJU=
+MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDVHUV8jUfvhsvC
+Rj0+dwA2sNYsAozQwW35iWIr4TDItR9TJ+62Ism8OjNvLmV5CRYHrNwO2CWdVemj
+ofJpFuuTqaKCykowx6hWtz2yJ/ek/g8sFXmoj3Qf5TS+HLUzhQQ7KY3lZ66ba5Uf
+TZxNfv1RGQRHItpMhxzhjxKVhh8c/xOyRhTYPQOWq6bjPswXYYqf/uUi4r44LLRo
+nv/VupiUCHhQfUPg49PerQ0elqd7qnLB8fzcRAOMVnmiIttJfvUIxi5L3zMAaPFQ
+73EHx9hZb1TvF71aIR5Kgc3zKgmqiL6zx08WgIMIu+O30lvvt0vNmT7NcjtyBEml
+rnF/6Ol+jyJO9QZVtdWgw8Qt+svAUi/cFQjMZY4MqWBX1ugkoYfswLeIj0vKUa26
+811qQtV3m++LPV4x6Q+PnqWfWb1i7YwrRBWSfGk4kiPO2RlfztXEV82FZqfI3I9/
+ztiVpqRzfCN9G/zmDsyDKrbP7o+QjQ1gua0IeEjH5dMMnHiVuaqx4VejkQKW1x0P
+dZILHZUfUIjukpJdu2k2n3LyTnqpUwdBdy0AhSQPTh1mpO5KIVx/YAUb1RrvfeZJ
+aFtvZGoda+/B9cIVsiV9vZNJzgmVdr0Xrgf2jlsRp0A2hP75tV7lF8JdDpNTsd8R
+1hoIBtkPJVT5VG1hob2Uo+A9afEW/wIDAQABAoICAQDG7TnNVztMlDBiOZo1UnM6
+mbpw/jhfLA7xnJGsj9kvoBGLV3z1OmfAcTtNjqtdXWPY6jvHB2+k+2rJOQPDoIdp
+IDD3kMfL3LJ/ry/Bupjow9V5utoCw1UL6LFgu/9QBdu7NcCj4DIWFUfvHkzF8cGX
+D5j0pc3LHVuSGDCqrbUhJeBGyi/u4JUW8UcoW5e6Q2xYiF9uPuR8Hw6PkcsQv8po
+c7eKukLACynbcwEKCmpvftz7uFvlZv9A4f9Lnum+IumqtQLGA6PhwBNxDvAc6ShD
+4y4Ot8Qh+0QBHEUXs6euLVKFEYf7Yx3s6yVWkt8KVbhGQ8Nhlj1y4hm0s65yTQCV
+Uj5B2b42TmZR/cUd/iWTZOBRAcNTz+kiII9sDRJEUOwr31kx4dNVQedP/IIqnXEs
+q99sa3N6UjzcT0+0VagVi0MbTDx9Vo++f/h4ZAkh2yuNTDS9w5v3mxIJlE9tb0HK
+elWL6UrJeJ/JxFxZnIWf4qJ1C9bOi5zN8R3lY+w0gd4ujPByc4J2qhaSPTzwIks+
+rRcJQNhmdk+HPjEtQwg7T4RdGb0yQVUz+5exMU81rmYXCBH4NxjnlgSnDAH7UeN0
+Sj2SDWpxGCtvIW5MwE9oJo3ZGNVMy7dHRZDIkA6/mp9lNoMVMP08Izk4sWrjWUTH
+uvlL3sKE+NdAK6PSfFCRQQKCAQEA/8u42BccjIGAihi5E388AESHv5a8llnxWR1/
+f942h7GPe90fyLqM7FdXcXXLdrlrAhabHiboP0l0cQgUIxbhUYx8tYCUv+olRYym
+wMIKHKdho4jWc3uD0HHF1IZ0sVcmal+7zbtdAaW6Z4orHg1AO5WHxyuWO5WUiggY
+4rzxf4rNlQaWkU/uZ7B/cSZRa5hirjUrpeN42UtYPMd+4dtqK5LdvLrY3LFwZOd4
+2x9VBjRcccKuvs2ZKffzizcKPV+h/k8hwQvXJ4S7CpZ+SycukM3bt/q4+VMfFcV8
+crjXTEBdiuUxhNMnE4T3qOYW3j2FbwaiqAedaR/CCpua07xEkQKCAQEA1UjTj/lT
+PQtxYnVZL8OxbhnOXsBJGAo5p4yagOkQuq6Dc/PfaxukkhqY0oUSghtSEocfzLnW
+VOsQWwl4iyxFpws6wiOxr56VFlfdS0wNkv2DgWolTXCaJzOX66t7u0/9IZD51Ir1
+WQIMbgN3NH6/IVd5rNzy+d8o0lTn0P5jE/kjkT6DxYRmC6dVEjnFIZ1i/HoeIvg7
+K6j9Ug3rz7Hb819HZ762HT0s8HF95lSKPJgbX0+5Y1S3YKS0L6UjfmhavxBd33lg
+8BkxdVs6YWFdytEuOUyu9eAA+iYkuKWqhOkQvHooyMFIYOWbSGoDvQhwRy3Plp5H
+aJCYMS8mX5cqjwKCAQB2SlyxuYZfR6gMtMApzwYNTaPFKs0NboyY3HZQyI9JEwi6
+jBidt/9hcEak1od/4OEmdxPGztFKKwrpFoZRb8xE7QXi3ZJsabhQwGmA7HrGo3UY
+rjgV8YGUjHii/obKV/YQ7TKpQkMRdvWL2i50WEZjB5Rhu7te1J57cqEngZ7gj2zg
+xMouattiIhHdXo36ht7jlv0XWulQ+3HTsaHwioo/mkxmcbXF4VyLnSubkZK9Ksux
+ZAlxfRyeduauc4aNuULtmuSOJI6b3NquW8gNsxHqrvgzzYNq8VCHver+FpKh1YYs
+rC7JMOh6M1xgQ/9BSQwCuvvPXq4hpikSxMDFt+OxAoIBAG7nZYsx3ESb1KOb3Xpm
+ybY0mQjP97IWbxBenmB10Ish/5ylrQEm6JZIWjrtk0gwKKcVuEVeRML3UBPmgtXr
+eXR49F7K7LQjQ+bQXXOv4kcSp/T9WtQ/vwivXUnga4BlAX0Yw6/vadCUrh3uk2eq
+mHwf3lcytO2VSsbD+57DCIX0QLhfx2lHhUB+DFBj1cu66SPb5BvO9AWp479tGbdw
+Bq0wWBLsKgpeKyYD/bFtOEx105XmAMJT5N7OBhvYRPKQFM/RFN8FYJC4qO0bOOo2
+FO1HhD+rTjbv+dIZT3LsQhTGlDtNUjPBvX8VJX+sELGU171LZuws9Xi750d7+vot
+wqUCggEBALE6pU4Gouo/tKC9PpZBY69YlLqV+Ue+tim25a2/cbHCSW6OTWvuslNN
+4sX1HiPZD6Nel/8ynf/arqPe04FXqH/SdI0aTbt2B3mrM/eJthDF4en+fT4FDVdw
+LC+7uHgmAijn1ljFEyfwZTesUEbIHeOt2HiwOcErIXXpE+8v9kWtCqKPuJewc5Ir
+0AWaACeXB91RbfO1ud3yIG+hZZVxW0szK1kXje5dVMH6ekbUXzN0NhMu3bT8yONX
+aQBrZs4xkEZpP56TcxKMTlcDZKky9GFxjEENeThFoJZdWT2LTM77oYCCtvHcL/u3
+yYbWA0o6Gv9uVUkxkQEqb/NJh0xWMEk=
-----END PRIVATE KEY-----
diff --git a/mysql-test/suite.pm b/mysql-test/suite.pm
index 5100b4137a2..4cc6b410fa1 100644
--- a/mysql-test/suite.pm
+++ b/mysql-test/suite.pm
@@ -25,6 +25,12 @@ sub skip_combinations {
$skip{'include/platform.combinations'} = [ 'aix', 'win' ];
}
+ if ( $::opt_ps_protocol ) {
+ $skip{'include/protocol.combinations'} = [ 'nm' ];
+ } else {
+ $skip{'include/protocol.combinations'} = [ 'ps' ];
+ }
+
$skip{'include/maybe_debug.combinations'} =
[ defined $::mysqld_variables{'debug-dbug'} ? 'release' : 'debug' ];
diff --git a/mysql-test/suite/archive/archive-big.test b/mysql-test/suite/archive/archive-big.test
index 414b689b180..fd59df66b43 100644
--- a/mysql-test/suite/archive/archive-big.test
+++ b/mysql-test/suite/archive/archive-big.test
@@ -1,4 +1,6 @@
--source include/big_test.inc
+# Valgrind is to slow for this test
+--source include/not_valgrind.inc
--source include/have_archive.inc
CREATE TABLE t1(a BLOB) ENGINE=ARCHIVE;
--disable_query_log
diff --git a/mysql-test/suite/archive/discover.result b/mysql-test/suite/archive/discover.result
index 99bb955ea24..74ba3752373 100644
--- a/mysql-test/suite/archive/discover.result
+++ b/mysql-test/suite/archive/discover.result
@@ -84,7 +84,7 @@ drop table t1;
db.opt
t0.ARZ
#
-# discover of table non-existance on drop
+# discover of table non-existence on drop
#
select * from t0;
a
diff --git a/mysql-test/suite/archive/discover.test b/mysql-test/suite/archive/discover.test
index 4ab35cf1115..1bced9edcbc 100644
--- a/mysql-test/suite/archive/discover.test
+++ b/mysql-test/suite/archive/discover.test
@@ -67,7 +67,7 @@ drop table t1;
--list_files $mysqld_datadir/test
--echo #
---echo # discover of table non-existance on drop
+--echo # discover of table non-existence on drop
--echo #
select * from t0;
remove_file $mysqld_datadir/test/t0.ARZ;
@@ -119,7 +119,7 @@ select * from t1;
--list_files $mysqld_datadir/test
#
-# MDEV-4955 discover of table non-existance on CREATE
+# MDEV-4955 discover of table non-existence on CREATE
#
create table t1 (a int) engine=archive;
select * from t1;
diff --git a/mysql-test/suite/atomic/README.txt b/mysql-test/suite/atomic/README.txt
new file mode 100644
index 00000000000..b1453d8a4f8
--- /dev/null
+++ b/mysql-test/suite/atomic/README.txt
@@ -0,0 +1,19 @@
+To debug a the ddl_recovery code in a failing ddl_recovery test one could do
+the following:
+
+- Add # before --exec echo "restart" ...
+- Force $e (engine), $c (crash point) and $r (crash position) to the values
+ where things goes wrong. See comments in alter_table.test for how to do this.
+- start mariadbd in a debugger
+
+run the following in the debugger
+(Replace 'atomic.create_trigger' with the failing test case)
+
+#break ha_recover
+#break MYSQL_BIN_LOG::recover
+#break MYSQL_BIN_LOG::open
+
+break ddl_log_close_binlogged_events
+break ddl_log_execute_action
+break ddl_log_execute_recovery
+run --datadir=/my/maria-10.6/mysql-test/var/log/atomic.create_trigger/mysqld.1/data --log-basename=master --log-bin-index=mysqld-bin.index --debug --log-bin
diff --git a/mysql-test/suite/atomic/alter_table.opt b/mysql-test/suite/atomic/alter_table.opt
new file mode 100644
index 00000000000..61f3ce08d27
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table.opt
@@ -0,0 +1 @@
+--innodb-max-dirty-pages-pct=0
diff --git a/mysql-test/suite/atomic/alter_table.result b/mysql-test/suite/atomic/alter_table.result
new file mode 100644
index 00000000000..cd4c1ad5617
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table.result
@@ -0,0 +1,3135 @@
+create database test2;
+RESET MASTER;
+
+engine: myisam
+
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+query: ALTER TABLE t1 COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+query: ALTER TABLE t1 disable keys
+
+crash point: ddl_log_alter_after_create_frm
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+"No crash!"
+crash point: ddl_log_alter_after_log
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+query: ALTER TABLE t1 rename t2
+
+crash point: ddl_log_alter_after_create_frm
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+"No crash!"
+crash point: ddl_log_alter_after_log
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_rename_triggers
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_log
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_log
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_delete_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_drop_original_table
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+query: ALTER TABLE t1 COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+query: ALTER TABLE t1 DROP INDEX a
+
+crash point: ddl_log_alter_after_create_frm
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_drop_original_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+
+engine: innodb
+
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 disable keys
+
+crash point: ddl_log_alter_after_create_frm
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_copy
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_log
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+Warnings:
+Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+query: ALTER TABLE t1 rename t2
+
+crash point: ddl_log_alter_after_create_frm
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+"No crash!"
+crash point: ddl_log_alter_after_log
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_rename_triggers
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+t2.ibd
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_delete_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_drop_original_table
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+t2.ibd
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+t2.ibd
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+t2.ibd
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+t2.ibd
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 DROP INDEX a
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+t1.ibd
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
diff --git a/mysql-test/suite/atomic/alter_table.test b/mysql-test/suite/atomic/alter_table.test
new file mode 100644
index 00000000000..1f87b7e71b8
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table.test
@@ -0,0 +1,193 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic create table with crashes in a lot of different places
+#
+# Things tested:
+# With myisam and InnoDB engines to ensure that cover both normal and
+# online alter table paths.
+# Alter table with new columns
+# Alter table which only touches .frm
+# Alter table disable keys (has it own code path)
+# Alter table with rename
+# Alter table with rename and only options that touches .frm
+# Alter table with rename and add new columns
+# Alter table with storage engine change (with and without column definition
+# changes)
+# Alter table with storage engine change and rename
+# Alter table to another database
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+--enable_query_log
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+create database test2;
+RESET MASTER;
+
+if ($engine_count == "")
+{
+ let $engine_count=2;
+ let $engines='myisam','innodb';
+}
+if ($extra_engine == "")
+{
+ let $extra_engine=aria;
+}
+
+let $crash_count=13;
+let $crash_points='ddl_log_alter_after_create_frm', 'ddl_log_alter_after_create_table', 'ddl_log_alter_after_prepare_inplace','ddl_log_alter_after_copy', 'ddl_log_alter_after_log', 'ddl_log_alter_after_rename_to_backup', 'ddl_log_alter_after_rename_to_backup_log', 'ddl_log_alter_rename_frm', 'ddl_log_alter_after_rename_to_original', 'ddl_log_alter_before_rename_triggers', 'ddl_log_alter_after_rename_triggers', 'ddl_log_alter_after_delete_backup', 'ddl_log_alter_after_drop_original_table';
+
+let $statement_count=16;
+let $statements='ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"',
+ 'ALTER TABLE t1 COMMENT "new"',
+ 'ALTER TABLE t1 change column a c int COMMENT "new"',
+ 'ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2',
+ 'ALTER TABLE t1 disable keys',
+ 'ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"',
+ 'ALTER TABLE t1 rename t2',
+ 'ALTER TABLE t1 COMMENT "new", rename t2',
+ 'ALTER TABLE t1 change column a c int COMMENT "new", rename t2',
+ 'ALTER TABLE t1 ENGINE=$extra_engine, COMMENT "new"',
+ 'ALTER TABLE t1 change column a c int COMMENT "new", engine=$extra_engine',
+ 'ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=$extra_engine',
+ 'ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2',
+ 'ALTER TABLE t1 COMMENT "new", rename test2.t2',
+ 'ALTER TABLE t1 ADD key(b), COMMENT "new"',
+ 'ALTER TABLE t1 DROP INDEX a';
+
+# If there is a need of testing one specific state (crash point and query),
+# one can use the comments below to execute one specific test combination
+#let $crash_count=1;
+#let $crash_points='ddl_log_alter_after_create_frm';
+#let $statement_count= 1;
+#let $statements='ALTER TABLE t1 ADD COLUMN c int, COMMENT "new"';
+#let $engine_count=1;
+#let $engines='rocksdb';
+#--source include/have_rocksdb.inc
+
+let $old_debug=`select @@debug_dbug`;
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=ALTER;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+
+ --echo
+ --echo engine: $engine
+ --echo
+
+ let $r=0;
+ while ($r < $statement_count)
+ {
+ inc $r;
+ let $statement=`select ELT($r, $statements)`;
+ --echo
+ --echo query: $statement
+ --echo
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+
+ --eval create table t1 (a int, b int, key(a)) engine=$engine
+ insert into t1 values (1,1),(2,2);
+ commit;
+ flush tables;
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --echo crash point: $crash
+ if ($crash_count > 1)
+ {
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ }
+# The following can be used for testing one specific failure
+# if ($crash == "ddl_log_alter_after_log")
+# {
+# if ($r == 2)
+# {
+# --remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+# }
+# }
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=1
+ let $errno=0;
+ --error 0,2013
+ --eval $statement;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ if ($error != 0)
+ {
+ --list_files $MYSQLD_DATADIR/test t*
+ --list_files $MYSQLD_DATADIR/test *sql*
+ --list_files $MYSQLD_DATADIR/test2 t*
+ --list_files $MYSQLD_DATADIR/test2 *sql*
+ # Check which tables still exists
+ --error 0,1
+ --file_exists $MYSQLD_DATADIR/test/t1.frm
+ let $error2=$errno;
+ if ($error2 == 0)
+ {
+ show create table t1;
+ select count(*) from t1;
+ }
+ if ($error2 == 1)
+ {
+ --error 0,1
+ --file_exists $MYSQLD_DATADIR/test/t2.frm
+ let $error3=$errno;
+ if ($error3 == 0)
+ {
+ show create table t2;
+ select count(*) from t2;
+ }
+ if ($error3 == 1)
+ {
+ --echo "Table is in test2"
+ show create table test2.t2;
+ select count(*) from test2.t2;
+ }
+ }
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ }
+ --disable_warnings
+ drop table if exists t1,t2;
+ drop table if exists test2.t2;
+ --enable_warnings
+ }
+ }
+}
+drop database test2;
+--enable_query_log
diff --git a/mysql-test/suite/atomic/alter_table_aria.result b/mysql-test/suite/atomic/alter_table_aria.result
new file mode 100644
index 00000000000..0f5ad27e802
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_aria.result
@@ -0,0 +1,1741 @@
+create database test2;
+RESET MASTER;
+
+engine: aria
+
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+query: ALTER TABLE t1 COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+query: ALTER TABLE t1 disable keys
+
+crash point: ddl_log_alter_after_create_frm
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+"No crash!"
+crash point: ddl_log_alter_after_log
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+query: ALTER TABLE t1 rename t2
+
+crash point: ddl_log_alter_after_create_frm
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+"No crash!"
+crash point: ddl_log_alter_after_log
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_rename_triggers
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=myisam, COMMENT "new"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+crash point: ddl_log_alter_after_drop_original_table
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=myisam
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_before_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_after_rename_triggers
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_after_delete_backup
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+crash point: ddl_log_alter_after_drop_original_table
+t2.MYD
+t2.MYI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=myisam
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+query: ALTER TABLE t1 COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+query: ALTER TABLE t1 DROP INDEX a
+
+crash point: ddl_log_alter_after_create_frm
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
diff --git a/mysql-test/suite/atomic/alter_table_aria.test b/mysql-test/suite/atomic/alter_table_aria.test
new file mode 100644
index 00000000000..6bf44b0463d
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_aria.test
@@ -0,0 +1,7 @@
+#
+# Test atomic alter table with aria
+
+let $engine_count=1;
+let $engines='aria';
+let $extra_engine=myisam;
+--source alter_table.test
diff --git a/mysql-test/suite/atomic/alter_table_big_query.result b/mysql-test/suite/atomic/alter_table_big_query.result
new file mode 100644
index 00000000000..81feecb55e6
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_big_query.result
@@ -0,0 +1,34 @@
+
+engine: myisam
+
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+sum(a)
+3
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/* long code comment: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy*/
+
+query: ALTER TABLE t1 COMMENT "new"
+
+crash point: ddl_log_alter_after_log
+t1.MYD
+t1.MYI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+sum(a)
+3
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/* long code comment: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy*/
diff --git a/mysql-test/suite/atomic/alter_table_big_query.test b/mysql-test/suite/atomic/alter_table_big_query.test
new file mode 100644
index 00000000000..682259cda60
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_big_query.test
@@ -0,0 +1,119 @@
+--source include/have_debug.inc
+--source include/have_sequence.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of query > 4K. For this we do not have to run many tests as we
+# only want to test the query storage, which is identical for all cases.
+#
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+
+--enable_query_log
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=1;
+let $engines='myisam';
+
+let $crash_count=1;
+let $crash_points='ddl_log_alter_after_log';
+
+let $statement_count=2;
+let $statements='ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"',
+ 'ALTER TABLE t1 COMMENT "new"';
+
+# If there is a need of testing one specific state (crash point and query),
+# one can remove the comments below and modify them.
+#let $crash_count=1;
+#let $crash_points='ddl_log_alter_before_rename_triggers';
+#let $statement_count= 1;
+#let $statements='ALTER TABLE t1 change column b c int, COMMENT "new"';
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=ALTER;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+
+ --echo
+ --echo engine: $engine
+ --echo
+
+ let $r=0;
+ while ($r < $statement_count)
+ {
+ inc $r;
+ let $statement=`select ELT($r, $statements)`;
+ --echo
+ --echo query: $statement
+ let $statement=`select concat(replace('$statement', "new", repeat("x",2000)), "/* long code comment: ", repeat("y",6000), "*/")`;
+ --echo
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+
+ --eval create table t1 (a int, b int) engine=$engine
+ insert into t1 (a) values (1),(2);
+ flush tables;
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --echo crash point: $crash
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=1
+ let $errno=0;
+ --error 0,2013
+ --eval $statement;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ if ($error != 0)
+ {
+ --list_files $MYSQLD_DATADIR/test t*
+ --list_files $MYSQLD_DATADIR/test *sql*
+ show create table t1;
+ select sum(a) from t1;
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ }
+ --disable_warnings
+ drop table if exists t1,t2;
+ --enable_warnings
+ }
+ }
+}
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/alter_table_rocksdb.result b/mysql-test/suite/atomic/alter_table_rocksdb.result
new file mode 100644
index 00000000000..dda73e0b210
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_rocksdb.result
@@ -0,0 +1,1764 @@
+set global rocksdb_flush_log_at_trx_commit=1;
+create database test2;
+RESET MASTER;
+
+engine: rocksdb
+
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new"
+
+query: ALTER TABLE t1 COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+query: ALTER TABLE t1 disable keys
+
+crash point: ddl_log_alter_after_create_frm
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_copy
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_log
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+Warnings:
+Note 1031 Storage engine ROCKSDB of the table `test`.`t1` doesn't have this option
+"No crash!"
+
+query: ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, ALGORITHM=copy, COMMENT "new"
+
+query: ALTER TABLE t1 rename t2
+
+crash point: ddl_log_alter_after_create_frm
+"No crash!"
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+"No crash!"
+crash point: ddl_log_alter_after_log
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_rename_triggers
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_delete_backup
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", rename t2
+
+query: ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ENGINE=aria, COMMENT "new"
+
+query: ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_rename_to_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+crash point: ddl_log_alter_after_drop_original_table
+t1.MAD
+t1.MAI
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c` int(11) DEFAULT NULL COMMENT 'new',
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`c`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column a c int COMMENT "new", engine=aria
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_to_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_before_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_rename_triggers
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_delete_backup
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+crash point: ddl_log_alter_after_drop_original_table
+t2.MAD
+t2.MAI
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2, engine=aria
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename test2.t2
+
+query: ALTER TABLE t1 COMMENT "new", rename test2.t2
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_to_backup_log
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_before_rename_triggers
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_rename_triggers
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_delete_backup
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+crash point: ddl_log_alter_after_drop_original_table
+t2.frm
+"Table is in test2"
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename test2.t2
+
+query: ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_prepare_inplace
+"No crash!"
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_rename_to_backup_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+crash point: ddl_log_alter_after_drop_original_table
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ KEY `b` (`b`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD key(b), COMMENT "new"
+
+query: ALTER TABLE t1 DROP INDEX a
+
+crash point: ddl_log_alter_after_create_frm
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_create_table
+"No crash!"
+crash point: ddl_log_alter_after_prepare_inplace
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_copy
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ KEY `a` (`a`)
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+crash point: ddl_log_alter_after_log
+t1.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=ROCKSDB DEFAULT CHARSET=latin1
+count(*)
+2
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 DROP INDEX a
+crash point: ddl_log_alter_after_rename_to_backup
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_backup_log
+"No crash!"
+crash point: ddl_log_alter_rename_frm
+"No crash!"
+crash point: ddl_log_alter_after_rename_to_original
+"No crash!"
+crash point: ddl_log_alter_before_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_rename_triggers
+"No crash!"
+crash point: ddl_log_alter_after_delete_backup
+"No crash!"
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
diff --git a/mysql-test/suite/atomic/alter_table_rocksdb.test b/mysql-test/suite/atomic/alter_table_rocksdb.test
new file mode 100644
index 00000000000..fa34008dd58
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_rocksdb.test
@@ -0,0 +1,6 @@
+--source include/have_rocksdb.inc
+
+let $engine_count=1;
+let $engines='rocksdb';
+set global rocksdb_flush_log_at_trx_commit=1;
+--source alter_table.test
diff --git a/mysql-test/suite/atomic/alter_table_trigger.result b/mysql-test/suite/atomic/alter_table_trigger.result
new file mode 100644
index 00000000000..228229d30de
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_trigger.result
@@ -0,0 +1,131 @@
+
+engine: myisam
+
+
+query: ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+crash point: ddl_log_alter_before_rename_triggers
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2
+
+query: ALTER TABLE t1 COMMENT "new", rename t2
+
+crash point: ddl_log_alter_before_rename_triggers
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
+
+query: ALTER TABLE t1 change column b c int, COMMENT "new", rename t2
+
+crash point: ddl_log_alter_before_rename_triggers
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column b c int, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_rename_triggers
+t1_trg.TRN
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='new'
+count(*)
+2
+sum(a)
+1003
+master-bin.000002 # Query # # use `test`; ALTER TABLE t1 change column b c int, COMMENT "new", rename t2
+crash point: ddl_log_alter_after_drop_original_table
+"No crash!"
diff --git a/mysql-test/suite/atomic/alter_table_trigger.test b/mysql-test/suite/atomic/alter_table_trigger.test
new file mode 100644
index 00000000000..1d6d5c224c7
--- /dev/null
+++ b/mysql-test/suite/atomic/alter_table_trigger.test
@@ -0,0 +1,149 @@
+--source include/have_debug.inc
+--source include/have_sequence.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic create table with crashes in a lot of different places
+#
+# This is very similar to the alter_table.test, but includes testing of
+# triggers in with ALTER TABLE .. RENAME.
+#
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+--enable_query_log
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=1;
+let $engines='myisam','innodb';
+
+let $crash_count=3;
+let $crash_points='ddl_log_alter_before_rename_triggers', 'ddl_log_alter_after_rename_triggers', 'ddl_log_alter_after_drop_original_table';
+
+let $statement_count=3;
+let $statements='ALTER TABLE t1 ADD COLUMN c INT, COMMENT "new", rename t2',
+ 'ALTER TABLE t1 COMMENT "new", rename t2',
+ 'ALTER TABLE t1 change column b c int, COMMENT "new", rename t2';
+
+# If there is a need of testing one specific state (crash point and query),
+# one can remove the comments below and modify them.
+#let $crash_count=1;
+#let $crash_points='ddl_log_alter_before_rename_triggers';
+#let $statement_count= 1;
+#let $statements='ALTER TABLE t1 change column b c int, COMMENT "new", rename t2';
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=ALTER;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+
+ --echo
+ --echo engine: $engine
+ --echo
+
+ let $r=0;
+ while ($r < $statement_count)
+ {
+ inc $r;
+ let $statement=`select ELT($r, $statements)`;
+ --echo
+ --echo query: $statement
+ --echo
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+
+ --eval create table t1 (a int, b int) engine=$engine
+ insert into t1 (a) values (1),(2);
+ flush tables;
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ delimiter ;|
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ --echo crash point: $crash
+ if ($crash_count != 1)
+ {
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ }
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=1
+ let $errno=0;
+ --error 0,2013
+ --eval $statement;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ if ($error != 0)
+ {
+ --list_files $MYSQLD_DATADIR/test t*
+ --list_files $MYSQLD_DATADIR/test *sql*
+ # Check which tables still exists
+ --error 0,1
+ --file_exists $MYSQLD_DATADIR/test/t1.frm
+ let $error2=$errno;
+ if ($error2 == 0)
+ {
+ show create table t1;
+ # Ensure that triggers work
+ insert into t1 (a) values(null);
+ select sum(a) from t1;
+ }
+ if ($error2 == 1)
+ {
+ show create table t2;
+ select count(*) from t2;
+ # Ensure that triggers work
+ insert into t2 (a) values(null);
+ select sum(a) from t2;
+ }
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ }
+ --disable_warnings
+ drop table if exists t1,t2;
+ --enable_warnings
+ }
+ }
+}
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/create_table.result b/mysql-test/suite/atomic/create_table.result
new file mode 100644
index 00000000000..acc78c76d25
--- /dev/null
+++ b/mysql-test/suite/atomic/create_table.result
@@ -0,0 +1,537 @@
+create table const_table (a int, b int) engine=myisam;
+insert into const_table values (1,1),(2,2);
+flush tables;
+engine: myisam
+query: CREATE TABLE t1 (a int)
+crash point: ddl_log_create_before_create_frm
+t2.MYD
+t2.MYI
+t2.frm
+crash point: storage_engine_middle_of_create
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_before_create_table
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_create_table
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_drop
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_before_binlog
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_after_binlog
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_log_complete
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+query: CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_before_create_frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: storage_engine_middle_of_create
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_before_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_drop
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_before_binlog
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_after_binlog
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_log_complete
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+query: CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_before_create_frm
+t2.MYD
+t2.MYI
+t2.frm
+crash point: storage_engine_middle_of_create
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_before_create_table
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_create_table
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_drop
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_before_binlog
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_after_binlog
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_log_complete
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+query: CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_before_create_frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: storage_engine_middle_of_create
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_before_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_drop
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_before_binlog
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_after_binlog
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_log_complete
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+query: CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_before_create_frm
+t2.MYD
+t2.MYI
+t2.frm
+crash point: storage_engine_middle_of_create
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `seq` bigint(20) unsigned NOT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_before_create_table
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_create_table
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_drop
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `seq` bigint(20) unsigned NOT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_before_binlog
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_prepare_eof
+t2.MYD
+t2.MYI
+t2.frm
+crash point: ddl_log_create_after_binlog
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `seq` bigint(20) unsigned NOT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_log_complete
+t1.MYD
+t1.MYI
+t1.frm
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `seq` bigint(20) unsigned NOT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE TABLE t1 SELECT * from t2
+query: CREATE OR REPLACE TABLE t2 SELECT * from const_table
+crash point: ddl_log_create_before_create_frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: storage_engine_middle_of_create
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE OR REPLACE TABLE t2 SELECT * from const_table
+crash point: ddl_log_create_before_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_drop
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_before_binlog
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_prepare_eof
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_binlog
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE OR REPLACE TABLE t2 SELECT * from const_table
+crash point: ddl_log_create_log_complete
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+)
+master-bin.000001 # Annotate_rows # # CREATE OR REPLACE TABLE t2 SELECT * from const_table
+engine: innodb
+query: CREATE TABLE t1 (a int)
+crash point: ddl_log_create_before_create_frm
+t2.frm
+t2.ibd
+crash point: storage_engine_middle_of_create
+"No crash!"
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_before_create_table
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_create_table
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_drop
+"No crash!"
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_before_binlog
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_after_binlog
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+crash point: ddl_log_create_log_complete
+"No crash!"
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
+query: CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_before_create_frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: storage_engine_middle_of_create
+"No crash!"
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_before_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_drop
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_before_binlog
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_after_binlog
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+crash point: ddl_log_create_log_complete
+"No crash!"
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 (a int)
+query: CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_before_create_frm
+t2.frm
+t2.ibd
+crash point: storage_engine_middle_of_create
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_before_create_table
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_create_table
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_drop
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_before_binlog
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_after_binlog
+t1.MYD
+t1.MYI
+t1.frm
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+crash point: ddl_log_create_log_complete
+"No crash!"
+t1.MYD
+t1.MYI
+t1.frm
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 LIKE const_table
+query: CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_before_create_frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: storage_engine_middle_of_create
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_before_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_drop
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_before_binlog
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_prepare_eof
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_after_binlog
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+crash point: ddl_log_create_log_complete
+"No crash!"
+t2.MYD
+t2.MYI
+t2.frm
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 LIKE const_table
+query: CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_before_create_frm
+t2.frm
+t2.ibd
+crash point: storage_engine_middle_of_create
+"No crash!"
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_before_create_table
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_create_table
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_drop
+"No crash!"
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 SELECT * from t2
+crash point: ddl_log_create_before_binlog
+t2.frm
+t2.ibd
+crash point: ddl_log_create_after_prepare_eof
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 SELECT * from t2
+master-bin.000002 # Query # # DROP TABLE IF EXISTS `test`.`t1` /* generated by ddl recovery */
+crash point: ddl_log_create_after_binlog
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 SELECT * from t2
+master-bin.000002 # Query # # DROP TABLE IF EXISTS `test`.`t1` /* generated by ddl recovery */
+crash point: ddl_log_create_log_complete
+t1.frm
+t1.ibd
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 SELECT * from t2
+query: CREATE OR REPLACE TABLE t2 SELECT * from const_table
+crash point: ddl_log_create_before_create_frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: storage_engine_middle_of_create
+"No crash!"
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 SELECT * from const_table
+crash point: ddl_log_create_before_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_create_table
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_drop
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_before_binlog
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_prepare_eof
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 SELECT * from const_table
+master-bin.000002 # Query # # DROP TABLE IF EXISTS `test`.`t2` /* generated by ddl recovery */
+crash point: ddl_log_create_after_binlog
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 SELECT * from const_table
+master-bin.000002 # Query # # DROP TABLE IF EXISTS `test`.`t2` /* generated by ddl recovery */
+crash point: ddl_log_create_log_complete
+t2.frm
+t2.ibd
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE TABLE t2 SELECT * from const_table
+Warnings:
+Note 1051 Unknown table 'test.t1,test.t2'
diff --git a/mysql-test/suite/atomic/create_table.test b/mysql-test/suite/atomic/create_table.test
new file mode 100644
index 00000000000..ff53a12ebab
--- /dev/null
+++ b/mysql-test/suite/atomic/create_table.test
@@ -0,0 +1,140 @@
+--source include/have_debug.inc
+--source include/have_sequence.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic create table with crashes in a lot of different places
+#
+# We test both statement based logging and row logging as CREATE ... SELECT
+# works a bit differently depending on the logging format
+# First engine will use row logging and second engine will use statement
+# based logging
+#
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+--enable_query_log
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+if ($engine_count == "")
+{
+ let $engine_count=2;
+ let $engines='myisam','innodb';
+}
+
+let $crash_count=9;
+let $crash_points='ddl_log_create_before_create_frm', 'storage_engine_middle_of_create', 'ddl_log_create_before_create_table', 'ddl_log_create_after_create_table', 'ddl_log_create_after_drop', 'ddl_log_create_before_binlog', 'ddl_log_create_after_prepare_eof', 'ddl_log_create_after_binlog', 'ddl_log_create_log_complete';
+
+let $statement_count=6;
+let $statements='CREATE TABLE t1 (a int)',
+ 'CREATE OR REPLACE TABLE t2 (a int)',
+ 'CREATE TABLE t1 LIKE const_table',
+ 'CREATE OR REPLACE TABLE t2 LIKE const_table',
+ 'CREATE TABLE t1 SELECT * from t2',
+ 'CREATE OR REPLACE TABLE t2 SELECT * from const_table';
+
+create table const_table (a int, b int) engine=myisam;
+insert into const_table values (1,1),(2,2);
+flush tables;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=CREATE|DROP;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+ --echo engine: $engine
+
+ let $r=0;
+ while ($r < $statement_count)
+ {
+ inc $r;
+ let $statement=`select ELT($r, $statements)`;
+ --echo query: $statement
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+
+ --eval set @@default_storage_engine=$default_engine
+ create or replace table t2 select * from seq_1_to_2;
+ flush tables;
+
+ if ($e == 1)
+ {
+ --source include/set_binlog_format_row.sql
+ }
+ if ($e == 2)
+ {
+ --source include/set_binlog_format_statement.sql
+ }
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ --echo crash point: $crash
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=1
+ let $errno=0;
+ --error 0,2013
+ --eval $statement;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test t*
+ --list_files $MYSQLD_DATADIR/test *sql*
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Drop the tables. The warnings will show what was dropped
+ --disable_warnings
+ drop table if exists t1,t2;
+ --enable_warnings
+ }
+ }
+}
+drop table if exists t1,t2,const_table;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/create_trigger.result b/mysql-test/suite/atomic/create_trigger.result
new file mode 100644
index 00000000000..20b6c76520c
--- /dev/null
+++ b/mysql-test/suite/atomic/create_trigger.result
@@ -0,0 +1,324 @@
+RESET MASTER;
+"engine: aria crash point: ddl_log_create_before_create_trigger position: 1"
+"engine: aria crash point: ddl_log_create_before_create_trigger position: 2"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+"engine: aria crash point: ddl_log_create_before_create_trigger position: 3"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+"engine: aria crash point: ddl_log_create_after_create_trigger position: 1"
+"engine: aria crash point: ddl_log_create_after_create_trigger position: 2"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+"engine: aria crash point: ddl_log_create_after_create_trigger position: 3"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+"engine: aria crash point: definition_file_after_create position: 1"
+"engine: aria crash point: definition_file_after_create position: 2"
+"engine: aria crash point: definition_file_after_create position: 3"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+"engine: aria crash point: ddl_log_drop_before_binlog position: 2"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_before_binlog position: 3"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_after_binlog position: 1"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_after_binlog position: 2"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_after_binlog position: 3"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 3000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 3000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_before_delete_tmp position: 1"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_before_delete_tmp position: 2"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+"engine: aria crash point: ddl_log_drop_before_delete_tmp position: 3"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 3000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 3000;
+end if;
+end
diff --git a/mysql-test/suite/atomic/create_trigger.test b/mysql-test/suite/atomic/create_trigger.test
new file mode 100644
index 00000000000..09b00f99efe
--- /dev/null
+++ b/mysql-test/suite/atomic/create_trigger.test
@@ -0,0 +1,137 @@
+--source include/have_debug.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+
+#
+# Testing of atomic CREATE TRIGGER with crashes in a lot of different places
+#
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=1;
+let $engines='aria';
+
+let $crash_count=6;
+let $crash_points='ddl_log_create_before_create_trigger', 'ddl_log_create_after_create_trigger', 'definition_file_after_create', 'ddl_log_drop_before_binlog', 'ddl_log_drop_after_binlog','ddl_log_drop_before_delete_tmp';
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=CREATE.*TRIGGER;
+let $drops=3;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null, b int not null) $extra_option;
+ insert into t1 values(1,1);
+ flush tables;
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $drops)
+ {
+ inc $r;
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ delimiter |;
+ --error 0,2013
+ CREATE TRIGGER t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ delimiter ;|
+ let $error=$errno;
+ if ($error == 0)
+ {
+ delimiter |;
+ --error 0,2013
+ CREATE OR REPLACE TRIGGER t2_trg before insert on t1 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ delimiter ;|
+ let $error=$errno;
+ }
+ if ($error == 0)
+ {
+ delimiter |;
+ --error 0,2013
+ CREATE OR REPLACE TRIGGER t2_trg before insert on t1 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 3000;
+ end if;
+ end|
+ delimiter ;|
+ let $error=$errno;
+ }
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test *TR*
+ --list_files $MYSQLD_DATADIR/test *sql*
+
+ --replace_column 7 #
+ --error 0,ER_TRG_DOES_NOT_EXIST
+ SHOW CREATE TRIGGER t1_trg;
+ --replace_column 7 #
+ --error 0,ER_TRG_DOES_NOT_EXIST
+ SHOW CREATE TRIGGER t2_trg;
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ --disable_warnings
+ drop trigger if exists t1_trg;
+ drop trigger if exists t2_trg;
+ --enable_warnings
+ }
+ }
+}
+
+drop table t1;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/create_trigger2.result b/mysql-test/suite/atomic/create_trigger2.result
new file mode 100644
index 00000000000..d239ac3b839
--- /dev/null
+++ b/mysql-test/suite/atomic/create_trigger2.result
@@ -0,0 +1,94 @@
+"position: 1"
+"position: 2"
+"position: 3"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+"position: 4"
+t1.TRG
+t1_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+"position: 5"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+"position: 6"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+"position: 7"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+"position: 8"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t1_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
+t2_trg STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` trigger t2_trg before insert on t1 for each row
+begin
+if isnull(new.b) then
+set new.b:= 3000;
+end if;
+end latin1 latin1_swedish_ci latin1_swedish_ci #
diff --git a/mysql-test/suite/atomic/create_trigger2.test b/mysql-test/suite/atomic/create_trigger2.test
new file mode 100644
index 00000000000..b694207bbfc
--- /dev/null
+++ b/mysql-test/suite/atomic/create_trigger2.test
@@ -0,0 +1,89 @@
+--source include/have_debug.inc
+
+#
+# Testing of atomic CREATE TRIGGER when write fails in create_definition_file
+#
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=1;
+let $engines='aria';
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+--disable_query_log
+
+create table t1 (a int not null, b int not null);
+insert into t1 values(1,1);
+flush tables;
+
+# sql_create_definition_file is called twice per CREATE TRIGGER and 1 more
+# in case we drop an existing trigger, so we need to test 3*2 +1 failures
+# and also when there is no failures (= 8)
+let $try_count=8;
+
+let $r=0;
+while ($r < $try_count)
+{
+ inc $r;
+
+ echo "position: $r";
+ --eval set @@debug_dbug="+d,definition_file_simulate_write_error",@debug_error_counter=$r;
+ let $errno=0;
+ delimiter |;
+ --error 0,3
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ delimiter ;|
+ let $error=$errno;
+ if ($error == 0)
+ {
+ delimiter |;
+ --error 0,3
+ create or replace trigger t2_trg before insert on t1 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ delimiter ;|
+ let $error=$errno;
+ }
+ if ($error == 0)
+ {
+ delimiter |;
+ --error 0,3
+ create or replace trigger t2_trg before insert on t1 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 3000;
+ end if;
+ end|
+ delimiter ;|
+ let $error=$errno;
+ }
+ --eval set @@debug_dbug="$old_debug"
+
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test *TR*
+ --list_files $MYSQLD_DATADIR/test *sql*
+
+ --replace_column 7 #
+ --error 0,ER_TRG_DOES_NOT_EXIST
+ SHOW CREATE TRIGGER t1_trg;
+ --replace_column 7 #
+ --error 0,ER_TRG_DOES_NOT_EXIST
+ SHOW CREATE TRIGGER t2_trg;
+ --disable_warnings
+ drop trigger if exists t1_trg;
+ drop trigger if exists t2_trg;
+ --enable_warnings
+}
+
+drop table t1;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/create_view.result b/mysql-test/suite/atomic/create_view.result
new file mode 100644
index 00000000000..3c38a6516e2
--- /dev/null
+++ b/mysql-test/suite/atomic/create_view.result
@@ -0,0 +1,82 @@
+query: CREATE VIEW t1 as select "new"
+crash point: ddl_log_create_before_copy_view
+t2.frm
+old
+old
+crash point: ddl_log_create_before_create_view
+t2.frm
+old
+old
+crash point: definition_file_after_create
+t2.frm
+old
+old
+crash point: ddl_log_create_after_create_view
+t2.frm
+old
+old
+crash point: ddl_log_create_before_binlog
+t2.frm
+old
+old
+crash point: ddl_log_create_after_binlog
+t1.frm
+t2.frm
+old
+old
+master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `t1` AS select "new"
+query: CREATE OR REPLACE VIEW t1 as select "new"
+crash point: ddl_log_create_before_copy_view
+t2.frm
+old
+old
+crash point: ddl_log_create_before_create_view
+t2.frm
+old
+old
+crash point: definition_file_after_create
+t2.frm
+old
+old
+crash point: ddl_log_create_after_create_view
+t2.frm
+old
+old
+crash point: ddl_log_create_before_binlog
+t2.frm
+old
+old
+crash point: ddl_log_create_after_binlog
+t1.frm
+t2.frm
+old
+old
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `t1` AS select "new"
+query: CREATE OR REPLACE VIEW t2 as select "new"
+crash point: ddl_log_create_before_copy_view
+t2.frm
+old
+old
+crash point: ddl_log_create_before_create_view
+t2.frm
+old
+old
+crash point: definition_file_after_create
+t2.frm
+old
+old
+crash point: ddl_log_create_after_create_view
+t2.frm
+old
+old
+crash point: ddl_log_create_before_binlog
+t2.frm
+old
+old
+crash point: ddl_log_create_after_binlog
+t2.frm
+new
+new
+master-bin.000001 # Query # # use `test`; CREATE OR REPLACE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `t2` AS select "new"
+Warnings:
+Note 4092 Unknown VIEW: 'test.t1,test.t2'
diff --git a/mysql-test/suite/atomic/create_view.test b/mysql-test/suite/atomic/create_view.test
new file mode 100644
index 00000000000..bb7259cd02d
--- /dev/null
+++ b/mysql-test/suite/atomic/create_view.test
@@ -0,0 +1,98 @@
+--source include/have_debug.inc
+--source include/have_sequence.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic create view with crashes in a lot of different places
+
+--disable_query_log
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+--enable_query_log
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $crash_count=6;
+let $crash_points='ddl_log_create_before_copy_view', 'ddl_log_create_before_create_view', 'definition_file_after_create','ddl_log_create_after_create_view', 'ddl_log_create_before_binlog', 'ddl_log_create_after_binlog';
+
+let $statement_count=3;
+let $statements='CREATE VIEW t1 as select "new"',
+ 'CREATE OR REPLACE VIEW t1 as select "new"',
+ 'CREATE OR REPLACE VIEW t2 as select "new"';
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=CREATE|DROP;
+--disable_query_log
+
+while ($e < 1)
+{
+ inc $e;
+
+ let $r=0;
+ while ($r < $statement_count)
+ {
+ inc $r;
+
+ let $statement=`select ELT($r, $statements)`;
+ --echo query: $statement
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+
+ create view t2 as select "old";
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ --echo crash point: $crash
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=1
+ let $errno=0;
+ --error 0,2013
+ --eval $statement;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test t*
+ --list_files $MYSQLD_DATADIR/test *sql*
+ select * from t2;
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.00c0002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Drop the tables. The warnings will show what was dropped
+ --disable_warnings
+ drop view if exists t1,t2;
+ --enable_warnings
+ }
+ }
+}
+drop view if exists t1,t2;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/drop_db.result b/mysql-test/suite/atomic/drop_db.result
new file mode 100644
index 00000000000..775f02ec62a
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_db.result
@@ -0,0 +1,96 @@
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+RESET MASTER;
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 1"
+t1v.frm
+t2.MAD
+t2.MAI
+t2.frm
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 2"
+t1v.frm
+t2.MAD
+t2.MAI
+t2.frm
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `t1v` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 3"
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `t1v` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_tables position: 1"
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `t1v` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_ha_drop_database position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_db_routines position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_db_routines position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_option_file position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_dir position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_dir position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # DROP DATABASE test2
+"engine: innodb crash point: ddl_log_drop_before_delete_table position: 1"
+t1v.frm
+t2.frm
+t2.ibd
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_delete_table position: 2"
+t1v.frm
+t2.frm
+t2.ibd
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `t1v` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_delete_table position: 3"
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `t1v` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_drop_tables position: 1"
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+foo STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`()
+insert into test.t1 values (42) latin1 latin1_swedish_ci latin1_swedish_ci
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `t1v` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_ha_drop_database position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_db_routines position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_drop_db_routines position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_option_file position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_dir position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_drop_dir position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # DROP DATABASE test2
+Warnings:
+Note 1008 Can't drop database 'test2'; database doesn't exist
diff --git a/mysql-test/suite/atomic/drop_db.test b/mysql-test/suite/atomic/drop_db.test
new file mode 100644
index 00000000000..0080ac5e97d
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_db.test
@@ -0,0 +1,121 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic DROP DATABASE with crashes in a lot of different places
+#
+
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=2;
+let $engines='aria','innodb';
+
+let $crash_count=10;
+let $crash_points='ddl_log_drop_before_delete_table','ddl_log_drop_after_drop_tables','ddl_log_drop_before_ha_drop_database','ddl_log_drop_before_drop_db_routines','ddl_log_drop_after_drop_db_routines','ddl_log_drop_before_drop_option_file','ddl_log_drop_before_drop_dir','ddl_log_drop_after_drop_dir','ddl_log_drop_before_binlog','ddl_log_drop_after_binlog';
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=DROP;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ # Number of tables that should be dropped (we try to crash after each drop)
+ let $drops=3;
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $drops)
+ {
+ inc $r;
+ create database test2;
+ use test2;
+ --eval set @@default_storage_engine=$default_engine;
+ --eval create table t1 (a int not null) $extra_option;
+ create view t1v as select * from t1;
+ --eval create table t2 (b int not null) $extra_option;
+ create procedure foo()
+ insert into test.t1 values (42);
+
+ flush tables;
+ use test;
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ DROP DATABASE test2;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ use test;
+ # Check which tables still exists
+ --error 0,1
+ --list_files $MYSQLD_DATADIR/test2 t*
+ --error 0,ER_SP_DOES_NOT_EXIST
+ show create procedure test2.foo;
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Really drop the tables. The warnings will show what was dropped
+ --disable_warnings
+ --error 0, ER_DB_DROP_EXISTS
+ DROP DATABASE test2;
+ --enable_warnings
+ }
+ # We only need to test drops for all tables for the first crash point
+ let $drops=1;
+ }
+}
+drop database if exists test2;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/drop_db_long_names.opt b/mysql-test/suite/atomic/drop_db_long_names.opt
new file mode 100644
index 00000000000..968c8f1a56a
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_db_long_names.opt
@@ -0,0 +1 @@
+--max-allowed-packet=1024 --net-buffer-length=1024
diff --git a/mysql-test/suite/atomic/drop_db_long_names.result b/mysql-test/suite/atomic/drop_db_long_names.result
new file mode 100644
index 00000000000..e1d177ab447
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_db_long_names.result
@@ -0,0 +1,12 @@
+RESET MASTER;
+"engine: aria crash point: ddl_log_drop_after_drop_tables position: 1"
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `tABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB`,`tACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC`,`tADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`,`tAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE`,`tAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF`,`tAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG`,`tAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH`,`tAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII`,`tAJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ`,`tAKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK`,`tALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `tABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv`,`tACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCv`,`tADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv`,`tAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEv`,`tAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFv`,`tAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGv`,`tAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHv`,`tAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIv`,`tAJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJv`,`tAKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKv` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `tAMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM`,`tANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`,`tAOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO`,`tAPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP`,`tAQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ`,`tARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR`,`tASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS`,`tATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT`,`tAUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU`,`tAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV`,`tAWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `tALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLv`,`tAMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMv`,`tANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNv`,`tAOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOv`,`tAPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPv`,`tAQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQv`,`tARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRv`,`tASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSv`,`tATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTv`,`tAUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUv`,`tAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVv` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP TABLE IF EXISTS `tAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,`tAYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY`,`tAZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ`,`tBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`,`tBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB`,`tBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC`,`tBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`,`tBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE` /* generated by ddl recovery */
+master-bin.000002 # Query # # use `test2`; DROP VIEW IF EXISTS `tAWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWv`,`tAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXv`,`tAYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYv`,`tAZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZv`,`tBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv`,`tBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv`,`tBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCv`,`tBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDv`,`tBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEv` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # DROP DATABASE IF EXISTS `test2` /* generated by ddl recovery */
+Warnings:
+Note 1008 Can't drop database 'test2'; database doesn't exist
diff --git a/mysql-test/suite/atomic/drop_db_long_names.test b/mysql-test/suite/atomic/drop_db_long_names.test
new file mode 100644
index 00000000000..af582afc4e0
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_db_long_names.test
@@ -0,0 +1,117 @@
+--source include/have_debug.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+
+#
+# Testing of atomic DROP DATABASE when the generated query could be too long
+#
+
+let $engine_count=1;
+let $engines='aria';
+
+let $crash_count=2;
+let $crash_points='ddl_log_drop_after_drop_tables','ddl_log_drop_before_binlog';
+
+let $max_tables=30;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $keep_include_silent=1;
+let $grep_script=DROP;
+--disable_query_log
+
+let $e=0;
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < 1)
+ {
+ inc $r;
+ create database test2;
+ use test2;
+ --eval set @@default_storage_engine=$default_engine
+ let $t=0;
+ while ($t < $max_tables)
+ {
+ inc $t;
+ let $name=`select concat("t",char(floor(65+$t/26)),repeat(char(65+mod($t,26)),60))`;
+ let $view=`select concat("t",char(floor(65+$t/26)),repeat(char(65+mod($t,26)),30),'v')`;
+ --eval create table $name (a int not null) $extra_option
+ --eval create view $view as select * from $name
+ }
+
+ flush tables;
+ use test;
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ DROP DATABASE test2;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ use test;
+ # Check which tables still exists
+ --error 0,1
+ --list_files $MYSQLD_DATADIR/test2 t*
+ --error 0,ER_SP_DOES_NOT_EXIST
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Really drop the tables. The warnings will show what was dropped
+ --disable_warnings
+ --error 0, ER_DB_DROP_EXISTS
+ DROP DATABASE test2;
+ --enable_warnings
+ }
+ }
+}
+drop database if exists test2;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/drop_sequence.result b/mysql-test/suite/atomic/drop_sequence.result
new file mode 100644
index 00000000000..709b049bebf
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_sequence.result
@@ -0,0 +1,106 @@
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+RESET MASTER;
+create database test2;
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 1"
+ts.MAD
+ts.MAI
+ts.frm
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 2"
+ts.MAD
+ts.MAI
+ts.frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 3"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2`,`ts` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_table position: 1"
+ts.MAD
+ts.MAI
+ts.frm
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_table position: 2"
+ts.MAD
+ts.MAI
+ts.frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_table position: 3"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2`,`ts` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 1"
+ts.MAD
+ts.MAI
+ts.frm
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 2"
+ts.MAD
+ts.MAI
+ts.frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 3"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2`,`ts` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger2 position: 1"
+ts.MAD
+ts.MAI
+ts.frm
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger2 position: 2"
+ts.MAD
+ts.MAI
+ts.frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger2 position: 3"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2`,`ts` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 1"
+ts.MAD
+ts.MAI
+ts.frm
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 2"
+ts.MAD
+ts.MAI
+ts.frm
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 3"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2`,`ts` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`test2`.`t2`,`ts` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`test2`.`t2`,`ts` /* generated by server */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 3"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`test2`.`t2`,`ts` /* generated by server */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`test2`.`t2`,`ts` /* generated by server */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`test2`.`t2`,`ts` /* generated by server */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 3"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`test2`.`t2`,`ts` /* generated by server */
+Warnings:
+Note 1051 Unknown table 'test.t1,test2.t2,test.ts'
diff --git a/mysql-test/suite/atomic/drop_sequence.test b/mysql-test/suite/atomic/drop_sequence.test
new file mode 100644
index 00000000000..e3b707e8891
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_sequence.test
@@ -0,0 +1,128 @@
+--source include/have_debug.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic drop with crashes in a lot of different places
+# We also test having the tables in different databases
+#
+
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+create database test2;
+
+let $engine_count=1;
+let $engines='aria';
+
+let $crash_count=7;
+let $crash_points='ddl_log_drop_before_delete_table', 'ddl_log_drop_after_delete_table', 'ddl_log_drop_before_drop_trigger', 'ddl_log_drop_before_drop_trigger2', 'ddl_log_drop_after_drop_trigger', 'ddl_log_drop_before_binlog', 'ddl_log_drop_after_binlog';
+
+# Number of drops in the tested statement
+let $drops=3;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=DROP TABLE;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $drops)
+ {
+ inc $r;
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null) $extra_option;
+ --eval create table test2.t2 (b int not null) $extra_option;
+ create sequence ts;
+ insert into t1 values(1);
+ insert into test2.t2 values(2);
+ flush tables;
+
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ create trigger test2.t2_trg before insert on test2.t2 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ delimiter ;|
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ drop table t1,test2.t2,ts;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test t*
+ --list_files $MYSQLD_DATADIR/test2 t*
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Really drop the tables. The warnings will show what was dropped
+ --disable_warnings
+ drop table if exists t1,test2.t2,ts;
+ --enable_warnings
+ }
+ }
+}
+drop table if exists t1,test2.t2,ts;
+drop database test2;
+--enable_query_log
diff --git a/mysql-test/suite/atomic/drop_table.result b/mysql-test/suite/atomic/drop_table.result
new file mode 100644
index 00000000000..61ca91b2aa2
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_table.result
@@ -0,0 +1,274 @@
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+RESET MASTER;
+"engine: myisam crash point: ddl_log_drop_before_delete_table position: 1"
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_after_delete_table position: 1"
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_after_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_drop_trigger position: 1"
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_drop_trigger2 position: 1"
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_drop_trigger2 position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_after_drop_trigger position: 1"
+t2.MYD
+t2.MYI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_after_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: myisam crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: myisam crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: myisam crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_table position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger2 position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_drop_trigger2 position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: aria_notrans crash point: ddl_log_drop_before_delete_table position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_after_delete_table position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_after_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_drop_trigger position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_drop_trigger2 position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_drop_trigger2 position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_after_drop_trigger position: 1"
+t2.MAD
+t2.MAI
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_after_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: aria_notrans crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: aria_notrans crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: aria_notrans crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: innodb crash point: ddl_log_drop_before_delete_table position: 1"
+t2.TRG
+t2.frm
+t2.ibd
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_delete_table position: 1"
+t2.TRG
+t2.frm
+t2.ibd
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_trigger position: 1"
+t2.TRG
+t2.frm
+t2.ibd
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_trigger2 position: 1"
+t2.TRG
+t2.frm
+t2.ibd
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_drop_trigger2 position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_drop_trigger position: 1"
+t2.TRG
+t2.frm
+t2.ibd
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_after_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: innodb crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: innodb crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: innodb crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: csv crash point: ddl_log_drop_before_delete_table position: 1"
+t2.CSM
+t2.CSV
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_after_delete_table position: 1"
+t2.CSM
+t2.CSV
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_after_delete_table position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_drop_trigger position: 1"
+t2.CSM
+t2.CSV
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_drop_trigger2 position: 1"
+t2.CSM
+t2.CSV
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_drop_trigger2 position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_after_drop_trigger position: 1"
+t2.CSM
+t2.CSV
+t2.TRG
+t2.frm
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_after_drop_trigger position: 2"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP TABLE IF EXISTS `t1`,`t2` /* generated by ddl recovery */
+"engine: csv crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: csv crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+"engine: csv crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
+Warnings:
+Note 1051 Unknown table 'test.t1,test.t2'
diff --git a/mysql-test/suite/atomic/drop_table.test b/mysql-test/suite/atomic/drop_table.test
new file mode 100644
index 00000000000..a3635c76447
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_table.test
@@ -0,0 +1,125 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_csv.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic drop with crashes in a lot of different places
+#
+
+call mtr.add_suppression("InnoDB: .* does not exist in the InnoDB internal");
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=5;
+let $engines='myisam','aria','aria_notrans','innodb','csv';
+
+let $crash_count=7;
+let $crash_points='ddl_log_drop_before_delete_table', 'ddl_log_drop_after_delete_table', 'ddl_log_drop_before_drop_trigger', 'ddl_log_drop_before_drop_trigger2', 'ddl_log_drop_after_drop_trigger', 'ddl_log_drop_before_binlog', 'ddl_log_drop_after_binlog';
+
+# Number of drops in the tested statement
+let $drops=2;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=DROP TABLE;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $drops)
+ {
+ inc $r;
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null) $extra_option;
+ --eval create table t2 (b int not null) $extra_option;
+ insert into t1 values(1);
+ insert into t2 values(2);
+ flush tables;
+
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ create trigger t2_trg before insert on t2 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ delimiter ;|
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ drop table t1,t2;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test t*
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Really drop the tables. The warnings will show what was dropped
+ --disable_warnings
+ drop table if exists t1,t2;
+ --enable_warnings
+ }
+ }
+}
+drop table if exists t1,t2;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/drop_trigger.result b/mysql-test/suite/atomic/drop_trigger.result
new file mode 100644
index 00000000000..89d511f58d8
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_trigger.result
@@ -0,0 +1,50 @@
+RESET MASTER;
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 1"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+"engine: aria crash point: ddl_log_drop_before_drop_trigger position: 2"
+t1.TRG
+t2_trg.TRN
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+"engine: aria crash point: ddl_log_drop_before_drop_trn position: 1"
+t1.TRG
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TRIGGER t1_trg
+"engine: aria crash point: ddl_log_drop_before_drop_trn position: 2"
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+master-bin.000002 # Query # # use `test`; DROP TRIGGER t2_trg /* some comment */
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 1"
+t1.TRG
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TRIGGER t1_trg
+"engine: aria crash point: ddl_log_drop_after_drop_trigger position: 2"
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+master-bin.000002 # Query # # use `test`; DROP TRIGGER t2_trg /* some comment */
+"engine: aria crash point: definition_file_after_create position: 1"
+t1.TRG
+t1_trg.TRN
+t2_trg.TRN
+"engine: aria crash point: definition_file_after_create position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t2_trg /* some comment */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+t1.TRG
+t2_trg.TRN
+master-bin.000002 # Query # # use `test`; DROP TRIGGER t1_trg
+"engine: aria crash point: ddl_log_drop_before_binlog position: 2"
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+master-bin.000002 # Query # # use `test`; DROP TRIGGER t2_trg /* some comment */
+"engine: aria crash point: ddl_log_drop_after_binlog position: 1"
+t1.TRG
+t2_trg.TRN
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+"engine: aria crash point: ddl_log_drop_after_binlog position: 2"
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t1_trg
+master-bin.000001 # Query # # use `test`; DROP TRIGGER t2_trg /* some comment */
+
+# Test deleting not existing trigger
+#
+Warnings:
+Note 1360 Trigger does not exist
diff --git a/mysql-test/suite/atomic/drop_trigger.test b/mysql-test/suite/atomic/drop_trigger.test
new file mode 100644
index 00000000000..8ff4f3093f2
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_trigger.test
@@ -0,0 +1,132 @@
+--source include/have_debug.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic drop with crashes in a lot of different places
+#
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let long_comment=`select repeat('a',16384)`;
+let $engine_count=1;
+let $engines='aria';
+
+let $crash_count=6;
+let $crash_points='ddl_log_drop_before_drop_trigger', 'ddl_log_drop_before_drop_trn','ddl_log_drop_after_drop_trigger', 'definition_file_after_create', 'ddl_log_drop_before_binlog', 'ddl_log_drop_after_binlog';
+
+# Number of drops in the tested statement
+let $drops=2;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=DROP TRIGGER;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $drops)
+ {
+ inc $r;
+
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null, b int not null) $extra_option;
+ insert into t1 values(1,1);
+ flush tables;
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ create trigger t2_trg before insert on t1 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ delimiter ;|
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ let $crashed=1;
+ --error 0,2013
+ DROP TRIGGER t1_trg;
+ let $error=$errno;
+ if ($error == 0)
+ {
+ --error 0,2013
+ --eval DROP TRIGGER t2_trg /* $long_comment */;
+ let $error=$errno;
+ }
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test *TR*
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ --disable_warnings
+ drop table if exists t1;
+ --enable_warnings
+ }
+ let long_comment=some comment;
+ }
+}
+
+--echo
+--echo # Test deleting not existing trigger
+--echo #
+
+drop trigger if exists `t1_trg`;
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/drop_view.result b/mysql-test/suite/atomic/drop_view.result
new file mode 100644
index 00000000000..c5f850c65b3
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_view.result
@@ -0,0 +1,21 @@
+RESET MASTER;
+"engine: aria crash point: ddl_log_drop_before_delete_view position: 1"
+v2.frm
+master-bin.000002 # Query # # use `test`; DROP VIEW IF EXISTS `v1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_delete_view position: 2"
+master-bin.000002 # Query # # use `test`; DROP VIEW IF EXISTS `v1`,`v2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_view position: 1"
+v2.frm
+master-bin.000002 # Query # # use `test`; DROP VIEW IF EXISTS `v1` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_after_delete_view position: 2"
+master-bin.000002 # Query # # use `test`; DROP VIEW IF EXISTS `v1`,`v2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 1"
+master-bin.000002 # Query # # use `test`; DROP VIEW IF EXISTS `v1`,`v2` /* generated by ddl recovery */
+"engine: aria crash point: ddl_log_drop_before_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP VIEW v1,v2
+"engine: aria crash point: ddl_log_drop_after_binlog position: 1"
+master-bin.000001 # Query # # use `test`; DROP VIEW v1,v2
+"engine: aria crash point: ddl_log_drop_after_binlog position: 2"
+"No crash!"
+master-bin.000001 # Query # # use `test`; DROP VIEW v1,v2
diff --git a/mysql-test/suite/atomic/drop_view.test b/mysql-test/suite/atomic/drop_view.test
new file mode 100644
index 00000000000..e4c1daf9964
--- /dev/null
+++ b/mysql-test/suite/atomic/drop_view.test
@@ -0,0 +1,110 @@
+--source include/have_debug.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic drop of view with crashes in a lot of different places
+#
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+let $engine_count=1;
+let $engines='aria';
+
+let $crash_count=4;
+let $crash_points='ddl_log_drop_before_delete_view', 'ddl_log_drop_after_delete_view', 'ddl_log_drop_before_binlog', 'ddl_log_drop_after_binlog';
+
+# Number of drops in the tested statement
+let $drops=2;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+let $keep_include_silent=1;
+let $grep_script=DROP ;
+--disable_query_log
+
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null) $extra_option;
+ --eval create table t2 (b int not null) $extra_option;
+ insert into t1 values(1);
+ insert into t2 values(2);
+ flush tables;
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $drops)
+ {
+ inc $r;
+ create view v1 as select * from t1;
+ create view v2 as select * from t1;
+
+ FLUSH BINARY LOGS;
+ --let $start_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ echo "engine: $engine crash point: $crash position: $r";
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ DROP VIEW v1,v2;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ }
+ # Check which tables still exists
+ --list_files $MYSQLD_DATADIR/test v*
+
+ --let $binlog_file=$start_binlog_file
+ --let $binlog_output_name=master-bin.000001
+ --source include/show_binlog_events.inc
+ if ($error)
+ {
+ --let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ --let $binlog_output_name=master-bin.000002
+ if ($binlog_file != $start_binlog_file)
+ {
+ --source include/show_binlog_events.inc
+ }
+ }
+ # Really drop the views
+ --disable_warnings
+ drop view if exists v1,v2;
+ --enable_warnings
+ }
+ }
+ drop table t1,t2;
+}
+
+--enable_query_log
diff --git a/mysql-test/suite/atomic/rename_case.result b/mysql-test/suite/atomic/rename_case.result
new file mode 100644
index 00000000000..4b58c555cf2
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_case.result
@@ -0,0 +1,52 @@
+create database test2;
+#
+# Testing rename error in different places
+#
+create table t1 (a int);
+create table T2 (b int);
+create table t3 (c int);
+create table T4 (d int);
+insert into t1 values(1);
+insert into T2 values(2);
+insert into t3 values(3);
+insert into T4 values(4);
+create temporary table tmp1 (a int);
+create temporary table tmp2 (b int);
+create temporary table tmp3 (c int);
+create temporary table tmp4 (d int);
+insert into tmp1 values(11);
+insert into tmp2 values(22);
+insert into tmp3 values(33);
+insert into tmp4 values(44);
+rename table t3 to T4, t1 to t5, T2 to t1, t5 to T2;
+ERROR 42S01: Table 'T4' already exists
+rename table t1 to t5, t3 to T4, T2 to t1, t5 to T2;
+ERROR 42S01: Table 'T4' already exists
+rename table t1 to t5, T2 to t1, t3 to T4, t5 to T2;
+ERROR 42S01: Table 'T4' already exists
+rename table t1 to t5, T2 to t1, t5 to T2, t3 to T4;
+ERROR 42S01: Table 'T4' already exists
+# Try failed rename using two databases
+rename table test.t1 to test2.t5, test.T2 to test.t1, t5 to test.T2;
+ERROR 42S02: Table 'test.t5' doesn't exist
+select t1.a+T2.b+t3.c+T4.d from t1,T2,t3,T4;
+t1.a+T2.b+t3.c+T4.d
+10
+select * from t5;
+ERROR 42S02: Table 'test.t5' doesn't exist
+T2.MYD
+T2.MYI
+T2.frm
+T4.MYD
+T4.MYI
+T4.frm
+db.opt
+t1.MYD
+t1.MYI
+t1.frm
+t3.MYD
+t3.MYI
+t3.frm
+# Cleanup
+drop table t1,T2,t3,T4;
+drop database test2;
diff --git a/mysql-test/suite/atomic/rename_case.test b/mysql-test/suite/atomic/rename_case.test
new file mode 100644
index 00000000000..17151094ca2
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_case.test
@@ -0,0 +1,54 @@
+#
+# This tests tries to cover renames with tables in different cases to ensure
+# that lower case table names works
+#
+
+create database test2;
+let $mysqld_datadir= `select @@datadir`;
+
+--echo #
+--echo # Testing rename error in different places
+--echo #
+
+create table t1 (a int);
+create table T2 (b int);
+create table t3 (c int);
+create table T4 (d int);
+
+insert into t1 values(1);
+insert into T2 values(2);
+insert into t3 values(3);
+insert into T4 values(4);
+
+create temporary table tmp1 (a int);
+create temporary table tmp2 (b int);
+create temporary table tmp3 (c int);
+create temporary table tmp4 (d int);
+
+insert into tmp1 values(11);
+insert into tmp2 values(22);
+insert into tmp3 values(33);
+insert into tmp4 values(44);
+
+--error ER_TABLE_EXISTS_ERROR
+rename table t3 to T4, t1 to t5, T2 to t1, t5 to T2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t3 to T4, T2 to t1, t5 to T2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, T2 to t1, t3 to T4, t5 to T2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, T2 to t1, t5 to T2, t3 to T4;
+
+--echo # Try failed rename using two databases
+--error ER_NO_SUCH_TABLE
+rename table test.t1 to test2.t5, test.T2 to test.t1, t5 to test.T2;
+
+select t1.a+T2.b+t3.c+T4.d from t1,T2,t3,T4;
+--error ER_NO_SUCH_TABLE
+select * from t5;
+
+--list_files $mysqld_datadir/test
+
+--echo # Cleanup
+drop table t1,T2,t3,T4;
+drop database test2;
diff --git a/mysql-test/suite/atomic/rename_combinations.result b/mysql-test/suite/atomic/rename_combinations.result
new file mode 100644
index 00000000000..c7536ae8c7e
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_combinations.result
@@ -0,0 +1,157 @@
+create database test2;
+#
+# Testing rename error in different places
+#
+create table t1 (a int);
+create table t2 (b int);
+create table t3 (c int);
+create table t4 (d int);
+insert into t1 values(1);
+insert into t2 values(2);
+insert into t3 values(3);
+insert into t4 values(4);
+create temporary table tmp1 (a int);
+create temporary table tmp2 (b int);
+create temporary table tmp3 (c int);
+create temporary table tmp4 (d int);
+insert into tmp1 values(11);
+insert into tmp2 values(22);
+insert into tmp3 values(33);
+insert into tmp4 values(44);
+rename table t3 to t4, t1 to t5, t2 to t1, t5 to t2;
+ERROR 42S01: Table 't4' already exists
+rename table t1 to t5, t3 to t4, t2 to t1, t5 to t2;
+ERROR 42S01: Table 't4' already exists
+rename table t1 to t5, t2 to t1, t3 to t4, t5 to t2;
+ERROR 42S01: Table 't4' already exists
+rename table t1 to t5, t2 to t1, t5 to t2, t3 to t4;
+ERROR 42S01: Table 't4' already exists
+# Try failed rename using two databases
+rename table test.t1 to test2.t5, test.t2 to test.t1, t5 to test.t2;
+ERROR 42S02: Table 'test.t5' doesn't exist
+select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4;
+t1.a+t2.b+t3.c+t4.d
+10
+select * from t5;
+ERROR 42S02: Table 'test.t5' doesn't exist
+#
+# Testing rename error in different places with temporary tables
+#
+rename table tmp3 to tmp4, tmp1 to t5, tmp2 to tmp1, t5 to tmp1;
+ERROR 42S01: Table 'tmp4' already exists
+rename table tmp1 to t5, tmp3 to tmp4, tmp2 to tmp1, t5 to tmp1;
+ERROR 42S01: Table 'tmp4' already exists
+rename table tmp1 to t5, tmp2 to tmp1, tmp3 to tmp4, t5 to tmp1;
+ERROR 42S01: Table 'tmp4' already exists
+rename table tmp1 to t5, tmp2 to tmp1, t5 to tmp1, tmp3 to tmp4;
+ERROR 42S01: Table 'tmp1' already exists
+select tmp1.a+tmp2.b+tmp3.c+tmp4.d from tmp1,tmp2,tmp3,tmp4;
+tmp1.a+tmp2.b+tmp3.c+tmp4.d
+110
+select * from t5;
+ERROR 42S02: Table 'test.t5' doesn't exist
+#
+# Testing combinations of rename normal and temporary tables
+#
+rename table t1 to t5, t2 to t1, t5 to t2, tmp3 to tmp4, tmp1 to t5, tmp2 to tmp1, t5 to tmp1;
+ERROR 42S01: Table 'tmp4' already exists
+rename table t1 to t5, t2 to t1, t5 to t2, tmp1 to t5, tmp3 to tmp4, tmp2 to tmp1, t5 to tmp1;
+ERROR 42S01: Table 'tmp4' already exists
+rename table t1 to t5, t2 to t1, t5 to t2, tmp1 to t5, tmp2 to tmp1, tmp3 to tmp4, t5 to tmp1;
+ERROR 42S01: Table 'tmp4' already exists
+rename table t1 to t5, t2 to t1, t5 to t2, tmp1 to t5, tmp2 to tmp1, t5 to tmp1, t3 to t4;
+ERROR 42S01: Table 'tmp1' already exists
+rename table t1 to t5, tmp2 to tmp5, t2 to t1, tmp2 to tmp1, t5 to t2, tmp5 to tmp1, t8 to t9;
+ERROR 42S02: Table 'test.tmp2' doesn't exist
+select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4;
+t1.a+t2.b+t3.c+t4.d
+10
+select tmp1.a+tmp2.b+tmp3.c+tmp4.d from tmp1,tmp2,tmp3,tmp4;
+tmp1.a+tmp2.b+tmp3.c+tmp4.d
+110
+drop table tmp1,tmp2,tmp3,tmp4;
+#
+# Similar tests with triggers
+#
+create trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 10;
+end if;
+end|
+create trigger t2_trg before insert on t2 for each row
+begin
+if isnull(new.b) then
+set new.b:= 100;
+end if;
+end|
+create trigger t3_trg before insert on t3 for each row
+begin
+if isnull(new.c) then
+set new.c:= 1000;
+end if;
+end|
+rename table t3 to t4, t1 to t5, t2 to t1, t5 to t2;
+ERROR 42S01: Table 't4' already exists
+rename table t1 to t5, t3 to t4, t2 to t1, t5 to t2;
+ERROR 42S01: Table 't4' already exists
+rename table t1 to t5, t2 to t1, t3 to t4, t5 to t2;
+ERROR 42S01: Table 't4' already exists
+rename table t1 to t5, t2 to t1, t5 to t2, t3 to t4;
+ERROR 42S01: Table 't4' already exists
+# Test of move table between databases
+rename table t4 to test2.t5, t2 to t4, test2.t5 to t2, t1 to test2.t6;
+ERROR HY000: Trigger in wrong schema
+show triggers;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+t1_trg INSERT t1 begin
+if isnull(new.a) then
+set new.a:= 10;
+end if;
+end BEFORE # STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+t2_trg INSERT t2 begin
+if isnull(new.b) then
+set new.b:= 100;
+end if;
+end BEFORE # STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+t3_trg INSERT t3 begin
+if isnull(new.c) then
+set new.c:= 1000;
+end if;
+end BEFORE # STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4;
+t1.a+t2.b+t3.c+t4.d
+10
+insert into t1 values(null);
+insert into t2 values(null);
+insert into t3 values(null);
+select (select sum(t1.a) from t1)+ (select sum(t2.b) from t2) + (select sum(t3.c) from t3)+ (select sum(t4.d) from t4);
+(select sum(t1.a) from t1)+ (select sum(t2.b) from t2) + (select sum(t3.c) from t3)+ (select sum(t4.d) from t4)
+1120
+drop trigger t1_trg;
+drop trigger t2_trg;
+drop trigger t3_trg;
+#
+# Test with views
+#
+create view v1 as select * from t1;
+create view v2 as select * from t2;
+create view v3 as select * from t3;
+create view v4 as select * from t4;
+rename table v3 to v4, v1 to t5, v2 to v1, t5 to v2;
+ERROR 42S01: Table 'v4' already exists
+rename table v1 to t5, v3 to v4, v2 to v1, t5 to v2;
+ERROR 42S01: Table 'v4' already exists
+rename table v1 to t5, v2 to v1, v3 to v4, t5 to v2;
+ERROR 42S01: Table 'v4' already exists
+rename table v1 to t5, v2 to v1, t5 to v2, v3 to v4;
+ERROR 42S01: Table 'v4' already exists
+# Try failed rename using two databases
+rename table test.v1 to test.v5, test.v2 to test.v1, test.v3 to test2.v2, non_existing_view to another_non_existing_view;
+ERROR HY000: Changing schema from 'test' to 'test2' is not allowed
+select (select sum(v1.a) from v1)+ (select sum(v2.b) from v2) + (select sum(v3.c) from v3)+ (select sum(v4.d) from v4);
+(select sum(v1.a) from v1)+ (select sum(v2.b) from v2) + (select sum(v3.c) from v3)+ (select sum(v4.d) from v4)
+1120
+drop view v1,v2,v3,v4;
+drop table t1, t2, t3, t4;
+drop database test2;
diff --git a/mysql-test/suite/atomic/rename_combinations.test b/mysql-test/suite/atomic/rename_combinations.test
new file mode 100644
index 00000000000..b0b5074e56e
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_combinations.test
@@ -0,0 +1,171 @@
+#
+# This tests tries cover most of the recovery cases in
+# DDL_LOG_RENAME_TABLE_ACTION and do_rename()
+# This test does not intend to crash the server
+# It's a complement to main.rename
+#
+
+create database test2;
+
+--echo #
+--echo # Testing rename error in different places
+--echo #
+
+create table t1 (a int);
+create table t2 (b int);
+create table t3 (c int);
+create table t4 (d int);
+
+insert into t1 values(1);
+insert into t2 values(2);
+insert into t3 values(3);
+insert into t4 values(4);
+
+create temporary table tmp1 (a int);
+create temporary table tmp2 (b int);
+create temporary table tmp3 (c int);
+create temporary table tmp4 (d int);
+
+insert into tmp1 values(11);
+insert into tmp2 values(22);
+insert into tmp3 values(33);
+insert into tmp4 values(44);
+
+--error ER_TABLE_EXISTS_ERROR
+rename table t3 to t4, t1 to t5, t2 to t1, t5 to t2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t3 to t4, t2 to t1, t5 to t2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t3 to t4, t5 to t2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t5 to t2, t3 to t4;
+
+--echo # Try failed rename using two databases
+--error ER_NO_SUCH_TABLE
+rename table test.t1 to test2.t5, test.t2 to test.t1, t5 to test.t2;
+
+select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4;
+--error ER_NO_SUCH_TABLE
+select * from t5;
+
+--echo #
+--echo # Testing rename error in different places with temporary tables
+--echo #
+
+--error ER_TABLE_EXISTS_ERROR
+rename table tmp3 to tmp4, tmp1 to t5, tmp2 to tmp1, t5 to tmp1;
+--error ER_TABLE_EXISTS_ERROR
+rename table tmp1 to t5, tmp3 to tmp4, tmp2 to tmp1, t5 to tmp1;
+--error ER_TABLE_EXISTS_ERROR
+rename table tmp1 to t5, tmp2 to tmp1, tmp3 to tmp4, t5 to tmp1;
+--error ER_TABLE_EXISTS_ERROR
+rename table tmp1 to t5, tmp2 to tmp1, t5 to tmp1, tmp3 to tmp4;
+
+select tmp1.a+tmp2.b+tmp3.c+tmp4.d from tmp1,tmp2,tmp3,tmp4;
+--error ER_NO_SUCH_TABLE
+select * from t5;
+
+--echo #
+--echo # Testing combinations of rename normal and temporary tables
+--echo #
+
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t5 to t2, tmp3 to tmp4, tmp1 to t5, tmp2 to tmp1, t5 to tmp1;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t5 to t2, tmp1 to t5, tmp3 to tmp4, tmp2 to tmp1, t5 to tmp1;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t5 to t2, tmp1 to t5, tmp2 to tmp1, tmp3 to tmp4, t5 to tmp1;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t5 to t2, tmp1 to t5, tmp2 to tmp1, t5 to tmp1, t3 to t4;
+
+--error ER_NO_SUCH_TABLE
+rename table t1 to t5, tmp2 to tmp5, t2 to t1, tmp2 to tmp1, t5 to t2, tmp5 to tmp1, t8 to t9;
+
+select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4;
+select tmp1.a+tmp2.b+tmp3.c+tmp4.d from tmp1,tmp2,tmp3,tmp4;
+
+drop table tmp1,tmp2,tmp3,tmp4;
+
+--echo #
+--echo # Similar tests with triggers
+--echo #
+
+delimiter |;
+create trigger t1_trg before insert on t1 for each row
+begin
+ if isnull(new.a) then
+ set new.a:= 10;
+ end if;
+end|
+create trigger t2_trg before insert on t2 for each row
+begin
+ if isnull(new.b) then
+ set new.b:= 100;
+ end if;
+end|
+create trigger t3_trg before insert on t3 for each row
+begin
+ if isnull(new.c) then
+ set new.c:= 1000;
+ end if;
+end|
+
+delimiter ;|
+
+--error ER_TABLE_EXISTS_ERROR
+rename table t3 to t4, t1 to t5, t2 to t1, t5 to t2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t3 to t4, t2 to t1, t5 to t2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t3 to t4, t5 to t2;
+--error ER_TABLE_EXISTS_ERROR
+rename table t1 to t5, t2 to t1, t5 to t2, t3 to t4;
+
+--echo # Test of move table between databases
+--error ER_TRG_IN_WRONG_SCHEMA
+rename table t4 to test2.t5, t2 to t4, test2.t5 to t2, t1 to test2.t6;
+
+--replace_column 6 #
+show triggers;
+
+select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4;
+insert into t1 values(null);
+insert into t2 values(null);
+insert into t3 values(null);
+select (select sum(t1.a) from t1)+ (select sum(t2.b) from t2) + (select sum(t3.c) from t3)+ (select sum(t4.d) from t4);
+
+drop trigger t1_trg;
+drop trigger t2_trg;
+drop trigger t3_trg;
+
+--echo #
+--echo # Test with views
+--echo #
+
+create view v1 as select * from t1;
+create view v2 as select * from t2;
+create view v3 as select * from t3;
+create view v4 as select * from t4;
+
+--error ER_TABLE_EXISTS_ERROR
+rename table v3 to v4, v1 to t5, v2 to v1, t5 to v2;
+--error ER_TABLE_EXISTS_ERROR
+rename table v1 to t5, v3 to v4, v2 to v1, t5 to v2;
+--error ER_TABLE_EXISTS_ERROR
+rename table v1 to t5, v2 to v1, v3 to v4, t5 to v2;
+--error ER_TABLE_EXISTS_ERROR
+rename table v1 to t5, v2 to v1, t5 to v2, v3 to v4;
+
+--echo # Try failed rename using two databases
+--error ER_FORBID_SCHEMA_CHANGE
+rename table test.v1 to test.v5, test.v2 to test.v1, test.v3 to test2.v2, non_existing_view to another_non_existing_view;
+
+select (select sum(v1.a) from v1)+ (select sum(v2.b) from v2) + (select sum(v3.c) from v3)+ (select sum(v4.d) from v4);
+
+drop view v1,v2,v3,v4;
+
+#
+# Clean up
+#
+drop table t1, t2, t3, t4;
+drop database test2;
diff --git a/mysql-test/suite/atomic/rename_table.result b/mysql-test/suite/atomic/rename_table.result
new file mode 100644
index 00000000000..dc98cc816b2
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_table.result
@@ -0,0 +1,150 @@
+"engine: myisam crash point: definition_file_after_create position: 1"
+"engine: myisam crash point: definition_file_after_create position: 2"
+"engine: myisam crash point: definition_file_after_create position: 3"
+"engine: myisam crash point: definition_file_after_create position: 4"
+"engine: myisam crash point: definition_file_after_create position: 5"
+"engine: myisam crash point: ddl_log_rename_before_rename_table position: 1"
+"engine: myisam crash point: ddl_log_rename_before_rename_table position: 2"
+"engine: myisam crash point: ddl_log_rename_before_rename_table position: 3"
+"engine: myisam crash point: ddl_log_rename_before_rename_table position: 4"
+"engine: myisam crash point: ddl_log_rename_before_rename_table position: 5"
+"engine: myisam crash point: ddl_log_rename_before_phase_trigger position: 1"
+"engine: myisam crash point: ddl_log_rename_before_phase_trigger position: 2"
+"engine: myisam crash point: ddl_log_rename_before_phase_trigger position: 3"
+"engine: myisam crash point: ddl_log_rename_before_phase_trigger position: 4"
+"engine: myisam crash point: ddl_log_rename_before_phase_trigger position: 5"
+"engine: myisam crash point: ddl_log_rename_before_rename_trigger position: 1"
+"engine: myisam crash point: ddl_log_rename_before_rename_trigger position: 2"
+"engine: myisam crash point: ddl_log_rename_before_rename_trigger position: 3"
+"engine: myisam crash point: ddl_log_rename_before_rename_trigger position: 4"
+"engine: myisam crash point: ddl_log_rename_before_rename_trigger position: 5"
+"engine: myisam crash point: ddl_log_rename_before_stat_tables position: 1"
+"engine: myisam crash point: ddl_log_rename_before_stat_tables position: 2"
+"engine: myisam crash point: ddl_log_rename_before_stat_tables position: 3"
+"engine: myisam crash point: ddl_log_rename_before_stat_tables position: 4"
+"engine: myisam crash point: ddl_log_rename_before_stat_tables position: 5"
+"engine: myisam crash point: ddl_log_rename_after_stat_tables position: 1"
+"engine: myisam crash point: ddl_log_rename_after_stat_tables position: 2"
+"engine: myisam crash point: ddl_log_rename_after_stat_tables position: 3"
+"engine: myisam crash point: ddl_log_rename_after_stat_tables position: 4"
+"engine: myisam crash point: ddl_log_rename_after_stat_tables position: 5"
+"engine: aria crash point: definition_file_after_create position: 1"
+"engine: aria crash point: definition_file_after_create position: 2"
+"engine: aria crash point: definition_file_after_create position: 3"
+"engine: aria crash point: definition_file_after_create position: 4"
+"engine: aria crash point: definition_file_after_create position: 5"
+"engine: aria crash point: ddl_log_rename_before_rename_table position: 1"
+"engine: aria crash point: ddl_log_rename_before_rename_table position: 2"
+"engine: aria crash point: ddl_log_rename_before_rename_table position: 3"
+"engine: aria crash point: ddl_log_rename_before_rename_table position: 4"
+"engine: aria crash point: ddl_log_rename_before_rename_table position: 5"
+"engine: aria crash point: ddl_log_rename_before_phase_trigger position: 1"
+"engine: aria crash point: ddl_log_rename_before_phase_trigger position: 2"
+"engine: aria crash point: ddl_log_rename_before_phase_trigger position: 3"
+"engine: aria crash point: ddl_log_rename_before_phase_trigger position: 4"
+"engine: aria crash point: ddl_log_rename_before_phase_trigger position: 5"
+"engine: aria crash point: ddl_log_rename_before_rename_trigger position: 1"
+"engine: aria crash point: ddl_log_rename_before_rename_trigger position: 2"
+"engine: aria crash point: ddl_log_rename_before_rename_trigger position: 3"
+"engine: aria crash point: ddl_log_rename_before_rename_trigger position: 4"
+"engine: aria crash point: ddl_log_rename_before_rename_trigger position: 5"
+"engine: aria crash point: ddl_log_rename_before_stat_tables position: 1"
+"engine: aria crash point: ddl_log_rename_before_stat_tables position: 2"
+"engine: aria crash point: ddl_log_rename_before_stat_tables position: 3"
+"engine: aria crash point: ddl_log_rename_before_stat_tables position: 4"
+"engine: aria crash point: ddl_log_rename_before_stat_tables position: 5"
+"engine: aria crash point: ddl_log_rename_after_stat_tables position: 1"
+"engine: aria crash point: ddl_log_rename_after_stat_tables position: 2"
+"engine: aria crash point: ddl_log_rename_after_stat_tables position: 3"
+"engine: aria crash point: ddl_log_rename_after_stat_tables position: 4"
+"engine: aria crash point: ddl_log_rename_after_stat_tables position: 5"
+"engine: aria_notrans crash point: definition_file_after_create position: 1"
+"engine: aria_notrans crash point: definition_file_after_create position: 2"
+"engine: aria_notrans crash point: definition_file_after_create position: 3"
+"engine: aria_notrans crash point: definition_file_after_create position: 4"
+"engine: aria_notrans crash point: definition_file_after_create position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_table position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_table position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_table position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_table position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_table position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_before_phase_trigger position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_before_phase_trigger position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_before_phase_trigger position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_before_phase_trigger position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_before_phase_trigger position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_trigger position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_trigger position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_trigger position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_trigger position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_before_rename_trigger position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_before_stat_tables position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_before_stat_tables position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_before_stat_tables position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_before_stat_tables position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_before_stat_tables position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_after_stat_tables position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_after_stat_tables position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_after_stat_tables position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_after_stat_tables position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_after_stat_tables position: 5"
+"engine: innodb crash point: definition_file_after_create position: 1"
+"engine: innodb crash point: definition_file_after_create position: 2"
+"engine: innodb crash point: definition_file_after_create position: 3"
+"engine: innodb crash point: definition_file_after_create position: 4"
+"engine: innodb crash point: definition_file_after_create position: 5"
+"engine: innodb crash point: ddl_log_rename_before_rename_table position: 1"
+"engine: innodb crash point: ddl_log_rename_before_rename_table position: 2"
+"engine: innodb crash point: ddl_log_rename_before_rename_table position: 3"
+"engine: innodb crash point: ddl_log_rename_before_rename_table position: 4"
+"engine: innodb crash point: ddl_log_rename_before_rename_table position: 5"
+"engine: innodb crash point: ddl_log_rename_before_phase_trigger position: 1"
+"engine: innodb crash point: ddl_log_rename_before_phase_trigger position: 2"
+"engine: innodb crash point: ddl_log_rename_before_phase_trigger position: 3"
+"engine: innodb crash point: ddl_log_rename_before_phase_trigger position: 4"
+"engine: innodb crash point: ddl_log_rename_before_phase_trigger position: 5"
+"engine: innodb crash point: ddl_log_rename_before_rename_trigger position: 1"
+"engine: innodb crash point: ddl_log_rename_before_rename_trigger position: 2"
+"engine: innodb crash point: ddl_log_rename_before_rename_trigger position: 3"
+"engine: innodb crash point: ddl_log_rename_before_rename_trigger position: 4"
+"engine: innodb crash point: ddl_log_rename_before_rename_trigger position: 5"
+"engine: innodb crash point: ddl_log_rename_before_stat_tables position: 1"
+"engine: innodb crash point: ddl_log_rename_before_stat_tables position: 2"
+"engine: innodb crash point: ddl_log_rename_before_stat_tables position: 3"
+"engine: innodb crash point: ddl_log_rename_before_stat_tables position: 4"
+"engine: innodb crash point: ddl_log_rename_before_stat_tables position: 5"
+"engine: innodb crash point: ddl_log_rename_after_stat_tables position: 1"
+"engine: innodb crash point: ddl_log_rename_after_stat_tables position: 2"
+"engine: innodb crash point: ddl_log_rename_after_stat_tables position: 3"
+"engine: innodb crash point: ddl_log_rename_after_stat_tables position: 4"
+"engine: innodb crash point: ddl_log_rename_after_stat_tables position: 5"
+"engine: csv crash point: definition_file_after_create position: 1"
+"engine: csv crash point: definition_file_after_create position: 2"
+"engine: csv crash point: definition_file_after_create position: 3"
+"engine: csv crash point: definition_file_after_create position: 4"
+"engine: csv crash point: definition_file_after_create position: 5"
+"engine: csv crash point: ddl_log_rename_before_rename_table position: 1"
+"engine: csv crash point: ddl_log_rename_before_rename_table position: 2"
+"engine: csv crash point: ddl_log_rename_before_rename_table position: 3"
+"engine: csv crash point: ddl_log_rename_before_rename_table position: 4"
+"engine: csv crash point: ddl_log_rename_before_rename_table position: 5"
+"engine: csv crash point: ddl_log_rename_before_phase_trigger position: 1"
+"engine: csv crash point: ddl_log_rename_before_phase_trigger position: 2"
+"engine: csv crash point: ddl_log_rename_before_phase_trigger position: 3"
+"engine: csv crash point: ddl_log_rename_before_phase_trigger position: 4"
+"engine: csv crash point: ddl_log_rename_before_phase_trigger position: 5"
+"engine: csv crash point: ddl_log_rename_before_rename_trigger position: 1"
+"engine: csv crash point: ddl_log_rename_before_rename_trigger position: 2"
+"engine: csv crash point: ddl_log_rename_before_rename_trigger position: 3"
+"engine: csv crash point: ddl_log_rename_before_rename_trigger position: 4"
+"engine: csv crash point: ddl_log_rename_before_rename_trigger position: 5"
+"engine: csv crash point: ddl_log_rename_before_stat_tables position: 1"
+"engine: csv crash point: ddl_log_rename_before_stat_tables position: 2"
+"engine: csv crash point: ddl_log_rename_before_stat_tables position: 3"
+"engine: csv crash point: ddl_log_rename_before_stat_tables position: 4"
+"engine: csv crash point: ddl_log_rename_before_stat_tables position: 5"
+"engine: csv crash point: ddl_log_rename_after_stat_tables position: 1"
+"engine: csv crash point: ddl_log_rename_after_stat_tables position: 2"
+"engine: csv crash point: ddl_log_rename_after_stat_tables position: 3"
+"engine: csv crash point: ddl_log_rename_after_stat_tables position: 4"
+"engine: csv crash point: ddl_log_rename_after_stat_tables position: 5"
diff --git a/mysql-test/suite/atomic/rename_table.test b/mysql-test/suite/atomic/rename_table.test
new file mode 100644
index 00000000000..ee24d1f087f
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_table.test
@@ -0,0 +1,156 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_csv.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+
+#
+# Testing of atomic rename with forced crashes in a lot of different places
+#
+
+let $engine_count=5;
+let $engines='myisam','aria','aria_notrans','innodb','csv';
+
+let $crash_count=6;
+let $crash_points='definition_file_after_create','ddl_log_rename_before_rename_table','ddl_log_rename_before_phase_trigger','ddl_log_rename_before_rename_trigger','ddl_log_rename_before_stat_tables','ddl_log_rename_after_stat_tables';
+
+# Number of renames in the tested statement
+let $renames=5;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+--disable_query_log
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null) $extra_option;
+ --eval create table t2 (b int not null) $extra_option;
+ --eval create table t3 (c int not null) $extra_option;
+ --eval create table t4 (d int not null) $extra_option;
+ insert into t1 values(1);
+ insert into t2 values(2);
+ insert into t3 values(3);
+ insert into t4 values(4);
+
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ create trigger t2_trg before insert on t2 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ create trigger t3_trg before insert on t3 for each row
+ begin
+ if isnull(new.c) then
+ set new.c:= 4000;
+ end if;
+ end|
+ create trigger t4_trg before insert on t4 for each row
+ begin
+ if isnull(new.d) then
+ set new.d:= 8000;
+ end if;
+ end|
+ delimiter ;|
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $renames)
+ {
+ inc $r;
+ echo "engine: $engine crash point: $crash position: $r";
+ flush tables;
+
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ # No crash, rename things back
+ rename table t4 to t3, t5 to t4, t2 to t5, t1 to t2, t5 to t1;
+ }
+
+ # Ensure that the tables are back to original
+ let $res=`select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4`;
+ if ($res != 10)
+ {
+ die "Got result $res when 10 was expected";
+ }
+
+ # Ensure that triggers work
+ insert into t1 values(null);
+ insert into t2 values(null);
+ insert into t3 values(null);
+ insert into t4 values(null);
+ let $res=`select (select sum(t1.a) from t1)+ (select sum(t2.b) from t2) + (select sum(t3.c) from t3)+ (select sum(t4.d) from t4)`;
+ if ($res != 15010)
+ {
+ die "Got result $res when 15010 was expected";
+ }
+ # Restore tables
+ delete from t1 where a > 100;
+ delete from t2 where b > 100;
+ delete from t3 where c > 100;
+ delete from t4 where d > 100;
+ }
+ }
+
+ # Last test, check that rename really worked
+ rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4;
+ insert into t1 values(null);
+ insert into t2 values(null);
+ insert into t5 values(null);
+ insert into t4 values(null);
+ let $res=`select (select sum(t1.b) from t1)+ (select sum(t2.a) from t2) + (select sum(t4.c) from t4)+ (select sum(t5.d) from t5)`;
+ if ($res != 15010)
+ {
+ die "Got result $res when 15010 was expected";
+ }
+ let $res=`select (select count(*)=2 from t1) + (select count(*)=2 from t2) + (select count(*)=2 from t4)+ (select count(*)=2 from t5)`;
+ if ($res != 4)
+ {
+ die "Got result $res when 4 was expected";
+ }
+
+ drop table t1,t2,t4,t5;
+}
+--enable_query_log
diff --git a/mysql-test/suite/atomic/rename_table_binlog.result b/mysql-test/suite/atomic/rename_table_binlog.result
new file mode 100644
index 00000000000..9795b6ef06e
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_table_binlog.result
@@ -0,0 +1,147 @@
+RESET MASTER;
+"engine: myisam crash point: ddl_log_rename_before_binlog position: 1"
+"engine: myisam crash point: ddl_log_rename_after_binlog position: 1"
+"engine: aria crash point: ddl_log_rename_before_binlog position: 1"
+"engine: aria crash point: ddl_log_rename_after_binlog position: 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 # Query # # use `test`; insert into t1 values(null)
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; insert into t2 values(null)
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; insert into t3 values(null)
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; insert into t4 values(null)
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; delete from t1 where a > 100
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; delete from t2 where b > 100
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; delete from t3 where c > 100
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; delete from t4 where d > 100
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # GTID #-#-#
+master-bin.000002 # Query # # use `test`; flush tables
+master-bin.000002 # Gtid # # GTID #-#-#
+master-bin.000002 # Query # # use `test`; rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4
+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 # Query # # use `test`; insert into t1 values(null)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t2 values(null)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t5 values(null)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t4 values(null)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; DROP TABLE `t1`,`t2`,`t4`,`t5` /* generated by server */
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; create table t1 (a int not null) transactional=1
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; create table t2 (b int not null) transactional=1
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; create table t3 (c int not null) transactional=1
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; create table t4 (d int not null) transactional=1
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t1 values(1)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t2 values(2)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t3 values(3)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; insert into t4 values(4)
+master-bin.000003 # Query # # COMMIT
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` trigger t1_trg before insert on t1 for each row
+begin
+if isnull(new.a) then
+set new.a:= 1000;
+end if;
+end
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` trigger t2_trg before insert on t2 for each row
+begin
+if isnull(new.b) then
+set new.b:= 2000;
+end if;
+end
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` trigger t3_trg before insert on t3 for each row
+begin
+if isnull(new.c) then
+set new.c:= 4000;
+end if;
+end
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` trigger t4_trg before insert on t4 for each row
+begin
+if isnull(new.d) then
+set new.d:= 8000;
+end if;
+end
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; flush tables
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; insert into t1 values(null)
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; insert into t2 values(null)
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; insert into t3 values(null)
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; insert into t4 values(null)
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; delete from t1 where a > 100
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; delete from t2 where b > 100
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; delete from t3 where c > 100
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; delete from t4 where d > 100
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # GTID #-#-#
+master-bin.000004 # Query # # use `test`; flush tables
+master-bin.000004 # Gtid # # GTID #-#-#
+master-bin.000004 # Query # # use `test`; rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Query # # use `test`; insert into t1 values(null)
+master-bin.000005 # Query # # COMMIT
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Query # # use `test`; insert into t2 values(null)
+master-bin.000005 # Query # # COMMIT
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Query # # use `test`; insert into t5 values(null)
+master-bin.000005 # Query # # COMMIT
+master-bin.000005 # Gtid # # BEGIN GTID #-#-#
+master-bin.000005 # Query # # use `test`; insert into t4 values(null)
+master-bin.000005 # Query # # COMMIT
+master-bin.000005 # Gtid # # GTID #-#-#
+master-bin.000005 # Query # # use `test`; DROP TABLE `t1`,`t2`,`t4`,`t5` /* generated by server */
diff --git a/mysql-test/suite/atomic/rename_table_binlog.test b/mysql-test/suite/atomic/rename_table_binlog.test
new file mode 100644
index 00000000000..bc505148c93
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_table_binlog.test
@@ -0,0 +1,170 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_csv.inc
+--source include/have_log_bin.inc
+--source include/not_valgrind.inc
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+RESET MASTER;
+
+#
+# Testing of atomic rename with binlogging
+# - First crash is before binlog is written, in which case the rename should
+# be reverted
+# - Second crash is after binlog is written, in which case the rename should hold
+#
+
+let $engine_count=2;
+let $engines='myisam', 'aria';
+
+let $crash_count=2;
+let $crash_points='ddl_log_rename_before_binlog','ddl_log_rename_after_binlog';
+let $crash_positions= 1;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+--disable_query_log
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null) $extra_option;
+ --eval create table t2 (b int not null) $extra_option;
+ --eval create table t3 (c int not null) $extra_option;
+ --eval create table t4 (d int not null) $extra_option;
+ insert into t1 values(1);
+ insert into t2 values(2);
+ insert into t3 values(3);
+ insert into t4 values(4);
+
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ create trigger t2_trg before insert on t2 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ create trigger t3_trg before insert on t3 for each row
+ begin
+ if isnull(new.c) then
+ set new.c:= 4000;
+ end if;
+ end|
+ create trigger t4_trg before insert on t4 for each row
+ begin
+ if isnull(new.d) then
+ set new.d:= 8000;
+ end if;
+ end|
+ delimiter ;|
+
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $crash_positions)
+ {
+ inc $r;
+ echo "engine: $engine crash point: $crash position: $r";
+ flush tables;
+
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=1
+ let $errno=0;
+ --error 0,2013
+ rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ # No crash, rename things back
+ rename table t4 to t3, t5 to t4, t2 to t5, t1 to t2, t5 to t1;
+ }
+ if ($c == 1)
+ {
+ # Check that the tables are back to original
+ let $res=`select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4`;
+ if ($res != 10)
+ {
+ die "Got result $res when 10 was expected";
+ }
+
+ # Ensure that triggers work
+ insert into t1 values(null);
+ insert into t2 values(null);
+ insert into t3 values(null);
+ insert into t4 values(null);
+ let $res=`select (select sum(t1.a) from t1)+ (select sum(t2.b) from t2) + (select sum(t3.c) from t3)+ (select sum(t4.d) from t4)`;
+ if ($res != 15010)
+ {
+ die "Got result $res when 15010 was expected";
+ }
+ # Restore tables
+ delete from t1 where a > 100;
+ delete from t2 where b > 100;
+ delete from t3 where c > 100;
+ delete from t4 where d > 100;
+ }
+ if ($c == 2)
+ {
+ # Check that rename succeded
+ insert into t1 values(null);
+ insert into t2 values(null);
+ insert into t5 values(null);
+ insert into t4 values(null);
+ let $res=`select (select sum(t1.b) from t1)+ (select sum(t2.a) from t2) + (select sum(t4.c) from t4)+ (select sum(t5.d) from t5)`;
+ if ($res != 15010)
+ {
+ die "Got result $res when 15010 was expected";
+ }
+ let $res=`select (select count(*)=2 from t1) + (select count(*)=2 from t2) + (select count(*)=2 from t4)+ (select count(*)=2 from t5)`;
+ if ($res != 4)
+ {
+ die "Got result $res when 4 was expected";
+ }
+ }
+ }
+ }
+ drop table t1,t2,t4,t5;
+}
+--enable_query_log
+
+# Show the binlogs that holds the renames
+--let $binlog_file=master-bin.000002
+--source include/show_binlog_events.inc
+--let $binlog_file=master-bin.000003
+--source include/show_binlog_events.inc
+--let $binlog_file=master-bin.000004
+--source include/show_binlog_events.inc
+--let $binlog_file=master-bin.000005
+--source include/show_binlog_events.inc
diff --git a/mysql-test/suite/atomic/rename_trigger.result b/mysql-test/suite/atomic/rename_trigger.result
new file mode 100644
index 00000000000..d06debdaf8e
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_trigger.result
@@ -0,0 +1,150 @@
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 1"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 2"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 3"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 4"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 5"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 6"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 7"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 8"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 9"
+"engine: myisam crash point: ddl_log_rename_after_failed_rename_trigger position: 10"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 1"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 2"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 3"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 4"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 5"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 6"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 7"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 8"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 9"
+"engine: myisam crash point: ddl_log_rename_after_revert_rename_table position: 10"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 1"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 2"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 3"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 4"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 5"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 6"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 7"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 8"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 9"
+"engine: myisam crash point: ddl_log_rename_after_disable_entry position: 10"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 1"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 2"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 3"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 4"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 5"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 6"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 7"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 8"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 9"
+"engine: aria crash point: ddl_log_rename_after_failed_rename_trigger position: 10"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 1"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 2"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 3"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 4"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 5"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 6"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 7"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 8"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 9"
+"engine: aria crash point: ddl_log_rename_after_revert_rename_table position: 10"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 1"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 2"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 3"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 4"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 5"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 6"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 7"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 8"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 9"
+"engine: aria crash point: ddl_log_rename_after_disable_entry position: 10"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 6"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 7"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 8"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 9"
+"engine: aria_notrans crash point: ddl_log_rename_after_failed_rename_trigger position: 10"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 6"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 7"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 8"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 9"
+"engine: aria_notrans crash point: ddl_log_rename_after_revert_rename_table position: 10"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 1"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 2"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 3"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 4"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 5"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 6"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 7"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 8"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 9"
+"engine: aria_notrans crash point: ddl_log_rename_after_disable_entry position: 10"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 1"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 2"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 3"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 4"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 5"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 6"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 7"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 8"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 9"
+"engine: innodb crash point: ddl_log_rename_after_failed_rename_trigger position: 10"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 1"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 2"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 3"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 4"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 5"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 6"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 7"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 8"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 9"
+"engine: innodb crash point: ddl_log_rename_after_revert_rename_table position: 10"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 1"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 2"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 3"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 4"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 5"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 6"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 7"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 8"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 9"
+"engine: innodb crash point: ddl_log_rename_after_disable_entry position: 10"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 1"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 2"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 3"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 4"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 5"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 6"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 7"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 8"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 9"
+"engine: csv crash point: ddl_log_rename_after_failed_rename_trigger position: 10"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 1"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 2"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 3"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 4"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 5"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 6"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 7"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 8"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 9"
+"engine: csv crash point: ddl_log_rename_after_revert_rename_table position: 10"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 1"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 2"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 3"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 4"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 5"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 6"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 7"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 8"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 9"
+"engine: csv crash point: ddl_log_rename_after_disable_entry position: 10"
diff --git a/mysql-test/suite/atomic/rename_trigger.test b/mysql-test/suite/atomic/rename_trigger.test
new file mode 100644
index 00000000000..b0b419a3567
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_trigger.test
@@ -0,0 +1,161 @@
+--source include/have_debug.inc
+--source include/have_innodb.inc
+--source include/have_csv.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+# Speed up wait_until_connected_again.inc
+let NO_WSREP=1;
+
+#
+# Testing of atomic rename of table with triggers when table rename works but
+# rename of trigger fails.
+# This test can't be combined with rename_table.test as we need to simulate
+# an error in sql_create_definition_file()
+#
+
+let $crash_count=3;
+let $crash_points='ddl_log_rename_after_failed_rename_trigger','ddl_log_rename_after_revert_rename_table', 'ddl_log_rename_after_disable_entry';
+
+let $engine_count=5;
+let $engines='myisam','aria','aria_notrans','innodb','csv';
+
+# Number times sql_create_definition_file() is called during one statement.
+# This is number of renames (5)*2
+let $renames=10;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+--disable_query_log
+while ($e < $engine_count)
+{
+ inc $e;
+ let $engine=`select ELT($e, $engines)`;
+ let $default_engine=$engine;
+ let $extra_option=;
+
+ if ($engine == "aria")
+ {
+ let $extra_option=transactional=1;
+ }
+ if ($engine == "aria_notrans")
+ {
+ let $default_engine="aria";
+ let $extra_option=transactional=0;
+ }
+
+ --eval set @@default_storage_engine=$default_engine
+ --eval create table t1 (a int not null) $extra_option;
+ --eval create table t2 (b int not null) $extra_option;
+ --eval create table t3 (c int not null) $extra_option;
+ --eval create table t4 (d int not null) $extra_option;
+ insert into t1 values(1);
+ insert into t2 values(2);
+ insert into t3 values(3);
+ insert into t4 values(4);
+
+ delimiter |;
+ create trigger t1_trg before insert on t1 for each row
+ begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+ end|
+ create trigger t2_trg before insert on t2 for each row
+ begin
+ if isnull(new.b) then
+ set new.b:= 2000;
+ end if;
+ end|
+ create trigger t3_trg before insert on t3 for each row
+ begin
+ if isnull(new.c) then
+ set new.c:= 4000;
+ end if;
+ end|
+ create trigger t4_trg before insert on t4 for each row
+ begin
+ if isnull(new.d) then
+ set new.d:= 8000;
+ end if;
+ end|
+ delimiter ;|
+ let $c=0;
+ while ($c < $crash_count)
+ {
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $renames)
+ {
+ inc $r;
+ echo "engine: $engine crash point: $crash position: $r";
+ flush tables;
+
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash,definition_file_simulate_write_error",@debug_crash_counter=1;
+ --eval set @@debug_dbug="+d,definition_file_simulate_write_error",@debug_error_counter=$r;
+ let $errno=0;
+ --error 0,2013
+ rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ # No crash, rename things back
+ rename table t4 to t3, t5 to t4, t2 to t5, t1 to t2, t5 to t1;
+ }
+
+ # Ensure that the tables are back to original
+ let $res=`select t1.a+t2.b+t3.c+t4.d from t1,t2,t3,t4`;
+ if ($res != 10)
+ {
+ die "Got result $res when 10 was expected";
+ }
+
+ # Ensure that triggers work
+ insert into t1 values(null);
+ insert into t2 values(null);
+ insert into t3 values(null);
+ insert into t4 values(null);
+ let $res=`select (select sum(t1.a) from t1)+ (select sum(t2.b) from t2) + (select sum(t3.c) from t3)+ (select sum(t4.d) from t4)`;
+ if ($res != 15010)
+ {
+ die "Got result $res when 15010 was expected";
+ }
+ # Restore tables
+ delete from t1 where a > 100;
+ delete from t2 where b > 100;
+ delete from t3 where c > 100;
+ delete from t4 where d > 100;
+ }
+ }
+
+ # Last test, check that rename really worked
+ rename table t1 to t5, t2 to t1, t5 to t2, t4 to t5, t3 to t4;
+ insert into t1 values(null);
+ insert into t2 values(null);
+ insert into t5 values(null);
+ insert into t4 values(null);
+ let $res=`select (select sum(t1.b) from t1)+ (select sum(t2.a) from t2) + (select sum(t4.c) from t4)+ (select sum(t5.d) from t5)`;
+ if ($res != 15010)
+ {
+ die "Got result $res when 15010 was expected";
+ }
+ let $res=`select (select count(*)=2 from t1) + (select count(*)=2 from t2) + (select count(*)=2 from t4)+ (select count(*)=2 from t5)`;
+ if ($res != 4)
+ {
+ die "Got result $res when 4 was expected";
+ }
+
+ drop table t1,t2,t4,t5;
+}
+--enable_query_log
+--disable_query_log
diff --git a/mysql-test/suite/atomic/rename_view.result b/mysql-test/suite/atomic/rename_view.result
new file mode 100644
index 00000000000..a8a630c5117
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_view.result
@@ -0,0 +1,23 @@
+"engine: crash point: ddl_log_rename_before_rename_view position: 1"
+"engine: crash point: ddl_log_rename_before_rename_view position: 2"
+"engine: crash point: ddl_log_rename_before_rename_view position: 3"
+"engine: crash point: ddl_log_rename_before_rename_view position: 4"
+"engine: crash point: ddl_log_rename_before_rename_view position: 5"
+"engine: crash point: ddl_log_rename_after_rename_view position: 1"
+"engine: crash point: ddl_log_rename_after_rename_view position: 2"
+"engine: crash point: ddl_log_rename_after_rename_view position: 3"
+"engine: crash point: ddl_log_rename_after_rename_view position: 4"
+"engine: crash point: ddl_log_rename_after_rename_view position: 5"
+"engine: crash point: rename_view_after_rename_schema_file position: 1"
+"engine: crash point: rename_view_after_rename_schema_file position: 2"
+"engine: crash point: rename_view_after_rename_schema_file position: 3"
+"engine: crash point: rename_view_after_rename_schema_file position: 4"
+"engine: crash point: rename_view_after_rename_schema_file position: 5"
+"engine: crash point: definition_file_after_create position: 1"
+"engine: crash point: definition_file_after_create position: 2"
+"engine: crash point: definition_file_after_create position: 3"
+"engine: crash point: definition_file_after_create position: 4"
+"engine: crash point: definition_file_after_create position: 5"
+#
+# At last check that rename works when there is no crash
+#
diff --git a/mysql-test/suite/atomic/rename_view.test b/mysql-test/suite/atomic/rename_view.test
new file mode 100644
index 00000000000..c326d842d67
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_view.test
@@ -0,0 +1,85 @@
+--source include/have_debug.inc
+--source include/not_valgrind.inc
+--source include/not_embedded.inc
+
+#
+# Testing of atomic rename with crashes in a lot of different places
+#
+
+let $crash_count=4;
+let $crash_points='ddl_log_rename_before_rename_view','ddl_log_rename_after_rename_view','rename_view_after_rename_schema_file','definition_file_after_create';
+
+# Number of renames in the tested statement
+let $renames=5;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+
+--disable_query_log
+create table t1 (a int not null);
+create table t2 (b int not null);
+create table t3 (c int not null);
+create table t4 (d int not null);
+insert into t1 values(1);
+insert into t2 values(2);
+insert into t3 values(3);
+insert into t4 values(4);
+create view v1 as select t1.a from t1;
+create view v2 as select t2.b from t2;
+create view v3 as select t3.c from t3;
+create view v4 as select t4.d from t4;
+flush tables;
+
+let $c=0;
+while ($c < $crash_count)
+{
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $renames)
+ {
+ inc $r;
+ echo "engine: crash point: $crash position: $r";
+
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash",@debug_crash_counter=$r
+ let $errno=0;
+ --error 0,2013
+ rename table v1 to v5, v2 to v1, v5 to v2, v4 to v5, v3 to v4;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ # No crash, rename things back
+ rename table v4 to v3, v5 to v4, v2 to v5, v1 to v2, v5 to v1;
+ }
+
+ # Ensure that the tables are back to original
+ let $res=`select v1.a+v2.b+v3.c+v4.d from v1,v2,v3,v4`;
+ if ($res != 10)
+ {
+ die "Got result $res when 10 was expected";
+ }
+ }
+}
+
+--echo #
+--echo # At last check that rename works when there is no crash
+--echo #
+
+rename table v1 to v5, v2 to v1, v5 to v2, v4 to v5, v3 to v4;
+let $res=`select (select sum(v1.b) from v1)+ (select sum(v2.a) from v2) + (select sum(v4.c) from v4)+ (select sum(v5.d) from v5)`;
+if ($res != 10)
+{
+ die "Got result $res when 10 was expected";
+}
+drop view v1,v2,v4,v5;
+drop table t1,t2,t3,t4;
+--enable_query_log
diff --git a/mysql-test/suite/atomic/rename_view2.result b/mysql-test/suite/atomic/rename_view2.result
new file mode 100644
index 00000000000..8af0320c4ae
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_view2.result
@@ -0,0 +1,8 @@
+"engine: crash point: ddl_log_rename_after_disable_entry position: 1"
+"engine: crash point: ddl_log_rename_after_disable_entry position: 2"
+"engine: crash point: ddl_log_rename_after_disable_entry position: 3"
+"engine: crash point: ddl_log_rename_after_disable_entry position: 4"
+"engine: crash point: ddl_log_rename_after_disable_entry position: 5"
+#
+# At last check that rename works when there is no crash
+#
diff --git a/mysql-test/suite/atomic/rename_view2.test b/mysql-test/suite/atomic/rename_view2.test
new file mode 100644
index 00000000000..5dfc72bbae8
--- /dev/null
+++ b/mysql-test/suite/atomic/rename_view2.test
@@ -0,0 +1,89 @@
+--source include/have_debug.inc
+--source include/not_valgrind.inc
+
+#
+# Testing of atomic rename of view when creating of definition file fails
+# and we crash after the last rename entry has been disabled.
+# This is not possible to test with rename_view.test, which is why
+# we have a separate test for this case
+#
+
+let $crash_count=1;
+let $crash_points='ddl_log_rename_after_disable_entry';
+
+# Number of renames in the tested statement
+let $renames=5;
+
+let $old_debug=`select @@debug_dbug`;
+
+let $e=0;
+
+--disable_query_log
+create table t1 (a int not null);
+create table t2 (b int not null);
+create table t3 (c int not null);
+create table t4 (d int not null);
+insert into t1 values(1);
+insert into t2 values(2);
+insert into t3 values(3);
+insert into t4 values(4);
+create view v1 as select t1.a from t1;
+create view v2 as select t2.b from t2;
+create view v3 as select t3.c from t3;
+create view v4 as select t4.d from t4;
+flush tables;
+
+let $c=0;
+while ($c < $crash_count)
+{
+ inc $c;
+ let $crash=`select ELT($c, $crash_points)`;
+ let $r=0;
+ while ($r < $renames)
+ {
+ inc $r;
+ echo "engine: crash point: $crash position: $r";
+
+ --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+ --disable_reconnect
+ --eval set @@debug_dbug="+d,$crash,definition_file_simulate_write_error",@debuge_crash_counter=1;
+ --eval set @@debug_dbug="+d,definition_file_simulate_write_error",@debug_error_counter=$r;
+
+ let $errno=0;
+ --error 0,3,2013
+ rename table v1 to v5, v2 to v1, v5 to v2, v4 to v5, v3 to v4;
+ let $error=$errno;
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+ --disable_query_log
+ --eval set @@debug_dbug="$old_debug"
+
+ if ($error == 0)
+ {
+ echo "No crash!";
+ # No crash, rename things back
+ rename table v4 to v3, v5 to v4, v2 to v5, v1 to v2, v5 to v1;
+ }
+
+ # Ensure that the tables are back to original
+ let $res=`select v1.a+v2.b+v3.c+v4.d from v1,v2,v3,v4`;
+ if ($res != 10)
+ {
+ die "Got result $res when 10 was expected";
+ }
+ }
+}
+
+--echo #
+--echo # At last check that rename works when there is no crash
+--echo #
+
+rename table v1 to v5, v2 to v1, v5 to v2, v4 to v5, v3 to v4;
+let $res=`select (select sum(v1.b) from v1)+ (select sum(v2.a) from v2) + (select sum(v4.c) from v4)+ (select sum(v5.d) from v5)`;
+if ($res != 10)
+{
+ die "Got result $res when 10 was expected";
+}
+drop view v1,v2,v4,v5;
+drop table t1,t2,t3,t4;
+--enable_query_log
diff --git a/mysql-test/suite/binlog/include/binlog_expire_logs_seconds.inc b/mysql-test/suite/binlog/include/binlog_expire_logs_seconds.inc
new file mode 100644
index 00000000000..3b3fef552db
--- /dev/null
+++ b/mysql-test/suite/binlog/include/binlog_expire_logs_seconds.inc
@@ -0,0 +1,109 @@
+#
+# WL#9237: Add a new variable binlog_expire_logs_seconds
+
+# Here we will test purging of binary logs when either one or both of these variables are set
+# - binlog_expire_logs_seconds
+# - expire_logs_days
+
+# The three scenarios being tested for are:
+# 1. FLUSH LOGS
+# 2. Rotation of logs because of binlog growing bigger than max_binlog_size
+# 3. Server restart
+#
+# Usuage: --let $binlog_expire_logs_seconds=
+# --let $expire_logs_days=
+#
+# --source suite/binlog/include/binlog_expire_logs_seconds.inc
+
+--let $expire_logs_seconds= `SELECT @@global.binlog_expire_logs_seconds`
+
+CREATE TABLE t1(s LONGBLOB );
+
+--let $max_binlog_size_save= `SELECT @@GLOBAL.MAX_BINLOG_SIZE`
+
+--let $case= 0
+
+while ($case < 3)
+{
+ --echo Case:$case
+ --let $first_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ # rotates the log, thence the first log will be closed, and depending upon
+ # the expire time the purge will/will not happen.
+
+ FLUSH LOGS;
+
+ INSERT INTO t1 VALUES('a');
+
+ --let $second_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+ FLUSH LOGS;
+
+
+ # This is done to avoid time out in cases where the expire time is more.
+ # What we do is in those cases modify the timestamp of the oldest log file
+ # to be the same as expire time so when we execute the next flush log command
+ # the oldest log will be purged.
+
+ # Only change the timestamp of binlog file when the expire_logs_seconds which is the total
+ # time for expiring log is greater than 30 seconds
+
+ if (`SELECT $expire_logs_seconds > 30`)
+ {
+ --let _EXPIRE_TIME= `SELECT $expire_logs_seconds + 60`
+ --let _FIRST_BINLOG_FILE= $MYSQLD_DATADIR/$first_binlog_file
+--perl
+ use strict;
+ use warnings;
+ my $expire_time = $ENV{'_EXPIRE_TIME'};
+ my $first_binlog_file = $ENV{'_FIRST_BINLOG_FILE'};
+ my $epoch = (stat($first_binlog_file))[9];
+ my $mtime = $epoch - $expire_time;
+ utime $mtime, $mtime, $first_binlog_file;
+ EOF
+ }
+
+ # Checking this ensures that nothing is purged so far.
+ --file_exists $MYSQLD_DATADIR/$first_binlog_file
+
+ if ($case == 0)
+ {
+ --echo #### 1. FLUSH LOGS
+
+ FLUSH LOGS;
+ }
+ if ($case == 1)
+ {
+ --echo #### 2. Binlog_size > max_binlog_size
+
+ SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
+
+ INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
+ }
+ if ($case == 2)
+ {
+ --echo #### 3. Server restart
+
+ --let $restart_parameters=--binlog_expire_logs_seconds=$expire_logs_seconds
+ --source include/restart_mysqld.inc
+ }
+
+ if (`SELECT $expire_logs_seconds != 0`)
+ {
+ --error 1
+ --file_exists $MYSQLD_DATADIR/$first_binlog_file
+ }
+ if ($expire_logs_seconds == 0)
+ {
+ --file_exists $MYSQLD_DATADIR/$first_binlog_file
+ }
+ --file_exists $MYSQLD_DATADIR/$second_binlog_file
+
+ --inc $case
+ RESET MASTER;
+}
+--echo ##### Cleanup #####
+--eval SET @@GLOBAL.MAX_BINLOG_SIZE= $max_binlog_size_save;
+DROP TABLE t1;
+RESET MASTER;
+
diff --git a/mysql-test/suite/binlog/include/binlog_expire_warnings.inc b/mysql-test/suite/binlog/include/binlog_expire_warnings.inc
new file mode 100644
index 00000000000..3f879bff860
--- /dev/null
+++ b/mysql-test/suite/binlog/include/binlog_expire_warnings.inc
@@ -0,0 +1,103 @@
+# ==== Purpose ====
+#
+# Test one scenario using a combination of --expire-logs-days and
+# --binlog-expire-logs-seconds. Verify that there are/aren't warnings
+# as expected, and verify that the values of the global variables are
+# as expected.
+#
+# ==== Usage ====
+#
+# --let $ofile = FILE
+# --let $options = SERVER_OPTIONS
+# --let $days = VALUE
+# --let $seconds = VALUE
+# --let $expect_binlog_off_days_and_seconds_warning = [0|1]
+# --let $expect_seconds = VALUE
+# --let $option_invoke_order = [days_then_seconds|seconds_then_days]
+# --let $expect_days = VALUE
+# --source include/binlog_expire_warnings.inc
+#
+# Parameters:
+#
+# $ofile
+# Temporary file to use for the error log.
+#
+# $options
+# Any additional options passed to mysqld during server start.
+#
+# $days
+# The value to set for --expire-logs-days
+#
+# $seconds
+# The value to set for --binlog-expire-logs-seconds
+#
+# $option_invoke_order
+# In which order options --expire-logs-days and
+# --binlog-expire-logs-seconds should be set.
+# values are: days_then_seconds, seconds_then_days
+#
+# $expect_binlog_off_days_and_seconds_warning
+# If zero, assert that there is no warning due to using
+# --expire_logs_days or --binlog_expire_logs_seconds binlog disabled.
+# If nonzero, assert that there is a warning due to using
+# --expire_logs_days or --binlog_expire_logs_seconds binlog disabled.
+#
+# $expect_days
+# Assert that @@global.expire_logs_days has this value.
+#
+# $expect_seconds
+# Assert that @@global.binlog_expire_logs_seconds has this value.
+
+
+--let $restart_parameters = --log-error=$ofile $options
+if ($option_invoke_order == 'days_then_seconds')
+{
+ if ($days != '') {
+ --let $restart_parameters = $restart_parameters --expire_logs_days=$days
+ }
+ if ($seconds != '') {
+ --let $restart_parameters = $restart_parameters --binlog-expire-logs-seconds=$seconds
+ }
+}
+
+if ($option_invoke_order == 'seconds_then_days')
+{
+ if ($seconds != '') {
+ --let $restart_parameters = $restart_parameters --binlog-expire-logs-seconds=$seconds
+ }
+ if ($days != '') {
+ --let $restart_parameters = $restart_parameters --expire_logs_days=$days
+ }
+}
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--source include/restart_mysqld.inc
+
+# For all the assert_grep.inc
+--let $extra_debug_eval = LOAD_FILE("$ofile")
+
+if (!$expect_binlog_off_days_and_seconds_warning) {
+ --let $assert_text = There shall be no binlog_off+seconds warning
+ --let $assert_count = 0
+}
+
+if ($expect_binlog_off_days_and_seconds_warning) {
+ --let $assert_text = There shall be a binlog_off+seconds warning
+ --let $assert_count = 1
+}
+
+--let $assert_file = $ofile
+--let $assert_select = You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
+--let $assert_only_after = Shutdown complete
+--source include/assert_grep.inc
+
+# For all the assert.inc
+--let $extra_debug_eval = CONCAT("days: ", @@global.expire_logs_days, " seconds: ", @@global.binlog_expire_logs_seconds)
+
+--let $assert_text = binlog_expire_logs_seconds shall be $expect_seconds
+--let $assert_cond = @@global.binlog_expire_logs_seconds = $expect_seconds
+--source include/assert.inc
+
+--let $assert_text = expire_logs_days shall be $expect_days
+--let $assert_cond = @@global.expire_logs_days = $expect_days
+--source include/assert.inc
diff --git a/mysql-test/suite/binlog/include/binlog_index.inc b/mysql-test/suite/binlog/include/binlog_index.inc
index d73091d59ab..da6cac18e30 100644
--- a/mysql-test/suite/binlog/include/binlog_index.inc
+++ b/mysql-test/suite/binlog/include/binlog_index.inc
@@ -17,7 +17,7 @@ source include/have_debug.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('Turning logging off for the whole duration of the MariaDB server process.');
call mtr.add_suppression('Could not use .*');
call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
flush tables;
diff --git a/mysql-test/suite/binlog/include/binlog_row_annotate.inc b/mysql-test/suite/binlog/include/binlog_row_annotate.inc
index 69d9dc3cc49..48418b3dc1a 100644
--- a/mysql-test/suite/binlog/include/binlog_row_annotate.inc
+++ b/mysql-test/suite/binlog/include/binlog_row_annotate.inc
@@ -125,7 +125,7 @@ if (!$use_remote_mysqlbinlog)
--echo # - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
--echo #####################################################################################
- --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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+ --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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $datadir/master-bin.000001
--echo #
@@ -135,7 +135,7 @@ if (!$use_remote_mysqlbinlog)
--echo # - DELETE test1.t1, test2.t2 FROM <...>
--echo #####################################################################################
- --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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+ --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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows --database=test1 -v -v $datadir/master-bin.000001
--echo #
@@ -144,7 +144,7 @@ if (!$use_remote_mysqlbinlog)
--echo # No Annotates should appear in this output
--echo #####################################################################################
- --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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+ --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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows --skip-annotate-row-events -v -v $datadir/master-bin.000001
--let use_remote_mysqlbinlog= 0
@@ -161,7 +161,7 @@ if (!$use_remote_mysqlbinlog)
--echo # - DELETE xtest1.xt1, test2.t2 FROM <...> (with one subsequent Table map)
--echo #####################################################################################
---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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
--echo #
@@ -171,7 +171,7 @@ if (!$use_remote_mysqlbinlog)
--echo # - DELETE test1.t1, test2.t2 FROM <...>
--echo #####################################################################################
---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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--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 #
@@ -180,7 +180,7 @@ if (!$use_remote_mysqlbinlog)
--echo # No Annotates should appear in this output
--echo #####################################################################################
---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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--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 #/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--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
diff --git a/mysql-test/suite/binlog/include/ctype_ucs_binlog.test b/mysql-test/suite/binlog/include/ctype_ucs_binlog.test
index 0e9d49f6663..2a0c20e1e86 100644
--- a/mysql-test/suite/binlog/include/ctype_ucs_binlog.test
+++ b/mysql-test/suite/binlog/include/ctype_ucs_binlog.test
@@ -16,7 +16,7 @@ source include/show_binlog_events.inc;
# escaped).
flush logs;
let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001
drop table t2;
@@ -54,7 +54,7 @@ SELECT * FROM t1;
DROP TABLE t1;
FLUSH LOGS;
let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /TIMESTAMP=[0-9]*/TIMESTAMP=XXX/ /# at [0-9]*/# at #/ /(exec_time=|end_log_pos |Xid = |thread_id=|server id |table id |mapped to number )[0-9]+/\1#/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ /Gtid list [[][0-9]+-[0-9]+-[0-9]+[\]]/Gtid list [#-#-#]/ /session[.](gtid_domain_id|server_id|gtid_seq_no)=[0-9]+/session.\1=#/ /(^#|created )[0-9]{6} [ 12][0-9]:[0-9]{2}:[0-9]{2}/\1YYMMDD HH:MM:SS/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /TIMESTAMP=[0-9]*/TIMESTAMP=XXX/ /# at [0-9]*/# at #/ /(exec_time=|end_log_pos |Xid = |thread_id=|server id |table id |mapped to number )[0-9]+/\1#/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ /Gtid list [[][0-9]+-[0-9]+-[0-9]+[\]]/Gtid list [#-#-#]/ /session[.](gtid_domain_id|server_id|gtid_seq_no)=[0-9]+/session.\1=#/ /(^#|created )[0-9]{6} [ 12][0-9]:[0-9]{2}:[0-9]{2}/\1YYMMDD HH:MM:SS/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -vv $MYSQLD_DATADIR/master-bin.000003
SET TIMESTAMP=DEFAULT;
diff --git a/mysql-test/suite/binlog/include/mysqlbinlog_row_engine.inc b/mysql-test/suite/binlog/include/mysqlbinlog_row_engine.inc
index 874be1dac61..e0987b97c05 100644
--- a/mysql-test/suite/binlog/include/mysqlbinlog_row_engine.inc
+++ b/mysql-test/suite/binlog/include/mysqlbinlog_row_engine.inc
@@ -1651,7 +1651,7 @@ FLUSH LOGS;
--echo #
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo #
@@ -1731,7 +1731,7 @@ FLUSH LOGS;
--echo #
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo #
@@ -1854,7 +1854,7 @@ FLUSH LOGS;
--echo #
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo #
@@ -1912,7 +1912,7 @@ FLUSH LOGS;
--echo #
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo #
diff --git a/mysql-test/suite/binlog/r/binlog_1pc.result b/mysql-test/suite/binlog/r/binlog_1pc.result
new file mode 100644
index 00000000000..4a1615d5f1c
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_1pc.result
@@ -0,0 +1,34 @@
+RESET MASTER;
+CREATE TABLE t (f INT) ENGINE=INNODB;
+CREATE TABLE ta (f INT) ENGINE=Aria;
+BEGIN;
+INSERT INTO t SET f = 1;
+INSERT INTO ta SET f = 1;
+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`; INSERT INTO ta SET f = 1
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t SET f = 1
+master-bin.000001 # Query # # COMMIT
+# Prove that binlog is resettable. Under the bug condition it was not.
+RESET MASTER;
+SET @@binlog_format = ROW;
+CREATE TABLE ta2 ENGINE = Aria SELECT * from t;
+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`; CREATE TABLE `ta2` (
+ `f` int(11) DEFAULT NULL
+) ENGINE=Aria PAGE_CHECKSUM=1
+master-bin.000001 # Annotate_rows # # CREATE TABLE ta2 ENGINE = Aria SELECT * from t
+master-bin.000001 # Table_map # # table_id: # (test.ta2)
+master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+# Prove that binlog is resettable. Under the bug condition it was not.
+RESET MASTER;
+# Cleanup
+DROP TABLE ta2, ta, t;
+# End of the tests
diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result
index 2661b344cad..3a3221dfb94 100644
--- a/mysql-test/suite/binlog/r/binlog_database.result
+++ b/mysql-test/suite/binlog/r/binlog_database.result
@@ -292,4 +292,5 @@ information_schema
mtr
mysql
performance_schema
+sys
test
diff --git a/mysql-test/suite/binlog/r/binlog_expire_logs_seconds.result b/mysql-test/suite/binlog/r/binlog_expire_logs_seconds.result
new file mode 100644
index 00000000000..11c52683d42
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_expire_logs_seconds.result
@@ -0,0 +1,150 @@
+####
+#### 1. When binlog_expire_logs_seconds == 0 and expire_logs_days == 0
+#### no purge should happen
+SET GLOBAL binlog_expire_logs_seconds= 0;
+SET GLOBAL expire_logs_days= 0;
+CREATE TABLE t1(s LONGBLOB );
+Case:0
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 1. FLUSH LOGS
+FLUSH LOGS;
+RESET MASTER;
+Case:1
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 2. Binlog_size > max_binlog_size
+SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
+INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
+RESET MASTER;
+Case:2
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 3. Server restart
+# restart: --binlog_expire_logs_seconds=0
+RESET MASTER;
+##### Cleanup #####
+SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
+DROP TABLE t1;
+RESET MASTER;
+####
+#### 2.1: binlog_expire_logs_seconds > 0 and expire_logs_days > 0
+#### expire_logs_days=1.5 and binlog_expire_logs_seconds=86400
+#### Since binlog_expire_logs_seconds is set later
+#### expire_logs_days value will be overridden should be
+#### '0.000347222'
+####
+Testing with smaller values of binlog_expire_logs_seconds
+SET GLOBAL expire_logs_days= 1.5;
+SET GLOBAL binlog_expire_logs_seconds= 30 ;
+SELECT @@expire_logs_days as 'Expected_0.000347222';
+Expected_0.000347222
+0.000347
+SELECT @@binlog_expire_logs_seconds as Expected_30;
+Expected_30
+30
+FLUSH LOGS;
+FLUSH LOGS;
+FLUSH LOGS;
+RESET MASTER;
+####
+#### 2.2: binlog_expire_logs_seconds = 43200 and expire_logs_days = 0
+####
+SET GLOBAL expire_logs_days=0;
+SET GLOBAL binlog_expire_logs_seconds=43200;
+SELECT @@expire_logs_days as 'Expected_0.5';
+Expected_0.5
+0.500000
+SELECT @@binlog_expire_logs_seconds as Expected_43200;
+Expected_43200
+43200
+CREATE TABLE t1(s LONGBLOB );
+Case:0
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 1. FLUSH LOGS
+FLUSH LOGS;
+RESET MASTER;
+Case:1
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 2. Binlog_size > max_binlog_size
+SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
+INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
+RESET MASTER;
+Case:2
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 3. Server restart
+# restart: --binlog_expire_logs_seconds=43200
+RESET MASTER;
+##### Cleanup #####
+SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
+DROP TABLE t1;
+RESET MASTER;
+####
+#### 2.3: binlog_expire_logs_seconds == 0 and expire_logs_days > 0
+####
+SET GLOBAL binlog_expire_logs_seconds= 0;
+SET GLOBAL expire_logs_days= 1;
+SELECT @@expire_logs_days as Expected_1;
+Expected_1
+1.000000
+SELECT @@binlog_expire_logs_seconds as Expected_86400;
+Expected_86400
+86400
+CREATE TABLE t1(s LONGBLOB );
+Case:0
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 1. FLUSH LOGS
+FLUSH LOGS;
+RESET MASTER;
+Case:1
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 2. Binlog_size > max_binlog_size
+SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
+INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
+RESET MASTER;
+Case:2
+FLUSH LOGS;
+INSERT INTO t1 VALUES('a');
+FLUSH LOGS;
+#### 3. Server restart
+# restart: --binlog_expire_logs_seconds=86400
+RESET MASTER;
+##### Cleanup #####
+SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
+DROP TABLE t1;
+RESET MASTER;
+####
+#### 2.4: binlog_expire_logs_seconds = 1
+####
+SET GLOBAL binlog_expire_logs_seconds= 1;
+SELECT @@expire_logs_days;
+@@expire_logs_days
+0.000012
+SELECT @@binlog_expire_logs_seconds as Expected_1;
+Expected_1
+1
+####
+#### 2.5. binlog_expire_logs_seconds = 8553600, testing max value 99days
+####
+SET GLOBAL binlog_expire_logs_seconds= 8553600;
+SELECT @@expire_logs_days;
+@@expire_logs_days
+99.000000
+SELECT @@binlog_expire_logs_seconds as Expected_8553600;
+Expected_8553600
+8553600
+SET GLOBAL binlog_expire_logs_seconds= 0;
+SET GLOBAL expire_logs_days= 0.000000;
diff --git a/mysql-test/suite/binlog/r/binlog_expire_warnings.result b/mysql-test/suite/binlog/r/binlog_expire_warnings.result
new file mode 100644
index 00000000000..728fe6efacc
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_expire_warnings.result
@@ -0,0 +1,134 @@
+#### Binary log ENABLED ####
+==== Don't set any option ====
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+==== Set one option to zero ====
+---- days=0 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --expire_logs_days=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+---- seconds=0 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --binlog-expire-logs-seconds=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+==== Set one option to non-zero ====
+---- days=2 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --expire_logs_days=2
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 172800]
+include/assert.inc [expire_logs_days shall be 2]
+---- seconds=86400 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --binlog-expire-logs-seconds=86400
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+==== Set both options to zero ====
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --expire_logs_days=0 --binlog-expire-logs-seconds=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+==== Set both options: one to zero and one to non-zero ====
+---- days=1 seconds=0 ----
+---- The later seconds=0 will override days.
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --expire_logs_days=1 --binlog-expire-logs-seconds=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+---- seconds=0 days=1 ----
+---- The later days=1 will override seconds.
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --binlog-expire-logs-seconds=0 --expire_logs_days=1
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+---- days=0 seconds=86400 ----
+---- The later seconds=86400 will override days.
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --expire_logs_days=0 --binlog-expire-logs-seconds=86400
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+==== Set both options to non-zero ====
+---- days=1 and seconds=172800 ----
+---- Since binlog_expire_logs_seconds is set later expire_log_days
+---- becomes 2
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --expire_logs_days=1 --binlog-expire-logs-seconds=172800
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 172800]
+include/assert.inc [expire_logs_days shall be 2]
+---- days=1 and seconds=172800 ----
+---- Since expire_logs_days is set later binlog_expire_logs_seconds
+---- becomes 86400
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --binlog-expire-logs-seconds=172800 --expire_logs_days=1
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+#### Binary log DISABLED ####
+==== Don't set any option ====
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+==== Set one option to zero ====
+---- days=0 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --expire_logs_days=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+---- seconds=0 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --binlog-expire-logs-seconds=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+==== Set one option to non-zero ====
+---- days=2 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --expire_logs_days=2
+include/assert_grep.inc [There shall be a binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 172800]
+include/assert.inc [expire_logs_days shall be 2]
+---- seconds=86400 ----
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --binlog-expire-logs-seconds=86400
+include/assert_grep.inc [There shall be a binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+==== Set both options to zero ====
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --expire_logs_days=0 --binlog-expire-logs-seconds=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+==== Set both options: one to zero and one to non-zero ====
+---- days=1 seconds=0 ----
+---- The later seconds=0 will override days.
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --expire_logs_days=1 --binlog-expire-logs-seconds=0
+include/assert_grep.inc [There shall be no binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 0]
+include/assert.inc [expire_logs_days shall be 0]
+---- seconds=0 days=1 ----
+---- The later days=1 will override seconds.
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --binlog-expire-logs-seconds=0 --expire_logs_days=1
+include/assert_grep.inc [There shall be a binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+---- days=0 seconds=86400 ----
+---- The later seconds=86400 will override days.
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --expire_logs_days=0 --binlog-expire-logs-seconds=86400
+include/assert_grep.inc [There shall be a binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
+==== Set both options to non-zero ====
+---- days=1 and seconds=172800 ----
+---- Since binlog_expire_logs_seconds is set later expire_log_days
+---- becomes 2
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --expire_logs_days=1 --binlog-expire-logs-seconds=172800
+include/assert_grep.inc [There shall be a binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 172800]
+include/assert.inc [expire_logs_days shall be 2]
+---- days=1 and seconds=172800 ----
+---- Since expire_logs_days is set later binlog_expire_logs_seconds
+---- becomes 86400
+# restart: --log-error=MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err --skip-log-bin --binlog-expire-logs-seconds=172800 --expire_logs_days=1
+include/assert_grep.inc [There shall be a binlog_off+seconds warning]
+include/assert.inc [binlog_expire_logs_seconds shall be 86400]
+include/assert.inc [expire_logs_days shall be 1]
diff --git a/mysql-test/suite/binlog/r/binlog_index.result b/mysql-test/suite/binlog/r/binlog_index.result
index f643c5a9c35..9dfda71f9a7 100644
--- a/mysql-test/suite/binlog/r/binlog_index.result
+++ b/mysql-test/suite/binlog/r/binlog_index.result
@@ -1,7 +1,7 @@
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('Turning logging off for the whole duration of the MariaDB server process.');
call mtr.add_suppression('Could not use .*');
call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
flush tables;
@@ -50,7 +50,7 @@ reset master;
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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -62,7 +62,7 @@ master-bin.000003
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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -73,7 +73,7 @@ master-bin.000005
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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -83,7 +83,7 @@ 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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -94,7 +94,7 @@ 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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -106,7 +106,7 @@ 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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
diff --git a/mysql-test/suite/binlog/r/binlog_mdev342.result b/mysql-test/suite/binlog/r/binlog_mdev342.result
index 7513e855497..6b3ba9d187a 100644
--- a/mysql-test/suite/binlog/r/binlog_mdev342.result
+++ b/mysql-test/suite/binlog/r/binlog_mdev342.result
@@ -2,6 +2,7 @@ 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, "MDEV-515");
connect con1,localhost,root,,;
SET DEBUG_SYNC= "binlog_open_before_update_index SIGNAL con1_ready WAIT_FOR con1_cont";
SET SESSION debug_dbug="+d,crash_create_critical_before_update_index";
@@ -20,6 +21,7 @@ connection default;
SELECT a FROM t1 ORDER BY a;
a
1
+100
show binary logs;
Log_name File_size
master-bin.000001 #
@@ -32,6 +34,11 @@ 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 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Annotate_rows # # INSERT INTO t1 VALUES(100, "MDEV-515")
+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 # Annotate_rows # # INSERT INTO t1 VALUES (1, REPEAT("x", 4100))
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
diff --git a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
index 1cfb6bce801..e79ee863268 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
@@ -372,7 +372,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -402,7 +402,7 @@ START TRANSACTION
### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -423,7 +423,7 @@ START TRANSACTION
### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -431,7 +431,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 ddl
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -439,7 +439,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 ddl
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c01 BIT(7))
/*!*/;
@@ -460,7 +460,7 @@ START TRANSACTION
### @1=b'0000001' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -481,7 +481,7 @@ START TRANSACTION
### @1=b'0000010' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -502,7 +502,7 @@ START TRANSACTION
### @1=b'0000100' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -523,7 +523,7 @@ START TRANSACTION
### @1=b'0001000' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -544,7 +544,7 @@ START TRANSACTION
### @1=b'0010000' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -565,7 +565,7 @@ START TRANSACTION
### @1=b'0100000' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -586,7 +586,7 @@ START TRANSACTION
### @1=b'1000000' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -607,7 +607,7 @@ START TRANSACTION
### @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -628,7 +628,7 @@ START TRANSACTION
### @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -651,7 +651,7 @@ START TRANSACTION
### @1=b'0001111' /* BIT(7) meta=7 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -659,7 +659,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-16 ddl
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -667,7 +667,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-17 ddl
/*!100001 SET @@session.gtid_seq_no=17*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (a BIT(20), b CHAR(2))
/*!*/;
@@ -689,7 +689,7 @@ START TRANSACTION
### @2='ab' /* STRING(2) meta=65026 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -697,7 +697,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-19 ddl
/*!100001 SET @@session.gtid_seq_no=19*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -705,7 +705,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-20 ddl
/*!100001 SET @@session.gtid_seq_no=20*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c02 BIT(64))
/*!*/;
@@ -726,7 +726,7 @@ START TRANSACTION
### @1=b'0000000000000000000000000000000000000000000000000000000000000001' /* BIT(64) meta=2048 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -747,7 +747,7 @@ START TRANSACTION
### @1=b'0000000000000000000000000000000000000000000000000000000000000010' /* BIT(64) meta=2048 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -768,7 +768,7 @@ START TRANSACTION
### @1=b'0000000000000000000000000000000000000000000000000000000010000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -789,7 +789,7 @@ START TRANSACTION
### @1=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -797,7 +797,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-25 ddl
/*!100001 SET @@session.gtid_seq_no=25*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -805,7 +805,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-26 ddl
/*!100001 SET @@session.gtid_seq_no=26*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c03 TINYINT)
/*!*/;
@@ -832,7 +832,7 @@ START TRANSACTION
### @1=3 /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -853,7 +853,7 @@ START TRANSACTION
### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -876,7 +876,7 @@ START TRANSACTION
### @1=2 /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -897,7 +897,7 @@ START TRANSACTION
### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -905,7 +905,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-31 ddl
/*!100001 SET @@session.gtid_seq_no=31*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -913,7 +913,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-32 ddl
/*!100001 SET @@session.gtid_seq_no=32*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c04 TINYINT UNSIGNED)
/*!*/;
@@ -937,7 +937,7 @@ START TRANSACTION
### @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -958,7 +958,7 @@ START TRANSACTION
### @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -966,7 +966,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-35 ddl
/*!100001 SET @@session.gtid_seq_no=35*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -974,7 +974,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-36 ddl
/*!100001 SET @@session.gtid_seq_no=36*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c06 BOOL)
/*!*/;
@@ -995,7 +995,7 @@ START TRANSACTION
### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1016,7 +1016,7 @@ START TRANSACTION
### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1024,7 +1024,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-39 ddl
/*!100001 SET @@session.gtid_seq_no=39*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1032,7 +1032,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-40 ddl
/*!100001 SET @@session.gtid_seq_no=40*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c07 SMALLINT)
/*!*/;
@@ -1053,7 +1053,7 @@ START TRANSACTION
### @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1074,7 +1074,7 @@ START TRANSACTION
### @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1082,7 +1082,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-43 ddl
/*!100001 SET @@session.gtid_seq_no=43*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1090,7 +1090,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-44 ddl
/*!100001 SET @@session.gtid_seq_no=44*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c08 SMALLINT UNSIGNED)
/*!*/;
@@ -1114,7 +1114,7 @@ START TRANSACTION
### @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1137,7 +1137,7 @@ START TRANSACTION
### @1=2 /* SHORTINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1158,7 +1158,7 @@ START TRANSACTION
### @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1166,7 +1166,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-48 ddl
/*!100001 SET @@session.gtid_seq_no=48*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1174,7 +1174,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-49 ddl
/*!100001 SET @@session.gtid_seq_no=49*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c10 MEDIUMINT)
/*!*/;
@@ -1195,7 +1195,7 @@ START TRANSACTION
### @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1216,7 +1216,7 @@ START TRANSACTION
### @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1224,7 +1224,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-52 ddl
/*!100001 SET @@session.gtid_seq_no=52*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1232,7 +1232,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-53 ddl
/*!100001 SET @@session.gtid_seq_no=53*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c11 MEDIUMINT UNSIGNED)
/*!*/;
@@ -1256,7 +1256,7 @@ START TRANSACTION
### @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1279,7 +1279,7 @@ START TRANSACTION
### @1=2 /* MEDIUMINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1300,7 +1300,7 @@ START TRANSACTION
### @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1308,7 +1308,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-57 ddl
/*!100001 SET @@session.gtid_seq_no=57*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1316,7 +1316,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-58 ddl
/*!100001 SET @@session.gtid_seq_no=58*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c13 INT)
/*!*/;
@@ -1337,7 +1337,7 @@ START TRANSACTION
### @1=123456 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1358,7 +1358,7 @@ START TRANSACTION
### @1=123456 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1366,7 +1366,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-61 ddl
/*!100001 SET @@session.gtid_seq_no=61*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1374,7 +1374,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-62 ddl
/*!100001 SET @@session.gtid_seq_no=62*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c14 INT UNSIGNED)
/*!*/;
@@ -1398,7 +1398,7 @@ START TRANSACTION
### @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1421,7 +1421,7 @@ START TRANSACTION
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1442,7 +1442,7 @@ START TRANSACTION
### @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1450,7 +1450,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-66 ddl
/*!100001 SET @@session.gtid_seq_no=66*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1458,7 +1458,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-67 ddl
/*!100001 SET @@session.gtid_seq_no=67*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c16 BIGINT)
/*!*/;
@@ -1479,7 +1479,7 @@ START TRANSACTION
### @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1500,7 +1500,7 @@ START TRANSACTION
### @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1508,7 +1508,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-70 ddl
/*!100001 SET @@session.gtid_seq_no=70*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1516,7 +1516,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-71 ddl
/*!100001 SET @@session.gtid_seq_no=71*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c17 BIGINT UNSIGNED)
/*!*/;
@@ -1540,7 +1540,7 @@ START TRANSACTION
### @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1563,7 +1563,7 @@ START TRANSACTION
### @1=2 /* LONGINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1584,7 +1584,7 @@ START TRANSACTION
### @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1592,7 +1592,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-75 ddl
/*!100001 SET @@session.gtid_seq_no=75*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1600,7 +1600,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-76 ddl
/*!100001 SET @@session.gtid_seq_no=76*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c19 FLOAT)
/*!*/;
@@ -1621,7 +1621,7 @@ START TRANSACTION
### @1=123.223... /* FLOAT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1642,7 +1642,7 @@ START TRANSACTION
### @1=123.223... /* FLOAT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1650,7 +1650,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-79 ddl
/*!100001 SET @@session.gtid_seq_no=79*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1658,7 +1658,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-80 ddl
/*!100001 SET @@session.gtid_seq_no=80*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c22 DOUBLE)
/*!*/;
@@ -1679,7 +1679,7 @@ START TRANSACTION
### @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1700,7 +1700,7 @@ START TRANSACTION
### @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1708,7 +1708,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-83 ddl
/*!100001 SET @@session.gtid_seq_no=83*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1716,7 +1716,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-84 ddl
/*!100001 SET @@session.gtid_seq_no=84*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c25 DECIMAL(10,5))
/*!*/;
@@ -1737,7 +1737,7 @@ START TRANSACTION
### @1=124.45000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1758,7 +1758,7 @@ START TRANSACTION
### @1=-543.21000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1779,7 +1779,7 @@ START TRANSACTION
### @1=124.45000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1787,7 +1787,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-88 ddl
/*!100001 SET @@session.gtid_seq_no=88*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1795,7 +1795,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-89 ddl
/*!100001 SET @@session.gtid_seq_no=89*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c28 DATE)
/*!*/;
@@ -1816,7 +1816,7 @@ START TRANSACTION
### @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1837,7 +1837,7 @@ START TRANSACTION
### @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1845,7 +1845,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-92 ddl
/*!100001 SET @@session.gtid_seq_no=92*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1853,7 +1853,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-93 ddl
/*!100001 SET @@session.gtid_seq_no=93*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c29 DATETIME)
/*!*/;
@@ -1874,7 +1874,7 @@ START TRANSACTION
### @1='2001-02-03 10:20:30' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1895,7 +1895,7 @@ START TRANSACTION
### @1='2001-02-03 10:20:30' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1903,7 +1903,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-96 ddl
/*!100001 SET @@session.gtid_seq_no=96*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1911,7 +1911,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-97 ddl
/*!100001 SET @@session.gtid_seq_no=97*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c30 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
/*!*/;
@@ -1932,7 +1932,7 @@ START TRANSACTION
### @1=981184830 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
COMMIT
@@ -1954,7 +1954,7 @@ START TRANSACTION
### @1=981184830 /* TIMESTAMP(0) meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1962,7 +1962,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-100 ddl
/*!100001 SET @@session.gtid_seq_no=100*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -1970,7 +1970,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-101 ddl
/*!100001 SET @@session.gtid_seq_no=101*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c31 TIME)
/*!*/;
@@ -1991,7 +1991,7 @@ START TRANSACTION
### @1='11:22:33' /* TIME(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2012,7 +2012,7 @@ START TRANSACTION
### @1='11:22:33' /* TIME(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2020,7 +2020,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-104 ddl
/*!100001 SET @@session.gtid_seq_no=104*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2028,7 +2028,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-105 ddl
/*!100001 SET @@session.gtid_seq_no=105*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c32 YEAR)
/*!*/;
@@ -2049,7 +2049,7 @@ START TRANSACTION
### @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2070,7 +2070,7 @@ START TRANSACTION
### @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2078,7 +2078,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-108 ddl
/*!100001 SET @@session.gtid_seq_no=108*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2086,7 +2086,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-109 ddl
/*!100001 SET @@session.gtid_seq_no=109*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c33 CHAR)
/*!*/;
@@ -2107,7 +2107,7 @@ START TRANSACTION
### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2128,7 +2128,7 @@ START TRANSACTION
### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2136,7 +2136,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-112 ddl
/*!100001 SET @@session.gtid_seq_no=112*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2144,7 +2144,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-113 ddl
/*!100001 SET @@session.gtid_seq_no=113*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c34 CHAR(0))
/*!*/;
@@ -2165,7 +2165,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2186,7 +2186,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2194,7 +2194,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-116 ddl
/*!100001 SET @@session.gtid_seq_no=116*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2202,7 +2202,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-117 ddl
/*!100001 SET @@session.gtid_seq_no=117*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c35 CHAR(1))
/*!*/;
@@ -2223,7 +2223,7 @@ START TRANSACTION
### @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2244,7 +2244,7 @@ START TRANSACTION
### @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2252,7 +2252,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-120 ddl
/*!100001 SET @@session.gtid_seq_no=120*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2260,7 +2260,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-121 ddl
/*!100001 SET @@session.gtid_seq_no=121*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c36 CHAR(255))
/*!*/;
@@ -2281,7 +2281,7 @@ START TRANSACTION
### @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2302,7 +2302,7 @@ START TRANSACTION
### @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2310,7 +2310,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-124 ddl
/*!100001 SET @@session.gtid_seq_no=124*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2318,7 +2318,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-125 ddl
/*!100001 SET @@session.gtid_seq_no=125*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c37 NATIONAL CHAR)
/*!*/;
@@ -2339,7 +2339,7 @@ START TRANSACTION
### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2360,7 +2360,7 @@ START TRANSACTION
### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2368,7 +2368,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-128 ddl
/*!100001 SET @@session.gtid_seq_no=128*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2376,7 +2376,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-129 ddl
/*!100001 SET @@session.gtid_seq_no=129*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c38 NATIONAL CHAR(0))
/*!*/;
@@ -2397,7 +2397,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2418,7 +2418,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2426,7 +2426,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-132 ddl
/*!100001 SET @@session.gtid_seq_no=132*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2434,7 +2434,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-133 ddl
/*!100001 SET @@session.gtid_seq_no=133*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c39 NATIONAL CHAR(1))
/*!*/;
@@ -2455,7 +2455,7 @@ START TRANSACTION
### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2476,7 +2476,7 @@ START TRANSACTION
### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2484,7 +2484,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-136 ddl
/*!100001 SET @@session.gtid_seq_no=136*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2492,7 +2492,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-137 ddl
/*!100001 SET @@session.gtid_seq_no=137*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c40 NATIONAL CHAR(255))
/*!*/;
@@ -2513,7 +2513,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* STRING(765) meta=57085 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2534,7 +2534,7 @@ START TRANSACTION
### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2558,7 +2558,7 @@ START TRANSACTION
### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2566,7 +2566,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-141 ddl
/*!100001 SET @@session.gtid_seq_no=141*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2574,7 +2574,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-142 ddl
/*!100001 SET @@session.gtid_seq_no=142*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c41 CHAR CHARACTER SET UCS2)
/*!*/;
@@ -2595,7 +2595,7 @@ START TRANSACTION
### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2616,7 +2616,7 @@ START TRANSACTION
### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2624,7 +2624,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-145 ddl
/*!100001 SET @@session.gtid_seq_no=145*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2632,7 +2632,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-146 ddl
/*!100001 SET @@session.gtid_seq_no=146*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c42 CHAR(0) CHARACTER SET UCS2)
/*!*/;
@@ -2653,7 +2653,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2674,7 +2674,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2682,7 +2682,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-149 ddl
/*!100001 SET @@session.gtid_seq_no=149*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2690,7 +2690,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-150 ddl
/*!100001 SET @@session.gtid_seq_no=150*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c43 CHAR(1) CHARACTER SET UCS2)
/*!*/;
@@ -2711,7 +2711,7 @@ START TRANSACTION
### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2732,7 +2732,7 @@ START TRANSACTION
### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2740,7 +2740,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-153 ddl
/*!100001 SET @@session.gtid_seq_no=153*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2748,7 +2748,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-154 ddl
/*!100001 SET @@session.gtid_seq_no=154*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c44 CHAR(255) CHARACTER SET UCS2)
/*!*/;
@@ -2769,7 +2769,7 @@ START TRANSACTION
### @1='\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(510) meta=61182 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2790,7 +2790,7 @@ START TRANSACTION
### @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ß\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ß\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ß\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ß\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ß\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ß\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ß\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ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß' /* STRING(510) meta=61182 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2814,7 +2814,7 @@ START TRANSACTION
### @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ß\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ß\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ß\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ß\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ß\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ß\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ß\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ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß' /* STRING(510) meta=61182 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2822,7 +2822,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-158 ddl
/*!100001 SET @@session.gtid_seq_no=158*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2830,7 +2830,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-159 ddl
/*!100001 SET @@session.gtid_seq_no=159*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c45 VARCHAR(0))
/*!*/;
@@ -2851,7 +2851,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2872,7 +2872,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2880,7 +2880,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-162 ddl
/*!100001 SET @@session.gtid_seq_no=162*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2888,7 +2888,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-163 ddl
/*!100001 SET @@session.gtid_seq_no=163*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c46 VARCHAR(1))
/*!*/;
@@ -2909,7 +2909,7 @@ START TRANSACTION
### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2930,7 +2930,7 @@ START TRANSACTION
### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2938,7 +2938,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-166 ddl
/*!100001 SET @@session.gtid_seq_no=166*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -2946,7 +2946,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-167 ddl
/*!100001 SET @@session.gtid_seq_no=167*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c47 VARCHAR(255))
/*!*/;
@@ -2967,7 +2967,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2988,7 +2988,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -2996,7 +2996,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-170 ddl
/*!100001 SET @@session.gtid_seq_no=170*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3004,7 +3004,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-171 ddl
/*!100001 SET @@session.gtid_seq_no=171*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c48 VARCHAR(261))
/*!*/;
@@ -3025,7 +3025,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3046,7 +3046,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3054,7 +3054,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-174 ddl
/*!100001 SET @@session.gtid_seq_no=174*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3062,7 +3062,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-175 ddl
/*!100001 SET @@session.gtid_seq_no=175*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c49 NATIONAL VARCHAR(0))
/*!*/;
@@ -3083,7 +3083,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3104,7 +3104,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3112,7 +3112,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-178 ddl
/*!100001 SET @@session.gtid_seq_no=178*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3120,7 +3120,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-179 ddl
/*!100001 SET @@session.gtid_seq_no=179*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c50 NATIONAL VARCHAR(1))
/*!*/;
@@ -3141,7 +3141,7 @@ START TRANSACTION
### @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3162,7 +3162,7 @@ START TRANSACTION
### @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3170,7 +3170,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-182 ddl
/*!100001 SET @@session.gtid_seq_no=182*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3178,7 +3178,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-183 ddl
/*!100001 SET @@session.gtid_seq_no=183*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c51 NATIONAL VARCHAR(255))
/*!*/;
@@ -3199,7 +3199,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3220,7 +3220,7 @@ START TRANSACTION
### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3244,7 +3244,7 @@ START TRANSACTION
### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3252,7 +3252,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-187 ddl
/*!100001 SET @@session.gtid_seq_no=187*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3260,7 +3260,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-188 ddl
/*!100001 SET @@session.gtid_seq_no=188*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c52 NATIONAL VARCHAR(261))
/*!*/;
@@ -3281,7 +3281,7 @@ START TRANSACTION
### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3302,7 +3302,7 @@ START TRANSACTION
### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3326,7 +3326,7 @@ START TRANSACTION
### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3334,7 +3334,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-192 ddl
/*!100001 SET @@session.gtid_seq_no=192*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3342,7 +3342,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-193 ddl
/*!100001 SET @@session.gtid_seq_no=193*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c53 VARCHAR(0) CHARACTER SET ucs2)
/*!*/;
@@ -3363,7 +3363,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3384,7 +3384,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3392,7 +3392,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-196 ddl
/*!100001 SET @@session.gtid_seq_no=196*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3400,7 +3400,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-197 ddl
/*!100001 SET @@session.gtid_seq_no=197*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c54 VARCHAR(1) CHARACTER SET ucs2)
/*!*/;
@@ -3421,7 +3421,7 @@ START TRANSACTION
### @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3442,7 +3442,7 @@ START TRANSACTION
### @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3450,7 +3450,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-200 ddl
/*!100001 SET @@session.gtid_seq_no=200*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3458,7 +3458,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-201 ddl
/*!100001 SET @@session.gtid_seq_no=201*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c55 VARCHAR(255) CHARACTER SET ucs2)
/*!*/;
@@ -3479,7 +3479,7 @@ START TRANSACTION
### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3500,7 +3500,7 @@ START TRANSACTION
### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3508,7 +3508,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-204 ddl
/*!100001 SET @@session.gtid_seq_no=204*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3516,7 +3516,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-205 ddl
/*!100001 SET @@session.gtid_seq_no=205*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c56 VARCHAR(261) CHARACTER SET ucs2)
/*!*/;
@@ -3537,7 +3537,7 @@ START TRANSACTION
### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3558,7 +3558,7 @@ START TRANSACTION
### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3566,7 +3566,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-208 ddl
/*!100001 SET @@session.gtid_seq_no=208*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3574,7 +3574,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-209 ddl
/*!100001 SET @@session.gtid_seq_no=209*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c57 BINARY)
/*!*/;
@@ -3595,7 +3595,7 @@ START TRANSACTION
### @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3616,7 +3616,7 @@ START TRANSACTION
### @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3637,7 +3637,7 @@ START TRANSACTION
### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3658,7 +3658,7 @@ START TRANSACTION
### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3666,7 +3666,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-214 ddl
/*!100001 SET @@session.gtid_seq_no=214*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3674,7 +3674,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-215 ddl
/*!100001 SET @@session.gtid_seq_no=215*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c58 BINARY(0))
/*!*/;
@@ -3695,7 +3695,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3716,7 +3716,7 @@ START TRANSACTION
### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3724,7 +3724,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-218 ddl
/*!100001 SET @@session.gtid_seq_no=218*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3732,7 +3732,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-219 ddl
/*!100001 SET @@session.gtid_seq_no=219*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c59 BINARY(1))
/*!*/;
@@ -3753,7 +3753,7 @@ START TRANSACTION
### @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3774,7 +3774,7 @@ START TRANSACTION
### @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3795,7 +3795,7 @@ START TRANSACTION
### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3816,7 +3816,7 @@ START TRANSACTION
### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3824,7 +3824,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-224 ddl
/*!100001 SET @@session.gtid_seq_no=224*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3832,7 +3832,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-225 ddl
/*!100001 SET @@session.gtid_seq_no=225*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c60 BINARY(255))
/*!*/;
@@ -3853,7 +3853,7 @@ START TRANSACTION
### @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3874,7 +3874,7 @@ START TRANSACTION
### @1='\x02' /* STRING(255) meta=65279 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3895,7 +3895,7 @@ START TRANSACTION
### @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(255) meta=65279 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3916,7 +3916,7 @@ START TRANSACTION
### @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3924,7 +3924,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-230 ddl
/*!100001 SET @@session.gtid_seq_no=230*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3932,7 +3932,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-231 ddl
/*!100001 SET @@session.gtid_seq_no=231*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c61 VARBINARY(0))
/*!*/;
@@ -3953,7 +3953,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3974,7 +3974,7 @@ START TRANSACTION
### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3982,7 +3982,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-234 ddl
/*!100001 SET @@session.gtid_seq_no=234*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -3990,7 +3990,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-235 ddl
/*!100001 SET @@session.gtid_seq_no=235*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c62 VARBINARY(1))
/*!*/;
@@ -4011,7 +4011,7 @@ START TRANSACTION
### @1='\x00' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4032,7 +4032,7 @@ START TRANSACTION
### @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4053,7 +4053,7 @@ START TRANSACTION
### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4074,7 +4074,7 @@ START TRANSACTION
### @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4082,7 +4082,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-240 ddl
/*!100001 SET @@session.gtid_seq_no=240*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4090,7 +4090,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-241 ddl
/*!100001 SET @@session.gtid_seq_no=241*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c63 VARBINARY(255))
/*!*/;
@@ -4111,7 +4111,7 @@ START TRANSACTION
### @1='\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4132,7 +4132,7 @@ START TRANSACTION
### @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4153,7 +4153,7 @@ START TRANSACTION
### @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4174,7 +4174,7 @@ START TRANSACTION
### @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4182,7 +4182,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-246 ddl
/*!100001 SET @@session.gtid_seq_no=246*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4190,7 +4190,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-247 ddl
/*!100001 SET @@session.gtid_seq_no=247*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c65 TINYBLOB)
/*!*/;
@@ -4211,7 +4211,7 @@ START TRANSACTION
### @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4232,7 +4232,7 @@ START TRANSACTION
### @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4240,7 +4240,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-250 ddl
/*!100001 SET @@session.gtid_seq_no=250*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4248,7 +4248,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-251 ddl
/*!100001 SET @@session.gtid_seq_no=251*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c68 BLOB)
/*!*/;
@@ -4269,7 +4269,7 @@ START TRANSACTION
### @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4290,7 +4290,7 @@ START TRANSACTION
### @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4298,7 +4298,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-254 ddl
/*!100001 SET @@session.gtid_seq_no=254*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4306,7 +4306,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-255 ddl
/*!100001 SET @@session.gtid_seq_no=255*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c71 MEDIUMBLOB)
/*!*/;
@@ -4327,7 +4327,7 @@ START TRANSACTION
### @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4348,7 +4348,7 @@ START TRANSACTION
### @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4356,7 +4356,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-258 ddl
/*!100001 SET @@session.gtid_seq_no=258*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4364,7 +4364,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-259 ddl
/*!100001 SET @@session.gtid_seq_no=259*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c74 LONGBLOB)
/*!*/;
@@ -4385,7 +4385,7 @@ START TRANSACTION
### @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4406,7 +4406,7 @@ START TRANSACTION
### @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4414,7 +4414,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-262 ddl
/*!100001 SET @@session.gtid_seq_no=262*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4422,7 +4422,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-263 ddl
/*!100001 SET @@session.gtid_seq_no=263*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c66 TINYTEXT)
/*!*/;
@@ -4443,7 +4443,7 @@ START TRANSACTION
### @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4464,7 +4464,7 @@ START TRANSACTION
### @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4472,7 +4472,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-266 ddl
/*!100001 SET @@session.gtid_seq_no=266*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4480,7 +4480,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-267 ddl
/*!100001 SET @@session.gtid_seq_no=267*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c69 TEXT)
/*!*/;
@@ -4501,7 +4501,7 @@ START TRANSACTION
### @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4522,7 +4522,7 @@ START TRANSACTION
### @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4530,7 +4530,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-270 ddl
/*!100001 SET @@session.gtid_seq_no=270*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4538,7 +4538,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-271 ddl
/*!100001 SET @@session.gtid_seq_no=271*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c72 MEDIUMTEXT)
/*!*/;
@@ -4559,7 +4559,7 @@ START TRANSACTION
### @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4580,7 +4580,7 @@ START TRANSACTION
### @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4588,7 +4588,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-274 ddl
/*!100001 SET @@session.gtid_seq_no=274*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4596,7 +4596,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-275 ddl
/*!100001 SET @@session.gtid_seq_no=275*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c75 LONGTEXT)
/*!*/;
@@ -4617,7 +4617,7 @@ START TRANSACTION
### @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4638,7 +4638,7 @@ START TRANSACTION
### @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4646,7 +4646,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-278 ddl
/*!100001 SET @@session.gtid_seq_no=278*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4654,7 +4654,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-279 ddl
/*!100001 SET @@session.gtid_seq_no=279*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c67 TINYTEXT CHARACTER SET UCS2)
/*!*/;
@@ -4675,7 +4675,7 @@ START TRANSACTION
### @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4696,7 +4696,7 @@ START TRANSACTION
### @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4704,7 +4704,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-282 ddl
/*!100001 SET @@session.gtid_seq_no=282*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4712,7 +4712,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-283 ddl
/*!100001 SET @@session.gtid_seq_no=283*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c70 TEXT CHARACTER SET UCS2)
/*!*/;
@@ -4733,7 +4733,7 @@ START TRANSACTION
### @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4754,7 +4754,7 @@ START TRANSACTION
### @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4762,7 +4762,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-286 ddl
/*!100001 SET @@session.gtid_seq_no=286*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4770,7 +4770,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-287 ddl
/*!100001 SET @@session.gtid_seq_no=287*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c73 MEDIUMTEXT CHARACTER SET UCS2)
/*!*/;
@@ -4791,7 +4791,7 @@ START TRANSACTION
### @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4812,7 +4812,7 @@ START TRANSACTION
### @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4820,7 +4820,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-290 ddl
/*!100001 SET @@session.gtid_seq_no=290*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4828,7 +4828,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-291 ddl
/*!100001 SET @@session.gtid_seq_no=291*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c76 LONGTEXT CHARACTER SET UCS2)
/*!*/;
@@ -4849,7 +4849,7 @@ START TRANSACTION
### @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4870,7 +4870,7 @@ START TRANSACTION
### @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4878,7 +4878,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-294 ddl
/*!100001 SET @@session.gtid_seq_no=294*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4886,7 +4886,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-295 ddl
/*!100001 SET @@session.gtid_seq_no=295*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c77 ENUM('a','b','c'))
/*!*/;
@@ -4907,7 +4907,7 @@ START TRANSACTION
### @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4928,7 +4928,7 @@ START TRANSACTION
### @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4936,7 +4936,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-298 ddl
/*!100001 SET @@session.gtid_seq_no=298*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -4944,7 +4944,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-299 ddl
/*!100001 SET @@session.gtid_seq_no=299*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (c78 SET('a','b','c','d','e','f'))
/*!*/;
@@ -4965,7 +4965,7 @@ START TRANSACTION
### @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4986,7 +4986,7 @@ START TRANSACTION
### @1=b'00000101' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5007,7 +5007,7 @@ START TRANSACTION
### @1=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5028,7 +5028,7 @@ START TRANSACTION
### @1=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5049,7 +5049,7 @@ START TRANSACTION
### @1=b'00001111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5070,7 +5070,7 @@ START TRANSACTION
### @1=b'00011111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5091,7 +5091,7 @@ START TRANSACTION
### @1=b'00111111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5112,7 +5112,7 @@ START TRANSACTION
### @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5120,7 +5120,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-308 ddl
/*!100001 SET @@session.gtid_seq_no=308*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -5128,7 +5128,7 @@ DROP TABLE `t1` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-309 ddl
/*!100001 SET @@session.gtid_seq_no=309*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0)
/*!*/;
@@ -5136,7 +5136,7 @@ CREATE TABLE t1 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-310 ddl
/*!100001 SET @@session.gtid_seq_no=310*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0)
/*!*/;
@@ -5158,7 +5158,7 @@ START TRANSACTION
### @2=0 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5180,7 +5180,7 @@ START TRANSACTION
### @2=1 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5202,7 +5202,7 @@ START TRANSACTION
### @2=0 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5224,7 +5224,7 @@ START TRANSACTION
### @2=1 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5274,7 +5274,7 @@ START TRANSACTION
### @2=1 /* INT meta=0 nullable=0 is_null=0 */
# Number of rows: 4
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5282,7 +5282,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-316 ddl
/*!100001 SET @@session.gtid_seq_no=316*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1`,`t2` /* generated by server */
/*!*/;
@@ -5290,7 +5290,7 @@ DROP TABLE `t1`,`t2` /* generated by server */
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-317 ddl
/*!100001 SET @@session.gtid_seq_no=317*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1(c_char_utf8 CHAR(10) ,
c_varchar_utf8 char(10) ,
@@ -5315,7 +5315,7 @@ START TRANSACTION
### @3='################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5323,7 +5323,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-319 ddl
/*!100001 SET @@session.gtid_seq_no=319*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
@@ -5382,7 +5382,7 @@ DELIMITER /*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=324*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -5412,7 +5412,7 @@ START TRANSACTION
### @1=NULL /* GEOMETRY meta=4 nullable=1 is_null=1 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5433,7 +5433,7 @@ START TRANSACTION
### @1='\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00$@\x00\x00\x00\x00\x00\x00$@' /* GEOMETRY meta=4 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5441,7 +5441,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-327 ddl
/*!100001 SET @@session.gtid_seq_no=327*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
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 a3741867208..5db32763533 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,5 @@
+SET @save_stats_auto_recalc=@@GLOBAL.innodb_stats_auto_recalc;
+SET GLOBAL innodb_stats_auto_recalc=OFF;
set sql_mode="";
SET NAMES 'utf8';
#
@@ -2264,14 +2266,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -5273,14 +5275,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -5673,14 +5675,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -5694,7 +5696,7 @@ c_1_n INT -- row number
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (
c_2_1 DATE,
@@ -5706,7 +5708,7 @@ c_2_n INT -- row number
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 ddl
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (
c_3_1 DATE,
@@ -6311,14 +6313,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -6392,3 +6394,4 @@ DROP TEMPORARY TABLE t;
#
# End of 10.2 test
#
+SET GLOBAL innodb_stats_auto_recalc=@save_stats_auto_recalc;
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 9a0e4127d16..62dcca4d7a2 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_myisam.result
@@ -2264,14 +2264,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -2545,7 +2545,7 @@ START TRANSACTION
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
COMMIT
@@ -2730,7 +2730,7 @@ START TRANSACTION
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3080,7 +3080,7 @@ START TRANSACTION
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3422,7 +3422,7 @@ START TRANSACTION
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -3769,7 +3769,7 @@ START TRANSACTION
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4114,7 +4114,7 @@ START TRANSACTION
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4462,7 +4462,7 @@ START TRANSACTION
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4644,7 +4644,7 @@ START TRANSACTION
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -4823,7 +4823,7 @@ START TRANSACTION
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5005,7 +5005,7 @@ START TRANSACTION
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5185,7 +5185,7 @@ START TRANSACTION
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5296,14 +5296,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -5381,7 +5381,7 @@ START TRANSACTION
### @3=9 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5462,7 +5462,7 @@ START TRANSACTION
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 7
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5515,7 +5515,7 @@ START TRANSACTION
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 7
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5702,14 +5702,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -5723,7 +5723,7 @@ c_1_n INT -- row number
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (
c_2_1 DATE,
@@ -5735,7 +5735,7 @@ c_2_n INT -- row number
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-3 ddl
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (
c_3_1 DATE,
@@ -5811,7 +5811,7 @@ START TRANSACTION
### @3=19 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5883,7 +5883,7 @@ START TRANSACTION
### @3=29 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -5955,7 +5955,7 @@ START TRANSACTION
### @3=39 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 9
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -6147,7 +6147,7 @@ START TRANSACTION
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 18
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -6264,7 +6264,7 @@ START TRANSACTION
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 18
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -6350,14 +6350,14 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=0/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -6398,7 +6398,7 @@ START TRANSACTION
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
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 349dc8b7610..e52b849c4c7 100644
--- a/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
+++ b/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_trans.result
@@ -142,7 +142,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -162,7 +162,7 @@ c2 VARCHAR(20)
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (
c1 INT,
@@ -242,7 +242,7 @@ COMMIT/*!*/;
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-4 ddl
/*!100001 SET @@session.gtid_seq_no=4*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
@@ -250,7 +250,7 @@ TRUNCATE TABLE t1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-5 ddl
/*!100001 SET @@session.gtid_seq_no=5*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
@@ -280,7 +280,7 @@ START TRANSACTION
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -319,7 +319,7 @@ START TRANSACTION
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -341,7 +341,7 @@ START TRANSACTION
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -418,7 +418,7 @@ COMMIT/*!*/;
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-10 ddl
/*!100001 SET @@session.gtid_seq_no=10*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
@@ -426,7 +426,7 @@ TRUNCATE TABLE t1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-11 ddl
/*!100001 SET @@session.gtid_seq_no=11*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t2
/*!*/;
@@ -456,7 +456,7 @@ START TRANSACTION
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -495,7 +495,7 @@ START TRANSACTION
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -517,7 +517,7 @@ START TRANSACTION
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -525,7 +525,7 @@ COMMIT
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-15 ddl
/*!100001 SET @@session.gtid_seq_no=15*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t1
/*!*/;
@@ -533,7 +533,7 @@ TRUNCATE TABLE t1
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-16 ddl
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
# at #
-#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
TRUNCATE TABLE t2
/*!*/;
diff --git a/mysql-test/suite/binlog/r/binlog_row_annotate.result b/mysql-test/suite/binlog/r/binlog_row_annotate.result
index e41258ccafd..539b7140469 100644
--- a/mysql-test/suite/binlog/r/binlog_row_annotate.result
+++ b/mysql-test/suite/binlog/r/binlog_row_annotate.result
@@ -113,7 +113,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -129,7 +129,7 @@ CREATE DATABASE test1
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
@@ -137,7 +137,7 @@ CREATE DATABASE test2
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
@@ -164,7 +164,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -191,7 +191,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -218,7 +218,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -260,7 +260,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -287,7 +287,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -316,7 +316,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -351,7 +351,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -394,7 +394,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -407,7 +407,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -420,7 +420,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -450,7 +450,7 @@ START TRANSACTION
### 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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -463,7 +463,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -476,7 +476,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -510,7 +510,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -526,7 +526,7 @@ CREATE DATABASE test1
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
@@ -534,7 +534,7 @@ CREATE DATABASE test2
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
@@ -559,7 +559,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -584,7 +584,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -609,7 +609,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -647,7 +647,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -672,7 +672,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -697,7 +697,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -736,7 +736,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -752,7 +752,7 @@ CREATE DATABASE test1
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
@@ -760,7 +760,7 @@ CREATE DATABASE test2
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
@@ -787,7 +787,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -814,7 +814,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -841,7 +841,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -883,7 +883,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -910,7 +910,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -939,7 +939,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -974,7 +974,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1017,7 +1017,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1030,7 +1030,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1043,7 +1043,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1073,7 +1073,7 @@ START TRANSACTION
### 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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1086,7 +1086,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1099,7 +1099,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1133,7 +1133,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -1149,7 +1149,7 @@ CREATE DATABASE test1
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
@@ -1157,7 +1157,7 @@ CREATE DATABASE test2
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
@@ -1181,7 +1181,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1205,7 +1205,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1229,7 +1229,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1266,7 +1266,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1290,7 +1290,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -1314,7 +1314,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
diff --git a/mysql-test/suite/binlog/r/binlog_row_binlog.result b/mysql-test/suite/binlog/r/binlog_row_binlog.result
index a1622c138ee..fa111106cd6 100644
--- a/mysql-test/suite/binlog/r/binlog_row_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result
@@ -734,7 +734,7 @@ DROP TEMPORARY TABLE tmp1;
END//
CALL p1();
c1 c2 c3 d1 d2 d3
-utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2
+utf8mb3_general_ci utf8mb3_unicode_ci utf8mb3_unicode_ci 2 2 2
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
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 fc07aed7123..948a69e5b63 100644
--- a/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_row_ctype_ucs.result
@@ -88,14 +88,14 @@ DELIMITER /*!*/;
/*!100001 SET @@session.server_id=#*//*!*/;
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=XXX/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=1411383296/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=X,@@session.collation_connection=X,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -118,7 +118,7 @@ START TRANSACTION
### @1='ä(i1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -139,7 +139,7 @@ START TRANSACTION
### @1='ä(i2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -160,7 +160,7 @@ START TRANSACTION
### @1='ä(i3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -181,7 +181,7 @@ START TRANSACTION
### @1='ä(p1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -202,7 +202,7 @@ START TRANSACTION
### @1='ä(p2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -223,7 +223,7 @@ START TRANSACTION
### @1='ä(p3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -231,7 +231,7 @@ COMMIT
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-# ddl
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
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 8fc90fd968c..fa807d46c32 100644
--- a/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
+++ b/mysql-test/suite/binlog/r/binlog_row_mysqlbinlog_options.result
@@ -47,7 +47,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
use `new_test1`/*!*/;
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -81,7 +81,7 @@ START TRANSACTION
### @2=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -89,7 +89,7 @@ COMMIT
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-3 ddl
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test2`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a INT)
@@ -114,7 +114,7 @@ START TRANSACTION
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -136,7 +136,7 @@ START TRANSACTION
### @2=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -145,7 +145,7 @@ COMMIT
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
# at #
use `new_test3`/*!*/;
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (a INT)
/*!*/;
@@ -169,7 +169,7 @@ START TRANSACTION
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -191,7 +191,7 @@ START TRANSACTION
### @2=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -230,7 +230,7 @@ START TRANSACTION
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 5
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -251,7 +251,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -288,7 +288,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
use `new_test1`/*!*/;
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -322,7 +322,7 @@ START TRANSACTION
### @2=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -330,7 +330,7 @@ COMMIT
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-3 ddl
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test2`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a INT)
@@ -355,7 +355,7 @@ START TRANSACTION
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -377,7 +377,7 @@ START TRANSACTION
### @2=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -386,7 +386,7 @@ COMMIT
/*!100001 SET @@session.gtid_seq_no=6*//*!*/;
# at #
use `new_test3`/*!*/;
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t3 (a INT)
/*!*/;
@@ -410,7 +410,7 @@ START TRANSACTION
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -432,7 +432,7 @@ START TRANSACTION
### @2=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -471,7 +471,7 @@ START TRANSACTION
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 5
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -492,7 +492,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 1
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_binlog.result b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
index 7071cb3ba43..f48b624ec21 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
@@ -334,7 +334,7 @@ DROP TEMPORARY TABLE tmp1;
END//
CALL p1();
c1 c2 c3 d1 d2 d3
-utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2
+utf8mb3_general_ci utf8mb3_unicode_ci utf8mb3_unicode_ci 2 2 2
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid # # GTID #-#-#
@@ -360,7 +360,7 @@ 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'), "%")
+SELECT * FROM t1 WHERE a LIKE CONCAT("%", NAME_CONST('s1',_utf8mb3'test' COLLATE 'utf8mb3_unicode_ci'), "%")
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `bug39182`; DROP TEMPORARY TABLE `tmp1` /* generated by server */
DROP PROCEDURE p1;
@@ -506,6 +506,7 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
master-bin.000001 # Query # # use `mysql`; DELETE FROM db WHERE host='localhost' AND user='@#@'
master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Rotate # # master-bin.000002;pos=POS
drop table t1,t2,t3,tt1;
reset master;
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
index feed949a71a..965971bf85f 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result
@@ -63,9 +63,9 @@ INSERT INTO t1 VALUES('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');
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 NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Only MyISAM tables support collections
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 f7bc552c4e5..85b9a72a49b 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result
@@ -90,14 +90,14 @@ DELIMITER /*!*/;
/*!100001 SET @@session.server_id=#*//*!*/;
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=XXX/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
SET @@session.sql_mode=1411383296/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
-/*!\C utf8 *//*!*/;
+/*!\C utf8mb3 *//*!*/;
SET @@session.character_set_client=X,@@session.collation_connection=X,@@session.collation_server=X/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
@@ -109,12 +109,12 @@ CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8)
START TRANSACTION
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
INSERT INTO t1 VALUES ('ä(i1)')
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -124,12 +124,12 @@ COMMIT
START TRANSACTION
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
INSERT INTO t1 VALUES ('ä(i2)')
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -139,12 +139,12 @@ COMMIT
START TRANSACTION
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
INSERT INTO t1 VALUES ('ä(i3)')
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -154,12 +154,12 @@ COMMIT
START TRANSACTION
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
INSERT INTO t1 VALUES ('ä(p1)')
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -169,12 +169,12 @@ COMMIT
START TRANSACTION
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
INSERT INTO t1 VALUES ('ä(p2)')
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -184,12 +184,12 @@ COMMIT
START TRANSACTION
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
INSERT INTO t1 VALUES ('ä(p3)')
/*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
COMMIT
/*!*/;
@@ -197,7 +197,7 @@ COMMIT
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX GTID #-#-# ddl
/*!100001 SET @@session.gtid_seq_no=#*//*!*/;
# at #
-#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=XXX/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
diff --git a/mysql-test/suite/binlog/r/binlog_table_map_optional_metadata.result b/mysql-test/suite/binlog/r/binlog_table_map_optional_metadata.result
index cb34f48fb69..e5f26e27531 100644
--- a/mysql-test/suite/binlog/r/binlog_table_map_optional_metadata.result
+++ b/mysql-test/suite/binlog/r/binlog_table_map_optional_metadata.result
@@ -93,7 +93,7 @@ INSERT INTO t1(c_char) VALUES("1");
# TINYTEXT CHARSET latin1 COLLATE latin1_swedish_ci,
# TEXT CHARSET latin1 COLLATE latin1_swedish_ci,
# MEDIUMTEXT CHARSET latin1 COLLATE latin1_swedish_ci,
-# LONGTEXT CHARSET utf8 COLLATE utf8_general_ci)
+# LONGTEXT CHARSET utf8mb3 COLLATE utf8mb3_general_ci)
RESET MASTER;
SET GLOBAL binlog_row_metadata = FULL;
INSERT INTO t1(c_char) VALUES("1");
@@ -102,7 +102,7 @@ INSERT INTO t1(c_char) VALUES("1");
# `c_tinytext` TINYTEXT CHARSET latin1 COLLATE latin1_swedish_ci,
# `c_text` TEXT CHARSET latin1 COLLATE latin1_swedish_ci,
# `c_mediumtext` MEDIUMTEXT CHARSET latin1 COLLATE latin1_swedish_ci,
-# `c_longtext` LONGTEXT CHARSET utf8 COLLATE utf8_general_ci)
+# `c_longtext` LONGTEXT CHARSET utf8mb3 COLLATE utf8mb3_general_ci)
DROP TABLE t1;
RESET MASTER;
#
@@ -126,9 +126,9 @@ CREATE TABLE t1(c_char_utf8 CHAR(10) CHARSET utf8,
c_varchar_utf8 VARCHAR(10) CHARSET utf8,
c_text_utf8 TEXT CHARSET utf8);
INSERT INTO t1 VALUES("1", "2", "3");
-# Columns(`c_char_utf8` CHAR(10) CHARSET utf8 COLLATE utf8_general_ci,
-# `c_varchar_utf8` VARCHAR(10) CHARSET utf8 COLLATE utf8_general_ci,
-# `c_text_utf8` TEXT CHARSET utf8 COLLATE utf8_general_ci)
+# Columns(`c_char_utf8` CHAR(10) CHARSET utf8mb3 COLLATE utf8mb3_general_ci,
+# `c_varchar_utf8` VARCHAR(10) CHARSET utf8mb3 COLLATE utf8mb3_general_ci,
+# `c_text_utf8` TEXT CHARSET utf8mb3 COLLATE utf8mb3_general_ci)
DROP TABLE t1;
RESET MASTER;
CREATE TABLE t1(c_utf8mb4_520 CHAR(10) CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci,
diff --git a/mysql-test/suite/binlog/r/binlog_trigger.result b/mysql-test/suite/binlog/r/binlog_trigger.result
index 48ec1dd629e..ee0062db162 100644
--- a/mysql-test/suite/binlog/r/binlog_trigger.result
+++ b/mysql-test/suite/binlog/r/binlog_trigger.result
@@ -22,3 +22,17 @@ master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr3_bi BEFORE INSERT ON t1 FOR EACH ROW precedes tr4_bi INSERT INTO t2 (a) VALUES (NEW.a + 400)
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+#
+# MDEV-25517 Atomic DDL: Assertion `query_arg' in THD::binlog_query
+# upon DROP TRIGGER
+#
+CREATE TABLE t1 (a INT);
+CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW SET @x = 1;
+connect con1,localhost,root,,test;
+DROP TRIGGER trg;
+connection default;
+DROP TRIGGER trg;
+connection con1;
+disconnect con1;
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_truncate_active_log.result b/mysql-test/suite/binlog/r/binlog_truncate_active_log.result
new file mode 100644
index 00000000000..e76c3c3911b
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_truncate_active_log.result
@@ -0,0 +1,239 @@
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+RESET MASTER;
+SET @@global.sync_binlog=1;
+CREATE TABLE t (f INT) ENGINE=INNODB;
+CREATE TABLE t2 (f INT) ENGINE=INNODB;
+CREATE TABLE tm (f INT) ENGINE=Aria;
+# Case A.
+connect master1,localhost,root,,;
+connect master2,localhost,root,,;
+connect master3,localhost,root,,;
+connection default;
+INSERT INTO t VALUES (10);
+INSERT INTO tm VALUES (10);
+connection master1;
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master1_ready WAIT_FOR signal_never_arrives";
+INSERT INTO t VALUES (20);
+connection master2;
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master2_ready";
+DELETE FROM t2 WHERE f = 0 /* no such record */;
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash';
+Before the crash
+0-1-7
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-6/ in mysqld.1.err
+Pre-crash binlog file content:
+include/show_binlog_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 (f INT) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (f INT) ENGINE=INNODB
+master-bin.000001 # Gtid # # GTID #-#-#
+master-bin.000001 # Query # # use `test`; CREATE TABLE tm (f INT) ENGINE=Aria
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (10)
+master-bin.000001 # Xid # # COMMIT /* XID */
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO tm VALUES (10)
+master-bin.000001 # Query # # COMMIT
+SELECT @@global.gtid_binlog_pos as 'After the crash';
+After the crash
+0-1-5
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+DELETE FROM t;
+# Case B.
+connect master1,localhost,root,,;
+connect master2,localhost,root,,;
+connect master3,localhost,root,,;
+connection default;
+INSERT INTO t VALUES (10);
+INSERT INTO tm VALUES (10);
+connection master1;
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master1_ready WAIT_FOR signal_never_arrives";
+DELETE FROM t2 WHERE f = 0;
+connection master2;
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master2_ready";
+INSERT INTO t VALUES (20);
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash';
+Before the crash
+0-1-10
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-10/ in mysqld.1.err
+Pre-crash binlog file content:
+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 # Query # # use `test`; DELETE FROM t
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; INSERT INTO t VALUES (10)
+master-bin.000002 # Xid # # COMMIT /* XID */
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; INSERT INTO tm VALUES (10)
+master-bin.000002 # Query # # COMMIT
+master-bin.000002 # Gtid # # BEGIN GTID #-#-#
+master-bin.000002 # Query # # use `test`; DELETE FROM t2 WHERE f = 0
+master-bin.000002 # Query # # COMMIT
+SELECT @@global.gtid_binlog_pos as 'After the crash';
+After the crash
+0-1-9
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+DELETE FROM t;
+# Case C.
+CREATE PROCEDURE sp_blank_xa()
+BEGIN
+XA START 'blank';
+DELETE FROM t2 WHERE f = 0 /* no such record */;
+XA END 'blank';
+XA PREPARE 'blank';
+END|
+connect master1,localhost,root,,;
+connect master2,localhost,root,,;
+connect master3,localhost,root,,;
+connection default;
+INSERT INTO t VALUES (10);
+INSERT INTO tm VALUES (10);
+connection master1;
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master1_ready WAIT_FOR signal_never_arrives";
+INSERT INTO t VALUES (20);
+connection master2;
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master2_ready";
+CALL sp_blank_xa;
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash';
+Before the crash
+0-1-15
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-14/ in mysqld.1.err
+Pre-crash binlog file content:
+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 # Query # # use `test`; DELETE FROM t
+master-bin.000003 # Xid # # COMMIT /* XID */
+master-bin.000003 # Gtid # # GTID #-#-#
+master-bin.000003 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_blank_xa`()
+BEGIN
+XA START 'blank';
+DELETE FROM t2 WHERE f = 0 /* no such record */;
+XA END 'blank';
+XA PREPARE 'blank';
+END
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; INSERT INTO t VALUES (10)
+master-bin.000003 # Xid # # COMMIT /* XID */
+master-bin.000003 # Gtid # # BEGIN GTID #-#-#
+master-bin.000003 # Query # # use `test`; INSERT INTO tm VALUES (10)
+master-bin.000003 # Query # # COMMIT
+SELECT @@global.gtid_binlog_pos as 'After the crash';
+After the crash
+0-1-13
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+DELETE FROM t;
+DROP PROCEDURE sp_blank_xa;
+# Case D.
+CREATE PROCEDURE sp_xa()
+BEGIN
+XA START 'xid';
+DELETE FROM t WHERE f = 10;
+XA END 'xid';
+XA PREPARE 'xid';
+END|
+connect master1,localhost,root,,;
+connect master2,localhost,root,,;
+connect master3,localhost,root,,;
+connection default;
+INSERT INTO t VALUES (10);
+INSERT INTO tm VALUES (10);
+connection master1;
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master1_ready WAIT_FOR signal_never_arrives";
+CALL sp_xa;
+connection master2;
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master2_ready";
+INSERT INTO t2 VALUES (20);
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash';
+Before the crash
+0-1-20
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+disconnect master3;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+FOUND 1 /Successfully truncated.*to remove transactions starting from GTID 0-1-20/ in mysqld.1.err
+Pre-crash binlog file content:
+include/show_binlog_events.inc
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; DELETE FROM t
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Gtid # # GTID #-#-#
+master-bin.000004 # Query # # use `test`; DROP PROCEDURE sp_blank_xa
+master-bin.000004 # Gtid # # GTID #-#-#
+master-bin.000004 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_xa`()
+BEGIN
+XA START 'xid';
+DELETE FROM t WHERE f = 10;
+XA END 'xid';
+XA PREPARE 'xid';
+END
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; INSERT INTO t VALUES (10)
+master-bin.000004 # Xid # # COMMIT /* XID */
+master-bin.000004 # Gtid # # BEGIN GTID #-#-#
+master-bin.000004 # Query # # use `test`; INSERT INTO tm VALUES (10)
+master-bin.000004 # Query # # COMMIT
+master-bin.000004 # Gtid # # XA START X'786964',X'',1 GTID #-#-#
+master-bin.000004 # Query # # use `test`; DELETE FROM t WHERE f = 10
+master-bin.000004 # Query # # XA END X'786964',X'',1
+master-bin.000004 # XA_prepare # # XA PREPARE X'786964',X'',1
+SELECT @@global.gtid_binlog_pos as 'After the crash';
+After the crash
+0-1-19
+"One row should be present in table 't'"
+SELECT * FROM t;
+f
+10
+DELETE FROM t;
+DROP PROCEDURE sp_xa;
+# Cleanup
+DROP TABLE t,t2,tm;
+SET @@global.sync_binlog= default;
+# End of the tests
diff --git a/mysql-test/suite/binlog/r/binlog_truncate_multi_engine.result b/mysql-test/suite/binlog/r/binlog_truncate_multi_engine.result
new file mode 100644
index 00000000000..13de367a9b8
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_truncate_multi_engine.result
@@ -0,0 +1,191 @@
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+SET @@global.sync_binlog= 1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE t2 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=rocksdb;
+#
+#
+# Case "A" : "neither engine committed => rollback & binlog truncate"
+#
+RESET MASTER;
+FLUSH LOGS;
+SET GLOBAL max_binlog_size= 4096;
+connect con1,localhost,root,,;
+List of binary logs before rotation
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+INSERT INTO t1 VALUES (1, REPEAT("x", 1));
+INSERT INTO t2 VALUES (1, REPEAT("x", 1));
+BEGIN;
+INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (2, REPEAT("x", 4100));
+SET DEBUG_SYNC= "commit_after_release_LOCK_log SIGNAL con1_ready WAIT_FOR signal_no_signal";
+COMMIT;
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+List of binary logs after rotation
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+# restart the server with --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+# the server is restarted
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+connection default;
+#
+# *** Summary: 1 row should be present in both tables; binlog is truncated; number of binlogs at reconnect - 3:
+#
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+1
+SELECT @@GLOBAL.gtid_binlog_state;
+@@GLOBAL.gtid_binlog_state
+0-1-2
+SELECT @@GLOBAL.gtid_binlog_pos;
+@@GLOBAL.gtid_binlog_pos
+0-1-2
+List of binary logs at the end of the tests
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+# ***
+DELETE FROM t1;
+DELETE FROM t2;
+disconnect con1;
+#
+Proof of the truncated binlog file is readable (two transactions must be seen):
+/*!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 /*!*/;
+START TRANSACTION
+/*!*/;
+COMMIT/*!*/;
+START TRANSACTION
+/*!*/;
+COMMIT/*!*/;
+DELIMITER ;
+# End of log file
+ROLLBACK /* added by mysqlbinlog */;
+/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
+/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
+#
+#
+# Case "B" : "one engine has committed its transaction branch"
+#
+RESET MASTER;
+FLUSH LOGS;
+SET GLOBAL max_binlog_size= 4096;
+connect con1,localhost,root,,;
+List of binary logs before rotation
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+INSERT INTO t1 VALUES (1, REPEAT("x", 1));
+INSERT INTO t2 VALUES (1, REPEAT("x", 1));
+SET GLOBAL debug_dbug="d,enable_log_write_upto_crash";
+BEGIN;
+INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (2, REPEAT("x", 4100));
+COMMIT;
+connection default;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+connection default;
+#
+# *** Summary: 2 rows should be present in both tables; no binlog truncation; one extra binlog file compare with A; number of binlogs at reconnect - 4:
+#
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+2
+SELECT @@GLOBAL.gtid_binlog_state;
+@@GLOBAL.gtid_binlog_state
+0-1-3
+SELECT @@GLOBAL.gtid_binlog_pos;
+@@GLOBAL.gtid_binlog_pos
+0-1-3
+List of binary logs at the end of the tests
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+# ***
+DELETE FROM t1;
+DELETE FROM t2;
+disconnect con1;
+#
+#
+#
+# Case "C" : "both engines have committed its transaction branch"
+#
+RESET MASTER;
+FLUSH LOGS;
+SET GLOBAL max_binlog_size= 4096;
+connect con1,localhost,root,,;
+List of binary logs before rotation
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+INSERT INTO t1 VALUES (1, REPEAT("x", 1));
+INSERT INTO t2 VALUES (1, REPEAT("x", 1));
+BEGIN;
+INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
+INSERT INTO t1 VALUES (2, REPEAT("x", 4100));
+SET DEBUG_SYNC= "commit_after_run_commit_ordered SIGNAL con1_ready WAIT_FOR signal_no_signal";
+COMMIT;
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+List of binary logs after rotation
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+# restart the server with --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+# the server is restarted
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+connection default;
+#
+# *** Summary: 2 rows should be present in both tables; no binlog truncation; the same # of binlog files as in B; number of binlogs at reconnect - 4:
+#
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+2
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+2
+SELECT @@GLOBAL.gtid_binlog_state;
+@@GLOBAL.gtid_binlog_state
+0-1-3
+SELECT @@GLOBAL.gtid_binlog_pos;
+@@GLOBAL.gtid_binlog_pos
+0-1-3
+List of binary logs at the end of the tests
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+master-bin.000004 #
+# ***
+DELETE FROM t1;
+DELETE FROM t2;
+disconnect con1;
+#
+DROP TABLE t1, t2;
+SET @@global.sync_binlog= default;
+# End of the tests
diff --git a/mysql-test/suite/binlog/r/binlog_truncate_multi_log.result b/mysql-test/suite/binlog/r/binlog_truncate_multi_log.result
new file mode 100644
index 00000000000..ae292c04c32
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_truncate_multi_log.result
@@ -0,0 +1,55 @@
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+SET @@global.max_binlog_size= 4096;
+SET @@global.sync_binlog= 1;
+RESET MASTER;
+FLUSH LOGS;
+CREATE TABLE ti (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE tm (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=MyISAM;
+connect master1,localhost,root,,;
+"List of binary logs before rotation"
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+INSERT INTO ti VALUES(1,"I am gonna survive");
+INSERT INTO tm VALUES(1,"me too!");
+SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync SIGNAL master1_ready WAIT_FOR master1_go_never_arrives";
+INSERT INTO ti VALUES (2, REPEAT("x", 4100));
+connect master2,localhost,root,,;
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master2_ready WAIT_FOR master2_go_never_arrives";
+INSERT INTO ti VALUES (3, "not gonna survive");
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+"List of binary logs before crash"
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+master-bin.000003 #
+# The gtid binlog state prior the crash will be truncated at the end of the test
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+0-1-6
+connection default;
+# Kill the server
+disconnect master1;
+disconnect master2;
+# restart: --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+FOUND 1 /truncated binlog file:.*master.*000002/ in mysqld.1.err
+"One record should be present in table"
+SELECT * FROM ti;
+a b
+1 I am gonna survive
+# The truncated gtid binlog state
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+0-1-4
+SELECT @@global.gtid_binlog_pos;
+@@global.gtid_binlog_pos
+0-1-4
+# Cleanup
+DROP TABLE ti;
+SET @@global.sync_binlog= default;
+# End of the tests
diff --git a/mysql-test/suite/binlog/r/binlog_truncate_multi_log_unsafe.result b/mysql-test/suite/binlog/r/binlog_truncate_multi_log_unsafe.result
new file mode 100644
index 00000000000..022f6222af4
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_truncate_multi_log_unsafe.result
@@ -0,0 +1,60 @@
+SET @@global.max_binlog_size= 4096;
+call mtr.add_suppression("Table '.*tm' is marked as crashed and should be repaired");
+call mtr.add_suppression("Got an error from unknown thread");
+call mtr.add_suppression("Checking table: '.*tm'");
+call mtr.add_suppression("Recovering table: '.*tm'");
+call mtr.add_suppression("Cannot truncate the binary log to file");
+call mtr.add_suppression("Crash recovery failed");
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+call mtr.add_suppression("Found 1 prepared transactions");
+call mtr.add_suppression("mysqld: Table.*tm.*is marked as crashed");
+call mtr.add_suppression("Checking table.*tm");
+RESET MASTER;
+FLUSH LOGS;
+SET @@global.sync_binlog=1;
+CREATE TABLE ti (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE tm (f INT) ENGINE=MYISAM;
+INSERT INTO tm VALUES(1);
+connect master1,localhost,root,,;
+connect master2,localhost,root,,;
+connect master3,localhost,root,,;
+connection master1;
+SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync SIGNAL master1_ready WAIT_FOR master1_go_never_arrives";
+INSERT INTO ti VALUES (5 - 1, REPEAT("x", 4100));
+connection master2;
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master2_ready WAIT_FOR master2_go_never_arrives";
+INSERT INTO ti VALUES (5, REPEAT("x", 1));
+connection master3;
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master3_ready";
+INSERT INTO tm VALUES (2);
+connection default;
+SET DEBUG_SYNC= "now WAIT_FOR master3_ready";
+# The gtid binlog state prior the crash must be restored at the end of the test;
+SELECT @@global.gtid_binlog_state;
+@@global.gtid_binlog_state
+0-1-9
+# Kill the server
+# Failed restart as the semisync slave
+# Normal restart
+# restart
+FOUND 1 /Cannot truncate the binary log to file/ in mysqld.1.err
+# Proof that the in-doubt transactions are recovered by the 2nd normal server restart
+SELECT COUNT(*) = 5 as 'True' FROM ti;
+True
+1
+SELECT COUNT(*) <= 1 FROM tm;
+COUNT(*) <= 1
+1
+# The gtid binlog state prior the crash is restored now
+SELECT @@GLOBAL.gtid_binlog_state;
+@@GLOBAL.gtid_binlog_state
+0-1-9
+SELECT @@GLOBAL.gtid_binlog_pos;
+@@GLOBAL.gtid_binlog_pos
+0-1-9
+# Cleanup
+DROP TABLE ti, tm;
+End of test
diff --git a/mysql-test/suite/binlog/r/binlog_xa_prepared_disconnect.result b/mysql-test/suite/binlog/r/binlog_xa_prepared_disconnect.result
index 9fda8ab3143..10a0fc39266 100644
--- a/mysql-test/suite/binlog/r/binlog_xa_prepared_disconnect.result
+++ b/mysql-test/suite/binlog/r/binlog_xa_prepared_disconnect.result
@@ -3,6 +3,7 @@ RESET MASTER;
CREATE VIEW v_processlist as SELECT * FROM performance_schema.threads where type = 'FOREGROUND';
call mtr.add_suppression("Found 10 prepared XA transactions");
CREATE TABLE t (a INT) ENGINE=innodb;
+INSERT INTO t VALUES(100);
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@sql_log_bin = OFF;
CREATE TEMPORARY TABLE tmp1 (a int) ENGINE=innodb;
@@ -48,18 +49,21 @@ connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx1ro';
SELECT * from t ORDER BY a;
a
+100
XA END 'trx1ro';
XA PREPARE 'trx1ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx2ro';
SELECT * from t ORDER BY a;
a
+100
XA END 'trx2ro';
XA PREPARE 'trx2ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
XA START 'trx3ro';
SELECT * from t ORDER BY a;
a
+100
XA END 'trx3ro';
XA PREPARE 'trx3ro';
connection default;
@@ -402,6 +406,7 @@ ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_19';
SELECT * FROM t;
a
+100
5
6
7
@@ -533,6 +538,7 @@ a
12
13
14
+100
XA END 'trx1ro';
XA PREPARE 'trx1ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
@@ -559,6 +565,7 @@ a
12
13
14
+100
XA END 'trx2ro';
XA PREPARE 'trx2ro';
connect conn$index$type, 127.0.0.1,root,,test,$MASTER_MYPORT,;
@@ -585,6 +592,7 @@ a
12
13
14
+100
XA END 'trx3ro';
XA PREPARE 'trx3ro';
connection default;
@@ -927,6 +935,7 @@ ERROR XAE08: XAER_DUPID: The XID already exists
XA ROLLBACK 'trx_19';
SELECT * FROM t;
a
+100
5
6
7
@@ -1036,7 +1045,7 @@ XA END 'one_phase_trx_4';
XA COMMIT 'one_phase_trx_4' ONE PHASE;
SELECT SUM(a) FROM t;
SUM(a)
-290
+390
DROP TABLE t;
DROP VIEW v_processlist;
include/show_binlog_events.inc
@@ -1048,6 +1057,9 @@ master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern)
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t (a INT) ENGINE=innodb
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES(100)
+master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Gtid # # XA START X'7472785f30',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO t SET a=0
master-bin.000001 # Query # # XA END X'7472785f30',X'',1
diff --git a/mysql-test/suite/binlog/r/binlog_xa_recover_using_new_server_id.result b/mysql-test/suite/binlog/r/binlog_xa_recover_using_new_server_id.result
new file mode 100644
index 00000000000..2495df1845f
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_xa_recover_using_new_server_id.result
@@ -0,0 +1,17 @@
+========= Set server_id to 99 and prepare test table.
+SET GLOBAL server_id= 99;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+========= Crash the server.
+SET SESSION debug_dbug="+d,crash_commit_after_log";
+INSERT INTO t1 VALUES (1, NULL);
+Got one of the listed errors
+========= Restart the server with default config file in which server_id= 1.
+========= Check that recover succeeds and server is up.
+connection default;
+========= Check that all transactions are recovered.
+SELECT a FROM t1 ORDER BY a;
+a
+1
+========= Cleanup.
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/flashback.result b/mysql-test/suite/binlog/r/flashback.result
index da1ef1f40dd..61b97d95d01 100644
--- a/mysql-test/suite/binlog/r/flashback.result
+++ b/mysql-test/suite/binlog/r/flashback.result
@@ -56,7 +56,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -418,7 +418,7 @@ START TRANSACTION/*!*/;
### @8='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
COMMIT
/*!*/;
-#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
diff --git a/mysql-test/suite/binlog/t/binlog_1pc.test b/mysql-test/suite/binlog/t/binlog_1pc.test
new file mode 100644
index 00000000000..8465ff171b3
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_1pc.test
@@ -0,0 +1,39 @@
+# The test file contains tests specific to one phase commit
+# execution and binlogging.
+#
+# MDEV-26031 unnessary xid logging in one phase commit case
+#
+--source include/have_innodb.inc
+--source include/have_aria.inc
+--source include/have_binlog_format_mixed.inc
+
+RESET MASTER;
+
+CREATE TABLE t (f INT) ENGINE=INNODB;
+CREATE TABLE ta (f INT) ENGINE=Aria;
+
+--let $binlog_start = query_get_value(SHOW MASTER STATUS, Position, 1)
+BEGIN;
+ INSERT INTO t SET f = 1;
+ INSERT INTO ta SET f = 1;
+COMMIT;
+--let $binlog_file = query_get_value(SHOW MASTER STATUS, File, 1)
+--source include/show_binlog_events.inc
+
+--echo # Prove that binlog is resettable. Under the bug condition it was not.
+RESET MASTER;
+
+--let $binlog_start = query_get_value(SHOW MASTER STATUS, Position, 1)
+--let $binlog_file = query_get_value(SHOW MASTER STATUS, File, 1)
+SET @@binlog_format = ROW;
+CREATE TABLE ta2 ENGINE = Aria SELECT * from t;
+--source include/show_binlog_events.inc
+
+--echo # Prove that binlog is resettable. Under the bug condition it was not.
+RESET MASTER;
+
+
+--echo # Cleanup
+DROP TABLE ta2, ta, t;
+
+--echo # End of the tests
diff --git a/mysql-test/suite/binlog/t/binlog_expire_logs_seconds.test b/mysql-test/suite/binlog/t/binlog_expire_logs_seconds.test
new file mode 100644
index 00000000000..bb53f2c4130
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_expire_logs_seconds.test
@@ -0,0 +1,122 @@
+#
+# WL#9236: Add a new variable binlog_expire_logs_seconds
+#
+# ==== Purpose ====
+# The test case test the following:
+#
+# 1. If binlog_expire_logs_seconds = 0 and expire_logs_days = 0, no purge happens.
+#
+# 2. In all the below listed cases it purges the binary logs older than the timeout
+# and keeps the binary logs newer than the timeout.
+#
+# 2.1. binlog_expire_logs_seconds > 0 and expire_logs_days > 0
+# 2.2. binlog_expire_logs_seconds > 0 and expire_logs_days = 0
+# 2.3. binlog_expire_logs_seconds = 0 and expire_logs_days > 0
+# 2.4. binlog_expire_logs_seconds = 1, testing smallest value
+# 2.5. binlog_expire_logs_seconds = 8553600, testing max value 99days
+#
+# Additional tests for the boundaries of expire_logs_days already
+# exist on the sys_vars.expire_logs_days_basic test case.
+
+# Test in this file is binlog format agnostic, thus no need
+# to rerun it for every format.
+--source include/have_binlog_format_row.inc
+--source include/not_windows.inc
+
+--let $saved_expire_logs_days= `SELECT @@GLOBAL.expire_logs_days`
+--let $saved_binlog_expire_logs_seconds= `SELECT @@GLOBAL.binlog_expire_logs_seconds`
+# Set the datadir
+--let $MYSQLD_DATADIR= `SELECT @@datadir`
+
+--echo ####
+--echo #### 1. When binlog_expire_logs_seconds == 0 and expire_logs_days == 0
+--echo #### no purge should happen
+
+SET GLOBAL binlog_expire_logs_seconds= 0;
+SET GLOBAL expire_logs_days= 0;
+
+# This will test the expire period for three scenarios, described in the .inc file.
+--source suite/binlog/include/binlog_expire_logs_seconds.inc
+
+--echo ####
+--echo #### 2.1: binlog_expire_logs_seconds > 0 and expire_logs_days > 0
+--echo #### expire_logs_days=1.5 and binlog_expire_logs_seconds=86400
+--echo #### Since binlog_expire_logs_seconds is set later
+--echo #### expire_logs_days value will be overridden should be
+--echo #### '0.000347222'
+--echo ####
+
+# Here we will test both with smaller values and larger values
+
+--echo Testing with smaller values of binlog_expire_logs_seconds
+
+SET GLOBAL expire_logs_days= 1.5;
+SET GLOBAL binlog_expire_logs_seconds= 30 ;
+SELECT @@expire_logs_days as 'Expected_0.000347222';
+SELECT @@binlog_expire_logs_seconds as Expected_30;
+
+--let $expire_logs_seconds= `SELECT @@global.binlog_expire_logs_seconds`
+
+--let $first_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+FLUSH LOGS;
+
+--sleep $expire_logs_seconds
+
+--let $second_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+FLUSH LOGS;
+
+# The sleep is in two parts to ensure a time gap between first_binlog_file
+# and second_binlog_file, by doing that we can check that one is purged and
+# another isn't.
+# sleep for n seconds here, n < $expire_logs_seconds
+--sleep 3
+FLUSH LOGS;
+
+--error 1
+--file_exists $MYSQLD_DATADIR/$first_binlog_file
+
+--file_exists $MYSQLD_DATADIR/$second_binlog_file
+
+RESET MASTER;
+--echo ####
+--echo #### 2.2: binlog_expire_logs_seconds = 43200 and expire_logs_days = 0
+--echo ####
+
+SET GLOBAL expire_logs_days=0;
+SET GLOBAL binlog_expire_logs_seconds=43200;
+SELECT @@expire_logs_days as 'Expected_0.5';
+SELECT @@binlog_expire_logs_seconds as Expected_43200;
+
+# This will test the expire period for three scenarios, described in the .inc file.
+
+--source suite/binlog/include/binlog_expire_logs_seconds.inc
+
+--echo ####
+--echo #### 2.3: binlog_expire_logs_seconds == 0 and expire_logs_days > 0
+--echo ####
+
+SET GLOBAL binlog_expire_logs_seconds= 0;
+SET GLOBAL expire_logs_days= 1;
+SELECT @@expire_logs_days as Expected_1;
+SELECT @@binlog_expire_logs_seconds as Expected_86400;
+
+# This will test the expire period for three scenarios, described in the .inc file.
+--source suite/binlog/include/binlog_expire_logs_seconds.inc
+
+--echo ####
+--echo #### 2.4: binlog_expire_logs_seconds = 1
+--echo ####
+SET GLOBAL binlog_expire_logs_seconds= 1;
+SELECT @@expire_logs_days;
+SELECT @@binlog_expire_logs_seconds as Expected_1;
+
+--echo ####
+--echo #### 2.5. binlog_expire_logs_seconds = 8553600, testing max value 99days
+--echo ####
+SET GLOBAL binlog_expire_logs_seconds= 8553600;
+SELECT @@expire_logs_days;
+SELECT @@binlog_expire_logs_seconds as Expected_8553600;
+
+# reset the variables
+--eval SET GLOBAL binlog_expire_logs_seconds= $saved_binlog_expire_logs_seconds
+--eval SET GLOBAL expire_logs_days= $saved_expire_logs_days
diff --git a/mysql-test/suite/binlog/t/binlog_expire_warnings.test b/mysql-test/suite/binlog/t/binlog_expire_warnings.test
new file mode 100644
index 00000000000..2e0831ad878
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_expire_warnings.test
@@ -0,0 +1,200 @@
+# ==== Requirements ====
+#
+# Verify the logic for warnings related to expire-logs-days and
+# binlog-expire-logs-seconds on server start:
+#
+# R0. All the following shall hold with binlog disabled and binlog enabled.
+#
+# R1. Binlog off warnings:
+#
+# R1.1. If the binary log is disabled, using any of
+# binlog-expire-logs-seconds or expire_logs_days shall
+# generate a warning.
+#
+# R1.2. If the binary log is enabled, or if
+# binlog-expire-logs-seconds / expire_logs_days is not used,
+# there shall be no warning for this case.
+#
+# R2. Values:
+#
+# R2.1. None of expire-logs-days or binlog-expire-logs-seconds is
+# set: both shall use their default values (days=0, seconds=0)
+#
+# R2.2. Exactly one of expire-logs-days or binlog-expire-logs-seconds
+# is set: that value is propogated to other variable.
+#
+# R2.3. Both expire-logs-days or binlog-expire-logs-seconds are
+# set, and at least one of them is set to zero: the last set value
+# should be effective and its value will be propogated to other
+# variable.
+#
+# R2.4. Both expire-logs-days and binlog-expire-logs-seconds are
+# set, and both are non-zero: the last set value
+# should be effective and its value will be propogated to other
+# variable.
+#
+# ==== Implementation ====
+#
+# Test all combinations of:
+#
+# - log-bin: on, off
+# - expire-logs-days: not set, set to 0, set to nonzero
+# - binlog-expire-logs-seconds: not set, set to 0, set to nonzero
+# - Verify option value propogation, by varying the order, in which options
+# are set
+# --expire_logs_days --binlog_expire_logs_seconds
+# --binlog_expire_logs_seconds --expire_logs_days
+# For each such scenario, state the expected warnings and values, and
+# use extra/binlog_tests/binlog_expire_warnings.inc to execute the
+# scenario.
+#
+# ==== References ====
+#
+# MDEV-19371: Implement binlog_expire_logs_seconds for purging of binary
+# logs
+#
+--source include/have_binlog_format_row.inc
+
+# Restarts the server with new options.
+--source include/force_restart.inc
+
+# A bit slow, since it restarts the server many times. Also, this is
+# unlikely to break in the future, so not important to run frequently.
+--source include/big_test.inc
+
+
+--let $ofile = $MYSQLTEST_VARDIR/tmp/binlog_expire_warnings-output.err
+
+--let $i = 0
+while ($i < 2) {
+
+if ($i == 0) {
+ --echo #### Binary log ENABLED ####
+ --let $options =
+ --let $binlog_off = 0
+ }
+ if ($i == 1) {
+ --echo #### Binary log DISABLED ####
+ --let $options = --skip-log-bin
+ --let $binlog_off = 1
+ }
+
+ --echo ==== Don't set any option ====
+
+ --let $days =
+ --let $seconds =
+ --let $expect_binlog_off_days_and_seconds_warning = 0
+ --let $expect_days = 0
+ --let $expect_seconds = 0
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ==== Set one option to zero ====
+
+ --echo ---- days=0 ----
+ --let $days = 0
+ --let $seconds =
+ --let $expect_binlog_off_days_and_seconds_warning = 0
+ --let $expect_days = 0
+ --let $expect_seconds = 0
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ---- seconds=0 ----
+ --let $days =
+ --let $seconds = 0
+ --let $expect_binlog_off_days_and_seconds_warning = 0
+ --let $expect_days = 0
+ --let $expect_seconds = 0
+ --let $option_invoke_order= seconds_then_days
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ==== Set one option to non-zero ====
+
+ --echo ---- days=2 ----
+ --let $days = 2
+ --let $seconds =
+ --let $expect_binlog_off_days_and_seconds_warning = $binlog_off
+ --let $expect_days = 2
+ --let $expect_seconds = `SELECT $days * 24 * 60 * 60`
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ---- seconds=86400 ----
+ --let $days =
+ --let $seconds = 86400
+ --let $expect_binlog_off_days_and_seconds_warning = $binlog_off
+ --let $expect_days = 1
+ --let $expect_seconds = 86400
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ==== Set both options to zero ====
+
+ --let $days = 0
+ --let $seconds = 0
+ --let $expect_binlog_off_days_and_seconds_warning = 0
+ --let $expect_days = 0
+ --let $expect_seconds = 0
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ==== Set both options: one to zero and one to non-zero ====
+ --echo ---- days=1 seconds=0 ----
+ --echo ---- The later seconds=0 will override days.
+ --let $days = 1
+ --let $seconds = 0
+ --let $expect_binlog_off_days_and_seconds_warning = 0
+ --let $expect_days = 0
+ --let $expect_seconds = 0
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ---- seconds=0 days=1 ----
+ --echo ---- The later days=1 will override seconds.
+ --let $days = 1
+ --let $seconds = 0
+ --let $expect_binlog_off_days_and_seconds_warning = $binlog_off
+ --let $expect_days = 1
+ --let $expect_seconds = 86400
+ --let $option_invoke_order= seconds_then_days
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ---- days=0 seconds=86400 ----
+ --echo ---- The later seconds=86400 will override days.
+ --let $days = 0
+ --let $seconds = 86400
+ --let $expect_binlog_off_days_and_seconds_warning = $binlog_off
+ --let $expect_days = 1
+ --let $expect_seconds = 86400
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ==== Set both options to non-zero ====
+
+ --echo ---- days=1 and seconds=172800 ----
+ --echo ---- Since binlog_expire_logs_seconds is set later expire_log_days
+ --echo ---- becomes 2
+ --let $days = 1
+ --let $seconds = 172800
+ --let $expect_binlog_off_days_and_seconds_warning = $binlog_off
+ --let $expect_days = 2
+ --let $expect_seconds = 172800
+ --let $option_invoke_order= days_then_seconds
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --echo ---- days=1 and seconds=172800 ----
+ --echo ---- Since expire_logs_days is set later binlog_expire_logs_seconds
+ --echo ---- becomes 86400
+ --let $days = 1
+ --let $seconds = 172800
+ --let $expect_binlog_off_days_and_seconds_warning = $binlog_off
+ --let $expect_days = 1
+ --let $expect_seconds = 86400
+ --let $option_invoke_order= seconds_then_days
+ --source suite/binlog/include/binlog_expire_warnings.inc
+
+ --inc $i
+}
+
+# cleanup
+--remove_file $ofile
diff --git a/mysql-test/suite/binlog/t/binlog_mdev342.test b/mysql-test/suite/binlog/t/binlog_mdev342.test
index 024fa884f91..6d48ea129ee 100644
--- a/mysql-test/suite/binlog/t/binlog_mdev342.test
+++ b/mysql-test/suite/binlog/t/binlog_mdev342.test
@@ -11,7 +11,9 @@ SET GLOBAL innodb_flush_log_at_trx_commit= 1;
RESET MASTER;
CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
-
+# MDEV-515 takes X-lock on the table for the first insert
+# In that case, Concurrent DML will get blocked
+INSERT INTO t1 VALUES(100, "MDEV-515");
# One connection does an insert that causes a binlog rotate.
# The rotate is paused after writing new file but before updating index.
connect(con1,localhost,root,,);
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
index f5b7e2c01d6..d064a0aad23 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog2.test
@@ -58,20 +58,20 @@ select "--- offset --" as "";
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 696`;
+let $start_pos= `select @binlog_start_pos + 705`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--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 + 696`;
+let $stop_pos= `select @binlog_start_pos + 705`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--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 + 696`;
-let $stop_pos= `select @binlog_start_pos + 857`;
+let $start_pos= `select @binlog_start_pos + 705`;
+let $stop_pos= `select @binlog_start_pos + 866`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos --stop-position=$stop_pos $MYSQLD_DATADIR/master-bin.000001
--disable_query_log
@@ -103,7 +103,7 @@ select "--- offset --" as "";
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 696`;
+let $start_pos= `select @binlog_start_pos + 705`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--exec $MYSQL_BINLOG --short-form --start-position=$start_pos $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.000002
--disable_query_log
@@ -138,19 +138,19 @@ select "--- offset --" as "";
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 696`;
+let $start_pos= `select @binlog_start_pos + 705`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--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 + 696`;
+let $stop_pos= `select @binlog_start_pos + 705`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--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 + 696`;
+let $start_pos= `select @binlog_start_pos + 705`;
let $stop_pos= `select @binlog_start_pos + 812`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--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
@@ -180,7 +180,7 @@ select "--- offset --" as "";
--disable_query_log
select "--- start-position --" as "";
--enable_query_log
-let $start_pos= `select @binlog_start_pos + 696`;
+let $start_pos= `select @binlog_start_pos + 705`;
--replace_regex /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
--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
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
index b366578f3cd..03b6d16db99 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
@@ -478,14 +478,14 @@ DROP TABLE t1;
FLUSH LOGS;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /xid=\d*/xid=<xid>/
--error 1
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000002 2>&1
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000003
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test
index cef1a712f7d..7bd72657f5a 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test
@@ -12,6 +12,9 @@
--source include/have_innodb.inc
let $engine_type=InnoDB;
+SET @save_stats_auto_recalc=@@GLOBAL.innodb_stats_auto_recalc;
+SET GLOBAL innodb_stats_auto_recalc=OFF;
+
#
# The test case would also work with statement based or mixed mode logging.
# But this would require different result files. To handle this with the
@@ -22,3 +25,4 @@ let $engine_type=InnoDB;
--source include/mysqlbinlog_row_engine.inc
+SET GLOBAL innodb_stats_auto_recalc=@save_stats_auto_recalc;
diff --git a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test
index 12d83e0a777..7829b8027ff 100644
--- a/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test
+++ b/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_trans.test
@@ -150,12 +150,10 @@ FLUSH LOGS;
--echo #
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo #
--echo # Cleanup.
--echo #
DROP TABLE t1, t2;
-
-
diff --git a/mysql-test/suite/binlog/t/binlog_row_binlog.test b/mysql-test/suite/binlog/t/binlog_row_binlog.test
index 14cc00a2326..7fa6a2ce4b9 100644
--- a/mysql-test/suite/binlog/t/binlog_row_binlog.test
+++ b/mysql-test/suite/binlog/t/binlog_row_binlog.test
@@ -2,6 +2,6 @@
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_row.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
--source include/binlog.test
diff --git a/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test b/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test
index 064cebef47f..25889bb59ad 100644
--- a/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test
+++ b/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test
@@ -59,7 +59,7 @@ flush logs;
--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 #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--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 #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows --rewrite-db="test1->new_test1" --rewrite-db="test3->new_test3" -v -v $MYSQLD_DATADIR/master-bin.000001
--echo #
@@ -70,7 +70,7 @@ let $MYSQLD_DATADIR= `select @@datadir`;
--echo # --read-from-remote-server
--echo #
---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 #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--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 #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows --rewrite-db="test1->new_test1" --rewrite-db="test3->new_test3" -v -v --read-from-remote-server --user=root --host=localhost --port=$MASTER_MYPORT master-bin.000001
DROP DATABASE test1;
diff --git a/mysql-test/suite/binlog/t/binlog_stm_binlog.test b/mysql-test/suite/binlog/t/binlog_stm_binlog.test
index e9c8e0ed874..2430e316577 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_binlog.test
+++ b/mysql-test/suite/binlog/t/binlog_stm_binlog.test
@@ -1,6 +1,6 @@
-- source include/not_embedded.inc
-- source include/have_binlog_format_mixed.inc
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
# REQUIREMENT
diff --git a/mysql-test/suite/binlog/t/binlog_trigger.test b/mysql-test/suite/binlog/t/binlog_trigger.test
index 4ad5d16a1f8..3f93d6e802e 100644
--- a/mysql-test/suite/binlog/t/binlog_trigger.test
+++ b/mysql-test/suite/binlog/t/binlog_trigger.test
@@ -21,3 +21,31 @@ DROP TABLE t1;
--let $binlog_file = LAST
source include/show_binlog_events.inc;
+
+--echo #
+--echo # MDEV-25517 Atomic DDL: Assertion `query_arg' in THD::binlog_query
+--echo # upon DROP TRIGGER
+--echo #
+
+# This test case is 'random' by design. For most cases the second DROP TRIGGER
+# will generate a warning "Dropped orphan trigger...", but if there is a timing
+# issue, we may get another error or warning later. This is ok as it enables
+# us to have more code paths tested over time.
+
+CREATE TABLE t1 (a INT);
+CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW SET @x = 1;
+--disable_warnings
+--connect (con1,localhost,root,,test)
+--send
+ DROP TRIGGER trg;
+--connection default
+--error 0,ER_TRG_DOES_NOT_EXIST
+DROP TRIGGER trg;
+# Cleanup
+--connection con1
+--error 0,ER_TRG_DOES_NOT_EXIST
+--reap
+--disconnect con1
+--connection default
+--enable_warnings
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_active_log.inc b/mysql-test/suite/binlog/t/binlog_truncate_active_log.inc
new file mode 100644
index 00000000000..75a8310c220
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_active_log.inc
@@ -0,0 +1,57 @@
+connect(master1,localhost,root,,);
+connect(master2,localhost,root,,);
+connect(master3,localhost,root,,);
+
+--connection default
+
+# First to commit few transactions
+INSERT INTO t VALUES (10);
+INSERT INTO tm VALUES (10);
+
+--connection master1
+# Hold insert after write to binlog and before "run_commit_ordered" in engine
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master1_ready WAIT_FOR signal_never_arrives";
+--send_eval $query1
+
+--connection master2
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master2_ready";
+--send_eval $query2
+
+--connection master3
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SELECT @@global.gtid_binlog_pos as 'Before the crash';
+
+--connection default
+--source include/kill_mysqld.inc
+--disconnect master1
+--disconnect master2
+--disconnect master3
+
+#
+# Server restart
+#
+--let $restart_parameters= --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+--source include/start_mysqld.inc
+
+# Check error log for a successful truncate message.
+--let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.1.err
+
+--let SEARCH_FILE=$log_error_
+--let SEARCH_PATTERN=Successfully truncated.*to remove transactions starting from GTID $truncate_gtid_pos
+
+--source include/search_pattern_in_file.inc
+
+--echo Pre-crash binlog file content:
+--let $binlog_file= query_get_value(show binary logs, Log_name, $binlog_file_index)
+--source include/show_binlog_events.inc
+
+SELECT @@global.gtid_binlog_pos as 'After the crash';
+--echo "One row should be present in table 't'"
+SELECT * FROM t;
+
+# prepare binlog file index for the next test
+--inc $binlog_file_index
+
+# Local cleanup
+DELETE FROM t;
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_active_log.test b/mysql-test/suite/binlog/t/binlog_truncate_active_log.test
new file mode 100644
index 00000000000..920679e99e9
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_active_log.test
@@ -0,0 +1,103 @@
+# ==== Purpose ====
+#
+# Test verifies the truncation of single binary log file.
+#
+# ==== References ====
+#
+# MDEV-21117: recovery for --rpl-semi-sync-slave-enabled server
+
+--source include/have_innodb.inc
+--source include/have_aria.inc
+# File: binlog_truncate_active_log.inc included in test makes use of
+# 'debug_sync' facility.
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_statement.inc
+
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+
+# The following cases are tested:
+# A. 2pc transaction is followed by a blank "zero-engines" one
+# B. 2pc transaction follows the blank one
+# C. Similarly to A, with the XA blank transaction
+
+RESET MASTER;
+SET @@global.sync_binlog=1;
+CREATE TABLE t (f INT) ENGINE=INNODB;
+CREATE TABLE t2 (f INT) ENGINE=INNODB;
+CREATE TABLE tm (f INT) ENGINE=Aria;
+
+# Old (pre-crash) binlog file index initial value.
+# It keeps incremented at the end of each case.
+--let $binlog_file_index=1
+
+--echo # Case A.
+# Using 'debug_sync' hold 'query1' execution after 'query1' is flushed and
+# synced to binary log but not yet committed. In an another connection hold
+# 'query2' execution after 'query2' is flushed and synced to binlog.
+# Crash and restart server with --rpl-semi-sync-slave-enabled=1
+#
+# During recovery of binary log 'query1' status is checked with InnoDB engine,
+# it will be in prepared but not yet commited. All transactions starting from
+# 'query1' onwards will be removed from the binary log.
+# Show-binlog-events is to prove that.
+
+--let $truncate_gtid_pos = 0-1-6
+--let $query1 = INSERT INTO t VALUES (20)
+--let $query2 = DELETE FROM t2 WHERE f = 0 /* no such record */
+--source binlog_truncate_active_log.inc
+
+--echo # Case B.
+# The inverted sequence ends up to truncate starting from $query2
+--let $truncate_gtid_pos = 0-1-10
+--let $query1 = DELETE FROM t2 WHERE f = 0
+--let $query2 = INSERT INTO t VALUES (20)
+--source binlog_truncate_active_log.inc
+
+
+--echo # Case C.
+delimiter |;
+CREATE PROCEDURE sp_blank_xa()
+BEGIN
+ XA START 'blank';
+ DELETE FROM t2 WHERE f = 0 /* no such record */;
+ XA END 'blank';
+ XA PREPARE 'blank';
+END|
+delimiter ;|
+
+# The same as in A with $query2 being the zero-engine XA transaction.
+# Both $query1 and $query2 are going to be truncated.
+--let $truncate_gtid_pos = 0-1-14
+--let $query1 = INSERT INTO t VALUES (20)
+--let $query2 = CALL sp_blank_xa
+--source binlog_truncate_active_log.inc
+
+DROP PROCEDURE sp_blank_xa;
+
+
+--echo # Case D.
+delimiter |;
+CREATE PROCEDURE sp_xa()
+BEGIN
+ XA START 'xid';
+ DELETE FROM t WHERE f = 10;
+ XA END 'xid';
+ XA PREPARE 'xid';
+END|
+delimiter ;|
+
+# The same as in B with $query1 being the prepared XA transaction.
+# Truncation must occurs at $query2.
+--let $truncate_gtid_pos = 0-1-20
+--let $query1 = CALL sp_xa
+--let $query2 = INSERT INTO t2 VALUES (20)
+--source binlog_truncate_active_log.inc
+
+DROP PROCEDURE sp_xa;
+
+
+--echo # Cleanup
+DROP TABLE t,t2,tm;
+SET @@global.sync_binlog= default;
+--echo # End of the tests
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.inc b/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.inc
new file mode 100644
index 00000000000..52ce4741eaa
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.inc
@@ -0,0 +1,73 @@
+#
+# Invoked by binlog_truncate_multi_engine.test
+# Parameters:
+# $debug_sync_action describes debug-sync actions
+# $kill_server 1 when to crash, 0 for regular restart
+# $restart_parameters the caller may simulate partial commit at recovery
+# $test_outcome summary of extected results
+# $MYSQLD_DATADIR
+
+--echo #
+--echo #
+--echo # Case $case : $description
+--echo #
+RESET MASTER;
+FLUSH LOGS;
+SET GLOBAL max_binlog_size= 4096;
+
+connect(con1,localhost,root,,);
+--echo List of binary logs before rotation
+--source include/show_binary_logs.inc
+INSERT INTO t1 VALUES (1, REPEAT("x", 1));
+INSERT INTO t2 VALUES (1, REPEAT("x", 1));
+if (`SELECT $case = "B"`)
+{
+ --write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait-binlog_truncate_multi_engine.test
+EOF
+
+ SET GLOBAL debug_dbug="d,enable_log_write_upto_crash";
+}
+BEGIN;
+ INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
+ INSERT INTO t1 VALUES (2, REPEAT("x", 4100));
+
+if (`SELECT $debug_sync_action != ""`)
+{
+ --eval SET DEBUG_SYNC= $debug_sync_action
+}
+send COMMIT;
+
+--connection default
+if (`SELECT $case = "B"`)
+{
+ --source include/wait_until_disconnected.inc
+ --source include/start_mysqld.inc
+}
+if (`SELECT $case != "B"`)
+{
+ SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+ --echo List of binary logs after rotation
+ --source include/show_binary_logs.inc
+
+ --echo # restart the server with $restart_parameters
+ --echo # the server is restarted
+ --source include/restart_mysqld.inc
+}
+
+--connection default
+--echo #
+--echo # *** Summary: $test_outcome:
+--echo #
+SELECT COUNT(*) FROM t1;
+SELECT COUNT(*) FROM t2;
+SELECT @@GLOBAL.gtid_binlog_state;
+SELECT @@GLOBAL.gtid_binlog_pos;
+--echo List of binary logs at the end of the tests
+--source include/show_binary_logs.inc
+--echo # ***
+# cleanup
+DELETE FROM t1;
+DELETE FROM t2;
+--disconnect con1
+--echo #
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.opt b/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.opt
new file mode 100644
index 00000000000..03e7d74f6db
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.opt
@@ -0,0 +1 @@
+--plugin-load=$HA_ROCKSDB_SO
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.test b/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.test
new file mode 100644
index 00000000000..896bc11686b
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.test
@@ -0,0 +1,59 @@
+# ==== Purpose ====
+#
+# Test verifies truncation of multiple binary logs with multiple transactional
+# storage engines
+#
+# ==== References ====
+#
+# MDEV-21117: recovery for --rpl-semi-sync-slave-enabled server
+
+--source include/have_rocksdb.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_row.inc
+
+--let $old_max_binlog_size= `select @@global.max_binlog_size`
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+--let $MYSQLD_DATADIR= `SELECT @@datadir`
+
+SET @@global.sync_binlog= 1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE t2 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=rocksdb;
+
+--let $case = "A"
+--let $description = "neither engine committed => rollback & binlog truncate"
+# Hold off engine commits after write to binlog and its rotation.
+# The transaction is killed along with the server after that.
+--let $shutdown_timeout=0
+--let $debug_sync_action = "commit_after_release_LOCK_log SIGNAL con1_ready WAIT_FOR signal_no_signal"
+--let $restart_parameters = --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+--let $test_outcome= 1 row should be present in both tables; binlog is truncated; number of binlogs at reconnect - 3
+--source binlog_truncate_multi_engine.inc
+--echo Proof of the truncated binlog file is readable (two transactions must be seen):
+--exec $MYSQL_BINLOG --short-form --skip-annotate-row-events $MYSQLD_DATADIR/master-bin.000002
+
+--let $case = "B"
+--let $description = "one engine has committed its transaction branch"
+# Hold off after one engine has committed.
+--let $shutdown_timeout=0
+--let $debug_sync_action = ""
+# Both debug_sync and debug-dbug are required to make sure Engines remember the commit state
+# debug_sync alone will not help.
+--let $restart_parameters = --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+--let $test_outcome= 2 rows should be present in both tables; no binlog truncation; one extra binlog file compare with A; number of binlogs at reconnect - 4
+--source binlog_truncate_multi_engine.inc
+
+--let $case = "C"
+--let $description= "both engines have committed its transaction branch"
+--let $debug_sync_action = "commit_after_run_commit_ordered SIGNAL con1_ready WAIT_FOR signal_no_signal"
+# Hold off after both engines have committed. The server is shut down.
+--let $shutdown_timeout=
+--let $restart_parameters = --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+--let $test_outcome= 2 rows should be present in both tables; no binlog truncation; the same # of binlog files as in B; number of binlogs at reconnect - 4
+--source binlog_truncate_multi_engine.inc
+
+DROP TABLE t1, t2;
+SET @@global.sync_binlog= default;
+--echo # End of the tests
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_multi_log.test b/mysql-test/suite/binlog/t/binlog_truncate_multi_log.test
new file mode 100644
index 00000000000..a7068885871
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_multi_log.test
@@ -0,0 +1,77 @@
+# ==== Purpose ====
+#
+# Test verifies truncation of multiple binary logs.
+#
+# ==== References ====
+# MDEV-21117: recovery for --rpl-semi-sync-slave-enabled server
+
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_row.inc
+
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+
+SET @@global.max_binlog_size= 4096;
+SET @@global.sync_binlog= 1;
+RESET MASTER;
+FLUSH LOGS;
+CREATE TABLE ti (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE tm (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=MyISAM;
+
+connect(master1,localhost,root,,);
+--echo "List of binary logs before rotation"
+--source include/show_binary_logs.inc
+
+# Some load to either non- and transactional egines
+# that should not affect the following recovery:
+INSERT INTO ti VALUES(1,"I am gonna survive");
+INSERT INTO tm VALUES(1,"me too!");
+
+# hold on near engine commit
+SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync SIGNAL master1_ready WAIT_FOR master1_go_never_arrives";
+--send INSERT INTO ti VALUES (2, REPEAT("x", 4100))
+
+connect(master2,localhost,root,,);
+# The 2nd trx for recovery, it does not rotate binlog
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master2_ready WAIT_FOR master2_go_never_arrives";
+--send INSERT INTO ti VALUES (3, "not gonna survive")
+
+--connection default
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+--echo "List of binary logs before crash"
+--source include/show_binary_logs.inc
+--echo # The gtid binlog state prior the crash will be truncated at the end of the test
+SELECT @@global.gtid_binlog_state;
+
+--connection default
+--source include/kill_mysqld.inc
+--disconnect master1
+--disconnect master2
+
+#
+# Server restart
+#
+--let $restart_parameters= --rpl-semi-sync-slave-enabled=1 --sync-binlog=1
+--source include/start_mysqld.inc
+
+# Check error log for a successful truncate message.
+let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.1.err;
+
+--let SEARCH_FILE=$log_error_
+--let SEARCH_PATTERN=truncated binlog file:.*master.*000002
+--source include/search_pattern_in_file.inc
+
+
+--echo "One record should be present in table"
+SELECT * FROM ti;
+
+--echo # The truncated gtid binlog state
+SELECT @@global.gtid_binlog_state;
+SELECT @@global.gtid_binlog_pos;
+
+--echo # Cleanup
+DROP TABLE ti;
+SET @@global.sync_binlog= default;
+--echo # End of the tests
diff --git a/mysql-test/suite/binlog/t/binlog_truncate_multi_log_unsafe.test b/mysql-test/suite/binlog/t/binlog_truncate_multi_log_unsafe.test
new file mode 100644
index 00000000000..5a5cc66742b
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_truncate_multi_log_unsafe.test
@@ -0,0 +1,120 @@
+# ==== Purpose ====
+# The test verifies attempt to recover by the semisync slave server whose
+# binlog is unsafe for truncation.
+#
+# ==== Implementation ====
+# 2 binlog files are created with the 1st one destined to be the binlog
+# checkpoint file for recovery.
+# The final group of events is replication unsafe (myisam INSERT).
+# Therefore the semisync slave recovery may not.
+#
+# Steps:
+# 0 - Set max_binlog_size= 4096, to help an insert into a
+# transaction table 'ti' get binlog rotated while the
+# transaction won't be committed, being stopped at
+# a prior to commit debug_sync point
+# 1 - insert into a non-transactional 'tm' table completes with
+# binary logging as well
+# 2 - kill and attempt to restart the server as semisync slave that
+# must produce an expected unsafe-to-recover error
+# 3 - complete the test with a normal restart that successfully finds and
+# commits the transaction in doubt.
+#
+# ==== References ====
+#
+# MDEV-21117: recovery for --rpl-semi-sync-slave-enabled server
+#
+
+--source include/have_innodb.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_row.inc
+
+SET @@global.max_binlog_size= 4096;
+
+call mtr.add_suppression("Table '.*tm' is marked as crashed and should be repaired");
+call mtr.add_suppression("Got an error from unknown thread");
+call mtr.add_suppression("Checking table: '.*tm'");
+call mtr.add_suppression("Recovering table: '.*tm'");
+call mtr.add_suppression("Cannot truncate the binary log to file");
+call mtr.add_suppression("Crash recovery failed");
+call mtr.add_suppression("Can.t init tc log");
+call mtr.add_suppression("Aborting");
+call mtr.add_suppression("Found 1 prepared transactions");
+call mtr.add_suppression("mysqld: Table.*tm.*is marked as crashed");
+call mtr.add_suppression("Checking table.*tm");
+
+RESET MASTER;
+FLUSH LOGS;
+SET @@global.sync_binlog=1;
+CREATE TABLE ti (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+CREATE TABLE tm (f INT) ENGINE=MYISAM;
+
+--let $row_count = 5
+--let $i = `select $row_count-2`
+--disable_query_log
+while ($i)
+{
+ --eval INSERT INTO ti VALUES ($i, REPEAT("x", 1))
+ --dec $i
+}
+--enable_query_log
+INSERT INTO tm VALUES(1);
+
+connect(master1,localhost,root,,);
+connect(master2,localhost,root,,);
+connect(master3,localhost,root,,);
+
+--connection master1
+
+# The 1st trx binlogs, rotate binlog and hold on before committing at engine
+SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync SIGNAL master1_ready WAIT_FOR master1_go_never_arrives";
+--send_eval INSERT INTO ti VALUES ($row_count - 1, REPEAT("x", 4100))
+
+--connection master2
+SET DEBUG_SYNC= "now WAIT_FOR master1_ready";
+# The 2nd trx for recovery, it does not rotate binlog
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL master2_ready WAIT_FOR master2_go_never_arrives";
+--send_eval INSERT INTO ti VALUES ($row_count, REPEAT("x", 1))
+
+--connection master3
+SET DEBUG_SYNC= "now WAIT_FOR master2_ready";
+SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL master3_ready";
+--send INSERT INTO tm VALUES (2)
+
+--connection default
+SET DEBUG_SYNC= "now WAIT_FOR master3_ready";
+--echo # The gtid binlog state prior the crash must be restored at the end of the test;
+SELECT @@global.gtid_binlog_state;
+--source include/kill_mysqld.inc
+
+#
+# Server restarts
+#
+--echo # Failed restart as the semisync slave
+--error 1
+--exec $MYSQLD_LAST_CMD --rpl-semi-sync-slave-enabled=1 >> $MYSQLTEST_VARDIR/log/mysqld.1.err 2>&1
+
+--echo # Normal restart
+--source include/start_mysqld.inc
+
+# Check error log for correct messages.
+let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.1.err;
+
+--let SEARCH_FILE=$log_error_
+--let SEARCH_PATTERN=Cannot truncate the binary log to file
+--source include/search_pattern_in_file.inc
+
+--echo # Proof that the in-doubt transactions are recovered by the 2nd normal server restart
+--eval SELECT COUNT(*) = $row_count as 'True' FROM ti
+# myisam table may require repair (which is not tested here)
+--disable_warnings
+SELECT COUNT(*) <= 1 FROM tm;
+--enable_warnings
+
+--echo # The gtid binlog state prior the crash is restored now
+SELECT @@GLOBAL.gtid_binlog_state;
+SELECT @@GLOBAL.gtid_binlog_pos;
+
+--echo # Cleanup
+DROP TABLE ti, tm;
+--echo End of test
diff --git a/mysql-test/suite/binlog/t/binlog_xa_prepared.inc b/mysql-test/suite/binlog/t/binlog_xa_prepared.inc
index b6306791cf4..e93832dbf08 100644
--- a/mysql-test/suite/binlog/t/binlog_xa_prepared.inc
+++ b/mysql-test/suite/binlog/t/binlog_xa_prepared.inc
@@ -54,6 +54,10 @@ CREATE VIEW v_processlist as SELECT * FROM performance_schema.threads where typ
CREATE TABLE t (a INT) ENGINE=innodb;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t VALUES(100);
+
# Counter is incremented at the end of post restart to
# reflect number of loops done in correctness computation.
--let $restart_number = 0
diff --git a/mysql-test/suite/binlog/t/binlog_xa_recover_using_new_server_id.test b/mysql-test/suite/binlog/t/binlog_xa_recover_using_new_server_id.test
new file mode 100644
index 00000000000..a7f2a206bae
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_xa_recover_using_new_server_id.test
@@ -0,0 +1,44 @@
+# This test verifies attempt to xa recover using a new server id that
+# different from the transaction's original server_id.
+#
+
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_binlog_format_row.inc
+# Valgrind does not work well with test that crashes the server
+--source include/not_valgrind.inc
+
+
+--echo ========= Set server_id to 99 and prepare test table.
+SET GLOBAL server_id= 99;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+
+
+--echo ========= Crash the server.
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait-binlog_xa_recover_using_new_server_id.test
+EOF
+SET SESSION debug_dbug="+d,crash_commit_after_log";
+--error 2006,2013
+INSERT INTO t1 VALUES (1, NULL);
+
+
+--echo ========= Restart the server with default config file in which server_id= 1.
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart-binlog_xa_recover_using_new_server_id.test
+EOF
+
+
+--echo ========= Check that recover succeeds and server is up.
+connection default;
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+
+--echo ========= Check that all transactions are recovered.
+SELECT a FROM t1 ORDER BY a;
+
+
+--echo ========= Cleanup.
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/t/flashback.test b/mysql-test/suite/binlog/t/flashback.test
index abe054e4de0..28a03b3c82e 100644
--- a/mysql-test/suite/binlog/t/flashback.test
+++ b/mysql-test/suite/binlog/t/flashback.test
@@ -55,7 +55,7 @@ FLUSH LOGS;
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo # < CASE 1 >
@@ -64,7 +64,7 @@ let $MYSQLD_DATADIR= `select @@datadir`;
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/
+--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG -B --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
--echo # < CASE 1 >
diff --git a/mysql-test/suite/binlog_encryption/binlog_index.result b/mysql-test/suite/binlog_encryption/binlog_index.result
index f643c5a9c35..9dfda71f9a7 100644
--- a/mysql-test/suite/binlog_encryption/binlog_index.result
+++ b/mysql-test/suite/binlog_encryption/binlog_index.result
@@ -1,7 +1,7 @@
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('Turning logging off for the whole duration of the MariaDB server process.');
call mtr.add_suppression('Could not use .*');
call mtr.add_suppression('MYSQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
flush tables;
@@ -50,7 +50,7 @@ reset master;
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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -62,7 +62,7 @@ master-bin.000003
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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -73,7 +73,7 @@ master-bin.000005
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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -83,7 +83,7 @@ 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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -94,7 +94,7 @@ 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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -106,7 +106,7 @@ 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
+ERROR HY000: Lost connection to server during query
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
diff --git a/mysql-test/suite/binlog_encryption/binlog_row_annotate.result b/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
index 142714f2377..9050e632dd4 100644
--- a/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
+++ b/mysql-test/suite/binlog_encryption/binlog_row_annotate.result
@@ -117,7 +117,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -133,7 +133,7 @@ CREATE DATABASE test1
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
@@ -141,7 +141,7 @@ CREATE DATABASE test2
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
@@ -168,7 +168,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -195,7 +195,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -222,7 +222,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -264,7 +264,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -291,7 +291,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -320,7 +320,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -358,7 +358,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -401,7 +401,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -414,7 +414,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -427,7 +427,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -457,7 +457,7 @@ START TRANSACTION
### 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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -470,7 +470,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -483,7 +483,7 @@ START TRANSACTION
# at #
# at #
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -520,7 +520,7 @@ ROLLBACK/*!*/;
/*!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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
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, @@session.check_constraint_checks=1, @@session.sql_if_exists=0/*!*/;
@@ -536,7 +536,7 @@ CREATE DATABASE test1
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test2
/*!*/;
@@ -544,7 +544,7 @@ CREATE DATABASE test2
#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
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE DATABASE test3
/*!*/;
@@ -568,7 +568,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -592,7 +592,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -616,7 +616,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -653,7 +653,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 6
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -677,7 +677,7 @@ START TRANSACTION
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -701,7 +701,7 @@ START TRANSACTION
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
# Number of rows: 3
# at #
-#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
diff --git a/mysql-test/suite/binlog_encryption/multisource.result b/mysql-test/suite/binlog_encryption/multisource.result
index 928c9799854..ad1f2e24f9e 100644
--- a/mysql-test/suite/binlog_encryption/multisource.result
+++ b/mysql-test/suite/binlog_encryption/multisource.result
@@ -179,6 +179,26 @@ Last_SQL_Errno = '0'
Slave_heartbeat_period = '60.000'
Slave_heartbeat_period = '60.000'
#
+#
+# MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+#
+SELECT * FROM performance_schema.replication_applier_status_by_coordinator;
+CHANNEL_NAME master1
+THREAD_ID #
+SERVICE_STATE ON
+LAST_ERROR_NUMBER 0
+LAST_ERROR_MESSAGE
+LAST_ERROR_TIMESTAMP 0000-00-00 00:00:00
+LAST_SEEN_TRANSACTION 0-1-7
+LAST_TRANS_RETRY_COUNT 0
+CHANNEL_NAME
+THREAD_ID #
+SERVICE_STATE ON
+LAST_ERROR_NUMBER 0
+LAST_ERROR_MESSAGE
+LAST_ERROR_TIMESTAMP 0000-00-00 00:00:00
+LAST_SEEN_TRANSACTION 0-2-4
+LAST_TRANS_RETRY_COUNT 0
select * from db1.t1;
i f1
1 one
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_gco_wait_kill.result b/mysql-test/suite/binlog_encryption/rpl_parallel_gco_wait_kill.result
index 4472550c4f2..f12d19442f1 100644
--- a/mysql-test/suite/binlog_encryption/rpl_parallel_gco_wait_kill.result
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_gco_wait_kill.result
@@ -20,6 +20,7 @@ connect con_temp4,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
connect con_temp5,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t3 VALUES(100, 100);
connection server_2;
connection server_1;
SET sql_log_bin=0;
@@ -136,6 +137,7 @@ a b
68 68
69 69
70 70
+100 100
SET debug_sync='RESET';
connection server_2;
SET debug_sync='now SIGNAL d0_cont';
@@ -161,6 +163,7 @@ a b
68 68
69 69
70 70
+100 100
SET debug_sync='RESET';
SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
@@ -190,6 +193,7 @@ a b
68 68
69 69
70 70
+100 100
SET sql_log_bin=0;
DROP FUNCTION foo;
CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
@@ -225,6 +229,7 @@ SELECT * FROM t3 WHERE a >= 80 ORDER BY a;
a b
80 0
81 10000
+100 100
connection server_2;
SET debug_sync='now WAIT_FOR wait_queue_ready';
KILL THD_ID;
@@ -244,6 +249,7 @@ a b
80 0
81 10000
82 0
+100 100
connection server_2;
include/stop_slave.inc
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result b/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result
index 3dd5a3ea83c..ce11b814d44 100644
--- a/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_ignored_errors.result
@@ -13,6 +13,7 @@ include/start_slave.inc
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);
include/save_master_gtid.inc
connection server_2;
include/sync_with_master_gtid.inc
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result b/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result
index 320bf0e49f8..ba131ea094f 100644
--- a/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_slave_bgc_kill.result
@@ -17,6 +17,8 @@ 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;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(100);
+INSERT INTO t3 VALUES(100, 100);
connection server_2;
connection server_1;
SET sql_log_bin=0;
@@ -80,6 +82,7 @@ a b
32 32
33 33
34 34
+100 100
SET debug_sync='RESET';
connection server_2;
SET sql_log_bin=0;
@@ -98,6 +101,7 @@ STOP SLAVE IO_THREAD;
SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
a b
31 31
+100 100
SET debug_sync='RESET';
SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
@@ -121,6 +125,7 @@ a b
33 33
34 34
39 0
+100 100
SET sql_log_bin=0;
DROP FUNCTION foo;
CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
@@ -179,6 +184,7 @@ a b
42 42
43 43
44 44
+100 100
SET debug_sync='RESET';
connection server_2;
SET debug_sync='now WAIT_FOR t2_query';
@@ -211,6 +217,7 @@ a b
43 43
44 44
49 0
+100 100
SET sql_log_bin=0;
DROP FUNCTION foo;
CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
@@ -274,6 +281,7 @@ a b
52 52
53 53
54 54
+100 100
SET debug_sync='RESET';
connection server_2;
SET debug_sync='now WAIT_FOR t2_query';
@@ -286,6 +294,7 @@ include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
a b
51 51
+100 100
SET debug_sync='RESET';
SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
@@ -309,6 +318,7 @@ a b
53 53
54 54
59 0
+100 100
connection server_2;
include/stop_slave.inc
CHANGE MASTER TO master_use_gtid=slave_pos;
diff --git a/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result b/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result
index 6c9fd168e73..0c810d2a3f4 100644
--- a/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result
+++ b/mysql-test/suite/binlog_encryption/rpl_parallel_stop_slave.result
@@ -16,6 +16,8 @@ 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;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(100);
+INSERT INTO t3 VALUES(100, 100);
connection server_2;
include/stop_slave.inc
connection server_1;
@@ -55,9 +57,11 @@ SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
a
20
21
+100
SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
a b
20 20
+100 100
include/start_slave.inc
SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
a
@@ -66,11 +70,13 @@ SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
a
20
21
+100
SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
a b
20 20
21 21
22 22
+100 100
connection server_2;
include/stop_slave.inc
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
diff --git a/mysql-test/suite/binlog_encryption/rpl_sync.result b/mysql-test/suite/binlog_encryption/rpl_sync.result
index 1240c446164..5fa3a07a4e7 100644
--- a/mysql-test/suite/binlog_encryption/rpl_sync.result
+++ b/mysql-test/suite/binlog_encryption/rpl_sync.result
@@ -22,7 +22,7 @@ connection 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
+ERROR HY000: Lost connection to server during query
include/rpl_reconnect.inc
=====Dumping and comparing tables=======;
include/start_slave.inc
@@ -40,7 +40,7 @@ insert into t1(a) values(9);
connection slave;
SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
FLUSH LOGS;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
include/rpl_reconnect.inc
=====Dumping and comparing tables=======;
include/start_slave.inc
diff --git a/mysql-test/suite/client/mariadb-conv-utf16.result b/mysql-test/suite/client/mariadb-conv-utf16.result
index 76b98ef81ce..bec906e760f 100644
--- a/mysql-test/suite/client/mariadb-conv-utf16.result
+++ b/mysql-test/suite/client/mariadb-conv-utf16.result
@@ -3,9 +3,9 @@
#
SET NAMES utf8;
# Bad delimiter
---delimiter cannot be used with utf16 to utf8 conversion
+--delimiter cannot be used with utf16 to utf8mb3 conversion
# Bad delimiter
---delimiter cannot be used with utf8 to utf16 conversion
+--delimiter cannot be used with utf8mb3 to utf16 conversion
# Start of file01.utf16.txt
aaa
xxxÑÑÑxxx
diff --git a/mysql-test/suite/client/mariadb-conv.result b/mysql-test/suite/client/mariadb-conv.result
index 432be04daae..dd4d2ee5359 100644
--- a/mysql-test/suite/client/mariadb-conv.result
+++ b/mysql-test/suite/client/mariadb-conv.result
@@ -14,12 +14,12 @@ Character set unknown-cs is not supported
# Bad delimiter
Bad --delimiter value
# Conversion error
-Conversion from utf8 to latin1 failed at position 7
+Conversion from utf8mb3 to latin1 failed at position 7
aaa
xxx???xxx
bbb
# Bad input character
-Illegal utf8 byte sequence at position 7
+Illegal utf8mb3 byte sequence at position 7
aaa
xxx???xxx
bbb
diff --git a/mysql-test/suite/compat/README.txt b/mysql-test/suite/compat/README.txt
new file mode 100644
index 00000000000..b1a2033f6e2
--- /dev/null
+++ b/mysql-test/suite/compat/README.txt
@@ -0,0 +1,7 @@
+To run a test suite under this directory, you should use the format:
+
+mysql-test-run --suite=compat/oracle
+
+or to run one test:
+
+mysql-test-run compat/oracle.test_name
diff --git a/mysql-test/suite/compat/oracle/r/anonymous_derived.result b/mysql-test/suite/compat/oracle/r/anonymous_derived.result
new file mode 100644
index 00000000000..6b482d7bdcc
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/r/anonymous_derived.result
@@ -0,0 +1,86 @@
+#
+# MDEV-19162: anonymous derived tables part
+#
+set @save_sql_mode=@@sql_mode;
+set session sql_mode=ORACLE;
+SELECT * FROM (SELECT 1 FROM DUAL), (SELECT 2 FROM DUAL);
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def __2 1 1 3 1 1 N 32769 0 63
+def __3 2 2 3 1 1 N 32769 0 63
+1 2
+1 2
+create table t1 (a int);
+insert into t1 values (2),(3);
+create table t2 (a int);
+insert into t2 values (2),(3);
+select t1.a from t1, (select * from t2 where t2.a<= 2);
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def test t1 t1 a a 3 11 1 Y 32768 0 63
+a
+2
+3
+select t1.a, b from t1, (select a as b from t2 where t2.a<= 2);
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def test t1 t1 a a 3 11 1 Y 32768 0 63
+def test __2 __2 b b 3 11 1 Y 32768 0 63
+a b
+2 2
+3 2
+select t1.a, b from t1, (select max(a) as b from t2);
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def test t1 t1 a a 3 11 1 Y 32768 0 63
+def t2 __2 b b 3 11 1 Y 32768 0 63
+a b
+2 3
+3 3
+explain extended
+select t1.a, b from t1, (select max(a) as b from t2);
+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
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 100.00 Using join buffer (flat, BNL join)
+2 DERIVED t2 ALL NULL NULL NULL NULL 2 100.00
+Warnings:
+Note 1003 /* select#1 */ select "test"."t1"."a" AS "a","__2"."b" AS "b" from "test"."t1" join (/* select#2 */ select max("test"."t2"."a") AS "b" from "test"."t2") "__2"
+select * from (select tt.* from (select * from t1) as tt) where tt.a > 0;
+ERROR 42S22: Unknown column 'tt.a' in 'where clause'
+select * from (select tt.* from (select * from t1) as tt) where a > 0;
+a
+2
+3
+create view v1 as select t1.a, b from t1, (select max(a) as b from t2);
+select * from v1;
+a b
+2 3
+3 3
+create procedure p1
+as
+begin
+select t1.a, b from t1, (select max(a) as b from t2);
+end/
+call p1;
+a b
+2 3
+3 3
+SET sql_mode=default;
+select * from v1;
+a b
+2 3
+3 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 `t1`.`a` AS `a`,`__3`.`b` AS `b` from (`t1` join (select max(`t2`.`a`) AS `b` from `t2`) `__3`) latin1 latin1_swedish_ci
+call p1;
+a b
+2 3
+3 3
+show create procedure p1;
+Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
+p1 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT CREATE DEFINER="root"@"localhost" PROCEDURE "p1"()
+as
+begin
+select t1.a, b from t1, (select max(a) as b from t2);
+end latin1 latin1_swedish_ci latin1_swedish_ci
+drop view v1;
+drop procedure p1;
+drop table t1,t2;
+set session sql_mode=@save_sql_mode;
diff --git a/mysql-test/suite/compat/oracle/r/column_compression.result b/mysql-test/suite/compat/oracle/r/column_compression.result
index 8f643ad2a06..7c91e7c9be4 100644
--- a/mysql-test/suite/compat/oracle/r/column_compression.result
+++ b/mysql-test/suite/compat/oracle/r/column_compression.result
@@ -26,7 +26,7 @@ Table Create Table
t1 CREATE TABLE "t1" (
"a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid("a")),
"b" varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
- "c" varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
+ "c" varchar(1000) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
"d" tinytext /*!100301 COMPRESSED*/ CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL
)
DROP TABLE t1;
@@ -83,7 +83,7 @@ CREATE TABLE t1 (a VARCHAR(10) COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
#
@@ -115,14 +115,14 @@ CREATE TABLE t1 (a VARCHAR(10) COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
)
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(10) COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
)
DROP TABLE t1;
#
@@ -234,7 +234,7 @@ CREATE TABLE t1 (a VARCHAR2(10) COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
#
@@ -266,14 +266,14 @@ CREATE TABLE t1 (a VARCHAR2(10) COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
)
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR2(10) COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
)
DROP TABLE t1;
#
@@ -385,7 +385,7 @@ CREATE TABLE t1 (a TINYTEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
#
@@ -417,14 +417,14 @@ CREATE TABLE t1 (a TINYTEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
)
DROP TABLE t1;
CREATE TABLE t1 (a TINYTEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" tinytext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
)
DROP TABLE t1;
#
@@ -536,7 +536,7 @@ CREATE TABLE t1 (a TEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
#
@@ -568,14 +568,14 @@ CREATE TABLE t1 (a TEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
)
DROP TABLE t1;
CREATE TABLE t1 (a TEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" text /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
)
DROP TABLE t1;
#
@@ -687,7 +687,7 @@ CREATE TABLE t1 (a MEDIUMTEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
#
@@ -719,14 +719,14 @@ CREATE TABLE t1 (a MEDIUMTEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
)
DROP TABLE t1;
CREATE TABLE t1 (a MEDIUMTEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" mediumtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
)
DROP TABLE t1;
#
@@ -838,7 +838,7 @@ CREATE TABLE t1 (a LONGTEXT COMPRESSED CHARACTER SET utf8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
#
@@ -870,14 +870,14 @@ CREATE TABLE t1 (a LONGTEXT COMPRESSED CHARACTER SET utf8 DEFAULT '');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT ''
+ "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT ''
)
DROP TABLE t1;
CREATE TABLE t1 (a LONGTEXT COMPRESSED CHARACTER SET utf8 GENERATED ALWAYS AS (REPEAT('a',100)));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
+ "a" longtext /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 GENERATED ALWAYS AS (repeat('a',100)) VIRTUAL
)
DROP TABLE t1;
#
@@ -1324,7 +1324,7 @@ CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8 DEFAULT NULL
+ "a" varchar(10) /*!100301 COMPRESSED*/ CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED BINARY COMPRESSED);
diff --git a/mysql-test/suite/compat/oracle/r/empty_string_literal.result b/mysql-test/suite/compat/oracle/r/empty_string_literal.result
index 4fac736367b..4af576e90c0 100644
--- a/mysql-test/suite/compat/oracle/r/empty_string_literal.result
+++ b/mysql-test/suite/compat/oracle/r/empty_string_literal.result
@@ -31,17 +31,17 @@ latin2 NULL
SET sql_mode=@mode;
SELECT N'',CHARSET(N''), N'x', CHARSET(N'x');
NULL CHARSET(N'') x CHARSET(N'x')
-NULL utf8 x utf8
+NULL utf8mb3 x utf8mb3
SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N'');
CHARSET(NULLIF(N'',N'')) NULLIF(N'',N'')
-utf8 NULL
+utf8mb3 NULL
SET sql_mode=default;
SELECT N'',CHARSET(N''), N'x', CHARSET(N'x');
CHARSET(N'') x CHARSET(N'x')
- utf8 x utf8
+ utf8mb3 x utf8mb3
SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N'');
CHARSET(NULLIF(N'',N'')) NULLIF(N'',N'')
-utf8 NULL
+utf8mb3 NULL
#
# Test CHARSET prefix litteral
#
@@ -98,7 +98,7 @@ NULL CHARSET(_latin1'' '' '')
NULL latin1
SELECT N'' '' '',CHARSET(N'' '' '');
NULL CHARSET(N'' '' '')
-NULL utf8
+NULL utf8mb3
#
# UNION - implicit group by
#
diff --git a/mysql-test/suite/compat/oracle/r/func_add_months.result b/mysql-test/suite/compat/oracle/r/func_add_months.result
new file mode 100644
index 00000000000..0502c20f74e
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/r/func_add_months.result
@@ -0,0 +1,91 @@
+Test for ADD_MONTHS
+CREATE TABLE t1(c1 int, c2 datetime, c3 date, c4 time, c5 timestamp);
+INSERT INTO t1 VALUES (1, '2011-11-12 12:10:11', '2011-11-12', '12:10:11', '2011-11-12 12:10:11');
+INSERT INTO t1 VALUES (2, '2021-11-12 00:23:12', '2021-11-12', '00:23:12', '2021-11-12 00:23:12');
+INSERT INTO t1 VALUES (3, '2011-01-22 16:45:45', '2011-01-22', '16:45:45', '2011-01-22 16:45:45');
+INSERT INTO t1 VALUES (4, '2031-05-12 04:11:34', '2031-05-12', '04:11:34', '2031-05-12 04:11:34');
+INSERT INTO t1 VALUES (5, '2031-09-02 08:15:22', '2031-09-02', '08:15:22', '2031-09-02 08:15:22');
+INSERT INTO t1 VALUES (6, '0000-09-02 00:00:00', '0000-09-02', '00:00:00', '1980-09-02 00:00:00');
+INSERT INTO t1 VALUES (7, '9999-09-02', '9999-09-02', '00:00:00', '1980-09-02');
+SELECT c1, ADD_MONTHS(c2, 2), ADD_MONTHS(c3, 2), ADD_MONTHS(c5, 2) FROM t1;
+c1 ADD_MONTHS(c2, 2) ADD_MONTHS(c3, 2) ADD_MONTHS(c5, 2)
+1 2012-01-12 12:10:11 2012-01-12 2012-01-12 12:10:11
+2 2022-01-12 00:23:12 2022-01-12 2022-01-12 00:23:12
+3 2011-03-22 16:45:45 2011-03-22 2011-03-22 16:45:45
+4 2031-07-12 04:11:34 2031-07-12 2031-07-12 04:11:34
+5 2031-11-02 08:15:22 2031-11-02 2031-11-02 08:15:22
+6 0000-11-02 00:00:00 0000-11-02 1980-11-02 00:00:00
+7 9999-11-02 00:00:00 9999-11-02 1980-11-02 00:00:00
+SELECT c1, ADD_MONTHS(c2, 15), ADD_MONTHS(c3, 200), ADD_MONTHS(c5, 2000) FROM t1;
+c1 ADD_MONTHS(c2, 15) ADD_MONTHS(c3, 200) ADD_MONTHS(c5, 2000)
+1 2013-02-12 12:10:11 2028-07-12 2178-07-12 12:10:11
+2 2023-02-12 00:23:12 2038-07-12 2188-07-12 00:23:12
+3 2012-04-22 16:45:45 2027-09-22 2177-09-22 16:45:45
+4 2032-08-12 04:11:34 2048-01-12 2198-01-12 04:11:34
+5 2032-12-02 08:15:22 2048-05-02 2198-05-02 08:15:22
+6 0001-12-02 00:00:00 0017-05-02 2147-05-02 00:00:00
+7 NULL NULL 2147-05-02 00:00:00
+Warnings:
+Warning 1441 Datetime function: datetime field overflow
+Warning 1441 Datetime function: datetime field overflow
+SELECT c1, ADD_MONTHS(c2, 0), ADD_MONTHS(c3, -200), ADD_MONTHS(c5, -2) FROM t1;
+c1 ADD_MONTHS(c2, 0) ADD_MONTHS(c3, -200) ADD_MONTHS(c5, -2)
+1 2011-11-12 12:10:11 1995-03-12 2011-09-12 12:10:11
+2 2021-11-12 00:23:12 2005-03-12 2021-09-12 00:23:12
+3 2011-01-22 16:45:45 1994-05-22 2010-11-22 16:45:45
+4 2031-05-12 04:11:34 2014-09-12 2031-03-12 04:11:34
+5 2031-09-02 08:15:22 2015-01-02 2031-07-02 08:15:22
+6 0000-09-02 00:00:00 NULL 1980-07-02 00:00:00
+7 9999-09-02 00:00:00 9983-01-02 1980-07-02 00:00:00
+Warnings:
+Warning 1441 Datetime function: datetime field overflow
+SELECT c1, ADD_MONTHS(c2, -15), ADD_MONTHS(c3, -111), ADD_MONTHS(c5, 2) FROM t1;
+c1 ADD_MONTHS(c2, -15) ADD_MONTHS(c3, -111) ADD_MONTHS(c5, 2)
+1 2010-08-12 12:10:11 2002-08-12 2012-01-12 12:10:11
+2 2020-08-12 00:23:12 2012-08-12 2022-01-12 00:23:12
+3 2009-10-22 16:45:45 2001-10-22 2011-03-22 16:45:45
+4 2030-02-12 04:11:34 2022-02-12 2031-07-12 04:11:34
+5 2030-06-02 08:15:22 2022-06-02 2031-11-02 08:15:22
+6 NULL NULL 1980-11-02 00:00:00
+7 9998-06-02 00:00:00 9990-06-02 1980-11-02 00:00:00
+Warnings:
+Warning 1441 Datetime function: datetime field overflow
+Warning 1441 Datetime function: datetime field overflow
+SELECT ADD_MONTHS(c4, 11) FROM t1 WHERE c1 = 1;
+ADD_MONTHS(c4, 11)
+NULL
+Warnings:
+Warning 1441 Datetime function: time field overflow
+UPDATE t1 SET c2=ADD_MONTHS(c2, 2);
+SELECT c2 FROM t1;
+c2
+2012-01-12 12:10:11
+2022-01-12 00:23:12
+2011-03-22 16:45:45
+2031-07-12 04:11:34
+2031-11-02 08:15:22
+0000-11-02 00:00:00
+9999-11-02 00:00:00
+EXPLAIN EXTENDED SELECT c1, ADD_MONTHS(c2, -15) FROM t1 WHERE c1 = 1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 7 100.00 Using where
+Warnings:
+Note 1003 select `test`.`t1`.`c1` AS `c1`,`test`.`t1`.`c2` + interval -15 month AS `ADD_MONTHS(c2, -15)` from `test`.`t1` where `test`.`t1`.`c1` = 1
+SELECT ADD_MONTHS("2000-10-10", 12);
+ADD_MONTHS("2000-10-10", 12)
+2001-10-10
+SELECT ADD_MONTHS("2000:10:10", 12);
+ADD_MONTHS("2000:10:10", 12)
+2001-10-10
+SELECT ADD_MONTHS(2000, 12);
+ADD_MONTHS(2000, 12)
+NULL
+Warnings:
+Warning 1292 Incorrect datetime value: '2000'
+SELECT ADD_MONTHS('2011-01-31', 1), ADD_MONTHS('2012-01-31', 1), ADD_MONTHS('2012-01-31', 2), ADD_MONTHS('2012-01-31', 3);
+ADD_MONTHS('2011-01-31', 1) ADD_MONTHS('2012-01-31', 1) ADD_MONTHS('2012-01-31', 2) ADD_MONTHS('2012-01-31', 3)
+2011-02-28 2012-02-29 2012-03-31 2012-04-30
+SELECT ADD_MONTHS('2011-01-30', 1), ADD_MONTHS('2012-01-30', 1), ADD_MONTHS('2012-01-30', 2), ADD_MONTHS('2012-01-30', 3);
+ADD_MONTHS('2011-01-30', 1) ADD_MONTHS('2012-01-30', 1) ADD_MONTHS('2012-01-30', 2) ADD_MONTHS('2012-01-30', 3)
+2011-02-28 2012-02-29 2012-03-30 2012-04-30
+DROP TABLE t1;
diff --git a/mysql-test/suite/compat/oracle/r/func_misc.result b/mysql-test/suite/compat/oracle/r/func_misc.result
index ffb9e10110d..cf0fbed0d5e 100644
--- a/mysql-test/suite/compat/oracle/r/func_misc.result
+++ b/mysql-test/suite/compat/oracle/r/func_misc.result
@@ -98,7 +98,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
"SQLCODE" int(11) NOT NULL,
- "SQLERRM" varchar(512) CHARACTER SET utf8 NOT NULL
+ "SQLERRM" varchar(512) CHARACTER SET utf8mb3 NOT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
diff --git a/mysql-test/suite/compat/oracle/r/func_to_char.result b/mysql-test/suite/compat/oracle/r/func_to_char.result
new file mode 100644
index 00000000000..a4978b07579
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/r/func_to_char.result
@@ -0,0 +1,441 @@
+set @save_sql_mode=@@sql_mode;
+#
+# test for datetime
+#
+CREATE TABLE t_to_char1(c0 int, c1 date, c2 time, c3 datetime);
+INSERT INTO t_to_char1 VALUES (1, '1000-1-1', '00:00:00', '1000-1-1 00:00:00');
+INSERT INTO t_to_char1 VALUES (2, '9999-12-31', '23:59:59', '9999-12-31 23:59:59');
+INSERT INTO t_to_char1 VALUES (3, '2021-01-03', '08:30:00', '2021-01-03 08:30:00');
+INSERT INTO t_to_char1 VALUES (4, '2021-07-03', '18:30:00', '2021-07-03 18:30:00');
+CREATE TABLE t_to_char2(c1 timestamp);
+INSERT INTO t_to_char2 VALUES ('1980-01-11 04:50:39');
+INSERT INTO t_to_char2 VALUES ('2000-11-11 12:50:00');
+INSERT INTO t_to_char2 VALUES ('2030-11-11 18:20:10');
+SELECT TO_CHAR(c1, 'YYYY-MM-DD') FROM t_to_char2;
+TO_CHAR(c1, 'YYYY-MM-DD')
+1980-01-11
+2000-11-11
+2030-11-11
+SELECT TO_CHAR(c1, 'HH24-MI-SS') FROM t_to_char2;
+TO_CHAR(c1, 'HH24-MI-SS')
+04-50-39
+12-50-00
+18-20-10
+#
+# test YYYY/YY/MM/DD/HH/HH24/MI/SS
+#
+SELECT TO_CHAR(c1, 'YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'YY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000-01-01 12:00:00 00-01-01 00:00:00
+9999-12-31 11:59:59 99-12-31 23:59:59
+2021-01-03 08:30:00 21-01-03 08:30:00
+2021-07-03 06:30:00 21-07-03 18:30:00
+SELECT TO_CHAR(c1, 'yyyy-mm-dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'yy-mm-dd hh24:mi:ss') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000-01-01 12:00:00 00-01-01 00:00:00
+9999-12-31 11:59:59 99-12-31 23:59:59
+2021-01-03 08:30:00 21-01-03 08:30:00
+2021-07-03 06:30:00 21-07-03 18:30:00
+#
+# test YYY/Y/MON/DD/DY/HH/HH12/MI/SS
+#
+SELECT TO_CHAR(c1, 'YYY-MON-DD') AS C1, TO_CHAR(c2, 'HH12:MI:SS') AS C2, TO_CHAR(c3, 'Y-MONTH-DY HH:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+000-Jan-01 12:00:00 0-January -Wed 12:00:00
+999-Dec-31 11:59:59 9-December -Fri 11:59:59
+021-Jan-03 08:30:00 1-January -Sun 08:30:00
+021-Jul-03 06:30:00 1-July -Sat 06:30:00
+SELECT TO_CHAR(c1, 'yyy-Mon-Dd') AS C1, TO_CHAR(c2, 'Hh12:mi:Ss') AS C2, TO_CHAR(c3, 'y-Month-Dy Hh:Mi:Ss') AS C3 FROM t_to_char1;
+C1 C2 C3
+000-Jan-01 12:00:00 0-January -Wed 12:00:00
+999-Dec-31 11:59:59 9-December -Fri 11:59:59
+021-Jan-03 08:30:00 1-January -Sun 08:30:00
+021-Jul-03 06:30:00 1-July -Sat 06:30:00
+#
+# test RRRR/RR/DAY
+#
+SELECT TO_CHAR(c1, 'RRRR-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'RRRR-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000-01-01 12:00:00 1000-01-01 00:00:00
+9999-12-31 11:59:59 9999-12-31 23:59:59
+2021-01-03 08:30:00 2021-01-03 08:30:00
+2021-07-03 06:30:00 2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'RR-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'YY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+00-01-01 12:00:00 00-01-01 00:00:00
+99-12-31 11:59:59 99-12-31 23:59:59
+21-01-03 08:30:00 21-01-03 08:30:00
+21-07-03 06:30:00 21-07-03 18:30:00
+SELECT TO_CHAR(c1, 'Rrrr-Mm-Dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'Rrrr-mm-dd Hh24:mi:ss') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000-01-01 12:00:00 1000-01-01 00:00:00
+9999-12-31 11:59:59 9999-12-31 23:59:59
+2021-01-03 08:30:00 2021-01-03 08:30:00
+2021-07-03 06:30:00 2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'rr-mm-dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'yy-mm-dd hh24:Mi:ss') AS C3 FROM t_to_char1;
+C1 C2 C3
+00-01-01 12:00:00 00-01-01 00:00:00
+99-12-31 11:59:59 99-12-31 23:59:59
+21-01-03 08:30:00 21-01-03 08:30:00
+21-07-03 06:30:00 21-07-03 18:30:00
+#
+# test AD/A.D./BC/B.C./AM/A.M./PM/P.M.
+#
+SELECT TO_CHAR(c1, 'ADYYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'AD.YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+AD1000-01-01 12:00:00 AD.1000-01-01 00:00:00
+AD9999-12-31 11:59:59 AD.9999-12-31 23:59:59
+AD2021-01-03 08:30:00 AD.2021-01-03 08:30:00
+AD2021-07-03 06:30:00 AD.2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 12:00:00 A.D..1000-01-01 00:00:00
+A.D.9999-12-31 11:59:59 A.D..9999-12-31 23:59:59
+A.D.2021-01-03 08:30:00 A.D..2021-01-03 08:30:00
+A.D.2021-07-03 06:30:00 A.D..2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'ADYYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'AD.YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+AD1000-01-01 12:00:00 AD.1000-01-01 00:00:00
+AD9999-12-31 11:59:59 AD.9999-12-31 23:59:59
+AD2021-01-03 08:30:00 AD.2021-01-03 08:30:00
+AD2021-07-03 06:30:00 AD.2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 12:00:00 A.D..1000-01-01 00:00:00
+A.D.9999-12-31 11:59:59 A.D..9999-12-31 23:59:59
+A.D.2021-01-03 08:30:00 A.D..2021-01-03 08:30:00
+A.D.2021-07-03 06:30:00 A.D..2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'BCYYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'BCYYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+AD1000-01-01 12:00:00 AD1000-01-01 00:00:00
+AD9999-12-31 11:59:59 AD9999-12-31 23:59:59
+AD2021-01-03 08:30:00 AD2021-01-03 08:30:00
+AD2021-07-03 06:30:00 AD2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'B.C.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'B.C.YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 12:00:00 A.D.1000-01-01 00:00:00
+A.D.9999-12-31 11:59:59 A.D.9999-12-31 23:59:59
+A.D.2021-01-03 08:30:00 A.D.2021-01-03 08:30:00
+A.D.2021-07-03 06:30:00 A.D.2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'bcyyyy-mm-dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'BcYYyy-MM-DD Hh24:mi:sS') AS C3 FROM t_to_char1;
+C1 C2 C3
+AD1000-01-01 12:00:00 AD1000-01-01 00:00:00
+AD9999-12-31 11:59:59 AD9999-12-31 23:59:59
+AD2021-01-03 08:30:00 AD2021-01-03 08:30:00
+AD2021-07-03 06:30:00 AD2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'b.c.yyyy-mm-dd') AS C1, TO_CHAR(c2, 'hh:mI:Ss') AS C2, TO_CHAR(c3, 'b.C.Yyyy-Mm-dd hH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 12:00:00 A.D.1000-01-01 00:00:00
+A.D.9999-12-31 11:59:59 A.D.9999-12-31 23:59:59
+A.D.2021-01-03 08:30:00 A.D.2021-01-03 08:30:00
+A.D.2021-07-03 06:30:00 A.D.2021-07-03 18:30:00
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'PMHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD P.M.HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 AM12:00:00 A.D..1000-01-01 A.M.00:00:00
+A.D.9999-12-31 PM11:59:59 A.D..9999-12-31 P.M.23:59:59
+A.D.2021-01-03 AM08:30:00 A.D..2021-01-03 A.M.08:30:00
+A.D.2021-07-03 PM06:30:00 A.D..2021-07-03 P.M.18:30:00
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'pmHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD p.m.HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 AM12:00:00 A.D..1000-01-01 A.M.00:00:00
+A.D.9999-12-31 PM11:59:59 A.D..9999-12-31 P.M.23:59:59
+A.D.2021-01-03 AM08:30:00 A.D..2021-01-03 A.M.08:30:00
+A.D.2021-07-03 PM06:30:00 A.D..2021-07-03 P.M.18:30:00
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'AMHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD A.m.HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 AM12:00:00 A.D..1000-01-01 A.M.00:00:00
+A.D.9999-12-31 PM11:59:59 A.D..9999-12-31 P.M.23:59:59
+A.D.2021-01-03 AM08:30:00 A.D..2021-01-03 A.M.08:30:00
+A.D.2021-07-03 PM06:30:00 A.D..2021-07-03 P.M.18:30:00
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'amHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD a.M.HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+A.D.1000-01-01 AM12:00:00 A.D..1000-01-01 A.M.00:00:00
+A.D.9999-12-31 PM11:59:59 A.D..9999-12-31 P.M.23:59:59
+A.D.2021-01-03 AM08:30:00 A.D..2021-01-03 A.M.08:30:00
+A.D.2021-07-03 PM06:30:00 A.D..2021-07-03 P.M.18:30:00
+#
+# test format without order
+#
+SELECT TO_CHAR(c1, 'MM-YYYY-DD') AS C1, TO_CHAR(c2, 'HH:SS:MI') AS C2, TO_CHAR(c3, 'DD-YY-MM MI:SS:HH24') AS C3 FROM t_to_char1;
+C1 C2 C3
+01-1000-01 12:00:00 01-00-01 00:00:00
+12-9999-31 11:59:59 31-99-12 59:59:23
+01-2021-03 08:00:30 03-21-01 30:00:08
+07-2021-03 06:00:30 03-21-07 30:00:18
+SELECT TO_CHAR(c1, 'yyy-Dd-Mon') AS C1, TO_CHAR(c2, 'mi:Hh12:Ss') AS C2, TO_CHAR(c3, 'Ss:Hh:Mi Dy-y-Month') AS C3 FROM t_to_char1;
+C1 C2 C3
+000-01-Jan 00:12:00 00:12:00 Wed-0-January
+999-31-Dec 59:11:59 59:11:59 Fri-9-December
+021-03-Jan 30:08:00 00:08:30 Sun-1-January
+021-03-Jul 30:06:00 00:06:30 Sat-1-July
+SELECT TO_CHAR(c1, 'Dd-Mm-Rrrr') AS C1, TO_CHAR(c2, 'ss:hh:mi') AS C2, TO_CHAR(c3, 'ss:Rrrr-hh24-dd mon:mi') AS C3 FROM t_to_char1;
+C1 C2 C3
+01-01-1000 00:12:00 00:1000-00-01 Jan:00
+31-12-9999 59:11:59 59:9999-23-31 Dec:59
+03-01-2021 00:08:30 00:2021-08-03 Jan:30
+03-07-2021 00:06:30 00:2021-18-03 Jul:30
+SELECT TO_CHAR(c1, 'YYYYA.D.-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000A.D.-01-01 12:00:00 A.D..1000-01-01 00:00:00
+9999A.D.-12-31 11:59:59 A.D..9999-12-31 23:59:59
+2021A.D.-01-03 08:30:00 A.D..2021-01-03 08:30:00
+2021A.D.-07-03 06:30:00 A.D..2021-07-03 18:30:00
+#
+# test for special characters
+#
+SELECT TO_CHAR(c1, 'YYYYMMDD') AS C1, TO_CHAR(c2, 'HHMISS') AS C2, TO_CHAR(c3, 'YYMMDDHH24MISS') AS C3 FROM t_to_char1;
+C1 C2 C3
+10000101 120000 000101000000
+99991231 115959 991231235959
+20210103 083000 210103083000
+20210703 063000 210703183000
+SELECT TO_CHAR(c1, 'YYYY!!MM@DD') AS C1, TO_CHAR(c2, 'HH#MI$SS') AS C2, TO_CHAR(c3, 'YY%MM^DD*HH24(MI)SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000!!01@01 12#00$00 00%01^01*00(00)00
+9999!!12@31 11#59$59 99%12^31*23(59)59
+2021!!01@03 08#30$00 21%01^03*08(30)00
+2021!!07@03 06#30$00 21%07^03*18(30)00
+SELECT TO_CHAR(c1, 'YYYY_MM+DD') AS C1, TO_CHAR(c2, 'HH=MI{SS') AS C2, TO_CHAR(c3, 'YY}MMDDHH24MISS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000_01+01 12=00{00 00}0101000000
+9999_12+31 11=59{59 99}1231235959
+2021_01+03 08=30{00 21}0103083000
+2021_07+03 06=30{00 21}0703183000
+SELECT TO_CHAR(c1, 'YYYY,MM.DD') AS C1, TO_CHAR(c2, 'HH/MI;SS') AS C2, TO_CHAR(c3, 'YY>MM<DD]HH24[MI\SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000,01.01 12/00;00 00>01<01]00[0000
+9999,12.31 11/59;59 99>12<31]23[5959
+2021,01.03 08/30;00 21>01<03]08[3000
+2021,07.03 06/30;00 21>07<03]18[3000
+SELECT TO_CHAR(c1, 'YYYY||||MM|DD') AS C1, TO_CHAR(c2, 'HH&|MI|&|SS') AS C2, TO_CHAR(c3, 'YY&&&\\MM|&&|DD HH24|| MI&||"abx"|SS') AS C3 FROM t_to_char1;
+C1 C2 C3
+1000|||0101 12&|00&|00 00&&&\01&&|01 00| 00&||abx00
+9999|||1231 11&|59&|59 99&&&\12&&|31 23| 59&||abx59
+2021|||0103 08&|30&|00 21&&&\01&&|03 08| 30&||abx00
+2021|||0703 06&|30&|00 21&&&\07&&|03 18| 30&||abx00
+SELECT TO_CHAR(c1, 'YYYY&MM-DD') FROM t_to_char1 where c0=1;
+ERROR HY000: Invalid argument error: date format not recognized at &MM-DD in function to_char.
+SELECT TO_CHAR(c1, 'YYYY"abx"MM"bsz"DD') AS C1 FROM t_to_char1;
+C1
+1000abx01bsz01
+9999abx12bsz31
+2021abx01bsz03
+2021abx07bsz03
+#
+# test for other locale
+#
+SET character_set_client='utf8';
+SET character_set_connection='utf8';
+SET character_set_results='utf8';
+SET lc_time_names='zh_TW';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+TO_CHAR(c1, 'YYYY-MON-DAY')
+1000- 1月-週三
+9999-12月-週五
+2021- 1月-週日
+2021- 7月-週六
+SET lc_time_names='de_DE';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+TO_CHAR(c1, 'YYYY-MON-DAY')
+1000-Jan-Mittwoch
+9999-Dez-Freitag
+2021-Jan-Sonntag
+2021-Jul-Samstag
+SET lc_time_names='en_US';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+TO_CHAR(c1, 'YYYY-MON-DAY')
+1000-Jan-Wednesday
+9999-Dec-Friday
+2021-Jan-Sunday
+2021-Jul-Saturday
+SET lc_time_names='zh_CN';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+TO_CHAR(c1, 'YYYY-MON-DAY')
+1000- 1月-星期三
+9999-12月-星期五
+2021- 1月-星期日
+2021- 7月-星期六
+#
+# test for invalid format
+#
+SELECT TO_CHAR(c1, 'YYYYaxMON-DAY') FROM t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at axMON-DA in function to_char.
+SELECT TO_CHAR(c1, 'YYYY\nMON-DAY') FROM t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at
+MON-DAY in function to_char.
+SELECT TO_CHAR(c1, 'YYYY\rMON-DAY') FROM t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at MON-DAY in function to_char.
+SELECT TO_CHAR(c1, 'YYYY分隔MON-DAY') FROM t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at 分隔MO in function to_char.
+SELECT TO_CHAR(c1, 'YYYY-分隔MON-DAY') FROM t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at 分隔MO in function to_char.
+select to_char(c3, 'YYYYxDDD') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at xDDD in function to_char.
+select to_char(c3, 'YYYY&DDD') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at &DDD in function to_char.
+select to_char(c3, 'xxYYYY-DD') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at xxYYYY-D in function to_char.
+SET character_set_client='latin1';
+SET character_set_connection='latin1';
+SET character_set_results='latin1';
+#
+# test for unusual format
+#
+select to_char(c3, 'YYYYYYYYYYYYYYY') from t_to_char1;
+to_char(c3, 'YYYYYYYYYYYYYYY')
+100010001000000
+999999999999999
+202120212021021
+202120212021021
+select to_char(c3, 'YYYYYYYYYYYYYYYDDDDDD') from t_to_char1;
+to_char(c3, 'YYYYYYYYYYYYYYYDDDDDD')
+100010001000000010101
+999999999999999313131
+202120212021021030303
+202120212021021030303
+#
+# oracle max length is 144
+#
+select to_char(c3, 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: datetime format string is too long in function to_char.
+CREATE TABLE t_f(c1 varchar(150));
+insert into t_f values('YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-DD');
+select to_char('2000-11-11', c1) from t_f;
+to_char('2000-11-11', c1)
+NULL
+Warnings:
+Warning 3047 Invalid argument error: datetime format string is too long in function to_char.
+DROP TABLE t_f;
+select to_char(c3, 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-DD-MM') from t_to_char1 where c0 = 1;
+to_char(c3, 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-DD-MM')
+100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000-01-01
+#
+# now only support two parameter.
+#
+select to_char(c3) from t_to_char1 where c0 =1;
+to_char(c3)
+1000-01-01 00:00:00
+select to_char(c3, "YYYY-MM-DD HH:MI:SS") from t_to_char1 where c0 =1;
+to_char(c3, "YYYY-MM-DD HH:MI:SS")
+1000-01-01 12:00:00
+select to_char(c3, "YYYY-MM-DD HH:MI:SS", "zh_CN") from t_to_char1 where c0 = 1;
+ERROR 42000: Incorrect parameter count in the call to native function 'to_char'
+select to_char(c3, "YYYY-MM-DD HH:MI:SS", "NLS_DATE_LANGUAGE = zh_CN") from t_to_char1 where c0 = 1;
+ERROR 42000: Incorrect parameter count in the call to native function 'to_char'
+#
+# oracle support format but mariadb does not support
+#
+select to_char(c3, 'DDD') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at D in function to_char.
+select to_char(c3, 'D') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at D in function to_char.
+select to_char(c3, 'DS') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at DS in function to_char.
+select to_char(c3, 'IY') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at IY in function to_char.
+select to_char(c3, 'IYYY') from t_to_char1 where c0 = 1;
+ERROR HY000: Invalid argument error: date format not recognized at IYYY in function to_char.
+#
+# test for first argument data type
+#
+select to_char(1, 'yyyy');
+ERROR HY000: Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.
+select to_char(1.1, 'yyyy');
+ERROR HY000: Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.
+CREATE TABLE t_a(c1 int, c2 float, c3 decimal, c4 char(20), c5 varchar(20), c6 nchar(20), c7 nvarchar(20));
+insert into t_a VALUES (1, 3.2, 2002.02, '2000-11-11', '2000-11-11', '2000-11-11', '2000-11-11');
+Warnings:
+Note 1265 Data truncated for column 'c3' at row 1
+SELECT TO_CHAR(c1, 'YYYY') from t_a;
+ERROR HY000: Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.
+SELECT TO_CHAR(c2, 'YYYY') from t_a;
+ERROR HY000: Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.
+SELECT TO_CHAR(c3, 'YYYY') from t_a;
+ERROR HY000: Invalid argument error: data type of first argument must be type date/datetime/time or string in function to_char.
+SELECT TO_CHAR(c4, 'YYYY') from t_a;
+TO_CHAR(c4, 'YYYY')
+2000
+SELECT TO_CHAR(c5, 'YYYY') from t_a;
+TO_CHAR(c5, 'YYYY')
+2000
+SELECT TO_CHAR(c6, 'YYYY') from t_a;
+TO_CHAR(c6, 'YYYY')
+2000
+SELECT TO_CHAR(c7, 'YYYY') from t_a;
+TO_CHAR(c7, 'YYYY')
+2000
+DROP TABLE t_a;
+CREATE TABLE t_b(c0 int, c1 char(20), c2 varchar(20), c3 nchar(20), c4 nvarchar(20));
+INSERT INTO t_b VALUES (1111, 'YYYY-MM-DD', 'YYYY-MM-DD', 'YYYY-MM-DD', 'YYYY-MM-DD');
+SELECT TO_CHAR('2000-11-11', c0) FROM t_b;
+TO_CHAR('2000-11-11', c0)
+NULL
+Warnings:
+Warning 3047 Invalid argument error: date format not recognized at 1111 in function to_char.
+SELECT TO_CHAR('2000-11-11', c1) FROM t_b;
+TO_CHAR('2000-11-11', c1)
+2000-11-11
+SELECT TO_CHAR('2000-11-11', c2) FROM t_b;
+TO_CHAR('2000-11-11', c2)
+2000-11-11
+SELECT TO_CHAR('2000-11-11', c3) FROM t_b;
+TO_CHAR('2000-11-11', c3)
+2000-11-11
+SELECT TO_CHAR('2000-11-11', c4) FROM t_b;
+TO_CHAR('2000-11-11', c4)
+2000-11-11
+DROP TABLE t_b;
+EXPLAIN EXTENDED SELECT TO_CHAR(c1, 'YYYY-MM-DD') FROM t_to_char1;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t_to_char1 ALL NULL NULL NULL NULL 4 100.00
+Warnings:
+Note 1003 select to_char(`test`.`t_to_char1`.`c1`,'YYYY-MM-DD') AS `TO_CHAR(c1, 'YYYY-MM-DD')` from `test`.`t_to_char1`
+#
+# test for time type with date format string
+#
+SELECT TO_CHAR(c2, 'YYYY-MM-DD HH:MI:SS') from t_to_char1;
+TO_CHAR(c2, 'YYYY-MM-DD HH:MI:SS')
+0000-00-00 12:00:00
+0000-00-00 11:59:59
+0000-00-00 08:30:00
+0000-00-00 06:30:00
+SELECT TO_CHAR(c2, 'YYYY-MON-DY HH:MI:SS') from t_to_char1;
+TO_CHAR(c2, 'YYYY-MON-DY HH:MI:SS')
+0000-00-00 12:00:00
+0000-00-00 11:59:59
+0000-00-00 08:30:00
+0000-00-00 06:30:00
+SELECT TO_CHAR(c2, 'MON-YYYY-DY HH:MI:SS') from t_to_char1;
+TO_CHAR(c2, 'MON-YYYY-DY HH:MI:SS')
+00-0000-00 12:00:00
+00-0000-00 11:59:59
+00-0000-00 08:30:00
+00-0000-00 06:30:00
+SELECT TO_CHAR(c2, 'YYYY-MONTH-DAY HH:MI:SS') from t_to_char1;
+TO_CHAR(c2, 'YYYY-MONTH-DAY HH:MI:SS')
+0000-00-00 12:00:00
+0000-00-00 11:59:59
+0000-00-00 08:30:00
+0000-00-00 06:30:00
+DROP TABLE t_to_char1;
+DROP TABLE t_to_char2;
+#
+# Test strict mode
+#
+create table t1 (a datetime, b int, f varchar(30)) engine=myisam;
+insert into t1 values ("2021-01-24 19:22:10", 2014, "YYYY-MM-DD");
+insert into t1 values ("2021-01-24 19:22:10", 2014, "YYYY-MQ-DD");
+create table t2 (a varchar(30)) engine=myisam;
+insert into t2 select to_char(a,f) from t1;
+Warnings:
+Warning 3047 Invalid argument error: date format not recognized at MQ-DD in function to_char.
+set @@sql_mode="STRICT_ALL_TABLES";
+insert into t2 select to_char(a,f) from t1;
+ERROR HY000: Invalid argument error: date format not recognized at MQ-DD in function to_char.
+select * from t2;
+a
+2021-01-24
+NULL
+2021-01-24
+drop table t1,t2;
+set @local.sql_mode=@sql_mode;
diff --git a/mysql-test/suite/compat/oracle/r/minus.result b/mysql-test/suite/compat/oracle/r/minus.result
new file mode 100644
index 00000000000..67b7e5347c3
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/r/minus.result
@@ -0,0 +1,48 @@
+CREATE TABLE tx1 (c1 int, c2 varchar(30));
+CREATE TABLE tx2 (c1 int, c2 varchar(30));
+CREATE TABLE tx3 (c1 int, c2 varchar(30));
+INSERT INTO tx1 VALUES (1, 'jim');
+INSERT INTO tx1 VALUES (2, 'menny');
+INSERT INTO tx1 VALUES (3, 'linda');
+INSERT INTO tx2 VALUES (1, 'jim');
+INSERT INTO tx2 VALUES (2, 'kris');
+INSERT INTO tx2 VALUES (3, 'shory');
+INSERT INTO tx3 VALUES (1, 'jim');
+INSERT INTO tx3 VALUES (2, 'kris');
+INSERT INTO tx3 VALUES (3, 'linda');
+#
+# test when sql_mode is not oracle
+#
+SELECT c2 FROM tx1 EXCEPT SELECT c2 from tx2;
+c2
+menny
+linda
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2;
+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 c2 from tx2' at line 1
+create table MINUS (a int);
+drop table MINUS;
+#
+# test when sql_mode is oracle
+#
+SET sql_mode=ORACLE;
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2;
+c2
+menny
+linda
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2 MINUS SELECT c2 from tx3;
+c2
+menny
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2 EXCEPT SELECT c2 from tx3;
+c2
+menny
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2 UNION SELECT c2 from tx3;
+c2
+jim
+menny
+linda
+kris
+create table MINUS (a int);
+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 'MINUS (a int)' at line 1
+DROP TABLE tx1;
+DROP TABLE tx2;
+DROP TABLE tx3;
diff --git a/mysql-test/suite/compat/oracle/r/parser.result b/mysql-test/suite/compat/oracle/r/parser.result
index 3f02382b6e4..32ea444ea25 100644
--- a/mysql-test/suite/compat/oracle/r/parser.result
+++ b/mysql-test/suite/compat/oracle/r/parser.result
@@ -806,3 +806,65 @@ ERROR HY000: Unknown data type: 'BEGIN'
#
# End of 10.5 tests
#
+#
+# Start of 10.6 tests
+#
+#
+# MDEV-19682 sql_mode="oracle" does not support sysdate
+#
+SELECT sysdate LIKE '____-__-__ __:__:__';
+sysdate LIKE '____-__-__ __:__:__'
+1
+SELECT sysdate = sysdate();
+sysdate = sysdate()
+1
+SELECT sysdate = sysdate(0);
+sysdate = sysdate(0)
+1
+CREATE DATABASE sysdate;
+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 'sysdate' at line 1
+CREATE TABLE sysdate (a INT);
+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 'sysdate (a INT)' at line 1
+CREATE TABLE t1 (sysdate INT);
+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 'sysdate INT)' at line 1
+CREATE TABLE t1 (a sysdate);
+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 'sysdate)' at line 1
+CREATE FUNCTION sysdate RETURN INT AS
+BEGIN
+RETURN 1;
+END;
+$$
+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 'sysdate RETURN INT AS
+BEGIN
+RETURN 1;
+END' at line 1
+CREATE FUNCTION sysdate() RETURN INT AS
+BEGIN
+RETURN 1;
+END;
+$$
+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 'sysdate() RETURN INT AS
+BEGIN
+RETURN 1;
+END' at line 1
+DECLARE
+sysdate INT := 10;
+BEGIN
+NULL;
+END;
+$$
+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 'sysdate INT := 10;
+BEGIN
+NULL;
+END' at line 2
+BEGIN
+<<sysdate>>
+NULL;
+END;
+$$
+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 'sysdate>>
+NULL;
+END' at line 2
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/suite/compat/oracle/r/sp-package.result b/mysql-test/suite/compat/oracle/r/sp-package.result
index 6fbe568f719..daa244a3c5a 100644
--- a/mysql-test/suite/compat/oracle/r/sp-package.result
+++ b/mysql-test/suite/compat/oracle/r/sp-package.result
@@ -34,7 +34,6 @@ ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
# PACKAGE and PS
#
PREPARE stmt FROM 'CREATE PACKAGE test2 AS FUNCTION f1 RETURN INT; END test2';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
CREATE PACKAGE test2 AS
FUNCTION f1 RETURN INT;
END;
@@ -42,7 +41,6 @@ $$
PREPARE stmt FROM 'CREATE PACKAGE BODY test2 AS'
' FUNCTION f1 RETURN INT AS BEGIN RETURN 10; END;'
'END test2';
-ERROR HY000: This command is not supported in the prepared statement protocol yet
DROP PACKAGE test2;
#
# Package and READ ONLY transactions
diff --git a/mysql-test/suite/compat/oracle/r/sp-param.result b/mysql-test/suite/compat/oracle/r/sp-param.result
index aab1811ef67..2f119e62189 100644
--- a/mysql-test/suite/compat/oracle/r/sp-param.result
+++ b/mysql-test/suite/compat/oracle/r/sp-param.result
@@ -21,7 +21,7 @@ DROP FUNCTION f1;
CREATE FUNCTION f1(param NCHAR) RETURN NCHAR AS BEGIN RETURN param; END;;
SHOW CREATE FUNCTION f1;
Function sql_mode Create Function character_set_client collation_connection Database Collation
-f1 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT CREATE DEFINER="root"@"localhost" FUNCTION "f1"(param NCHAR) RETURN varchar(2000) CHARSET utf8
+f1 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT CREATE DEFINER="root"@"localhost" FUNCTION "f1"(param NCHAR) RETURN varchar(2000) CHARSET utf8mb3
AS BEGIN RETURN param; END latin1 latin1_swedish_ci latin1_swedish_ci
SELECT LENGTH(f1(REPEAT('a',2000)));;
LENGTH(f1(REPEAT('a',2000)))
@@ -30,7 +30,7 @@ CREATE TABLE t1 AS SELECT f1(REPEAT('a',2000)) AS a;;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(2000) CHARACTER SET utf8 DEFAULT NULL
+ "a" varchar(2000) CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP FUNCTION f1;
@@ -85,7 +85,7 @@ DROP FUNCTION f1;
CREATE FUNCTION f1(param NVARCHAR) RETURN NVARCHAR AS BEGIN RETURN param; END;;
SHOW CREATE FUNCTION f1;
Function sql_mode Create Function character_set_client collation_connection Database Collation
-f1 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT CREATE DEFINER="root"@"localhost" FUNCTION "f1"(param NVARCHAR) RETURN varchar(4000) CHARSET utf8
+f1 PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT CREATE DEFINER="root"@"localhost" FUNCTION "f1"(param NVARCHAR) RETURN varchar(4000) CHARSET utf8mb3
AS BEGIN RETURN param; END latin1 latin1_swedish_ci latin1_swedish_ci
SELECT LENGTH(f1(REPEAT('a',4000)));;
LENGTH(f1(REPEAT('a',4000)))
@@ -94,7 +94,7 @@ CREATE TABLE t1 AS SELECT f1(REPEAT('a',4000)) AS a;;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "a" varchar(4000) CHARACTER SET utf8 DEFAULT NULL
+ "a" varchar(4000) CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP FUNCTION f1;
diff --git a/mysql-test/suite/compat/oracle/r/sp-row.result b/mysql-test/suite/compat/oracle/r/sp-row.result
index 323b0c684f3..7fd986a71c8 100644
--- a/mysql-test/suite/compat/oracle/r/sp-row.result
+++ b/mysql-test/suite/compat/oracle/r/sp-row.result
@@ -252,6 +252,7 @@ AS
BEGIN
RETURN a;
END;
+$$
CREATE PROCEDURE p1()
AS
a ROW (a INT,b INT);
@@ -268,6 +269,7 @@ AS
BEGIN
RETURN a;
END;
+$$
CREATE PROCEDURE p1()
AS
a ROW (a INT);
@@ -820,9 +822,9 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "rec1.a" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
- "rec2.a" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
- "rec3.a" varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ "rec1.a" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec2.a" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec3.a" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -1912,8 +1914,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" char(10) CHARACTER SET utf8 DEFAULT NULL,
- "rec.var" char(10) CHARACTER SET utf8 DEFAULT NULL
+ "var" char(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec.var" char(10) CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -1952,8 +1954,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
- "rec.var" varchar(10) CHARACTER SET utf8 DEFAULT NULL
+ "var" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec.var" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -1962,8 +1964,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
- "rec.var" varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
+ "var" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL,
+ "rec.var" varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2161,8 +2163,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" text CHARACTER SET utf8 DEFAULT NULL,
- "rec.var" text CHARACTER SET utf8 DEFAULT NULL
+ "var" text CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec.var" text CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2171,8 +2173,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" tinytext CHARACTER SET utf8 DEFAULT NULL,
- "rec.var" tinytext CHARACTER SET utf8 DEFAULT NULL
+ "var" tinytext CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec.var" tinytext CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2181,8 +2183,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" mediumtext CHARACTER SET utf8 DEFAULT NULL,
- "rec.var" mediumtext CHARACTER SET utf8 DEFAULT NULL
+ "var" mediumtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec.var" mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
@@ -2191,8 +2193,8 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "var" longtext CHARACTER SET utf8 DEFAULT NULL,
- "rec.var" longtext CHARACTER SET utf8 DEFAULT NULL
+ "var" longtext CHARACTER SET utf8mb3 DEFAULT NULL,
+ "rec.var" longtext CHARACTER SET utf8mb3 DEFAULT NULL
)
DROP TABLE t1;
DROP PROCEDURE p1;
diff --git a/mysql-test/suite/compat/oracle/r/sp.result b/mysql-test/suite/compat/oracle/r/sp.result
index 5e2ea82fbc3..824207ef4c1 100644
--- a/mysql-test/suite/compat/oracle/r/sp.result
+++ b/mysql-test/suite/compat/oracle/r/sp.result
@@ -1698,7 +1698,7 @@ t2 CREATE TABLE "t2" (
"dc209" decimal(20,9) DEFAULT NULL,
"cc" char(10) DEFAULT NULL,
"cv" varchar(10) DEFAULT NULL,
- "cvu" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
+ "cvu" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
"t1" tinytext DEFAULT NULL,
"t2" text DEFAULT NULL,
"t3" mediumtext DEFAULT NULL,
@@ -1860,7 +1860,7 @@ t2 CREATE TABLE "t2" (
"dc209" decimal(20,9) DEFAULT NULL,
"cc" char(10) DEFAULT NULL,
"cv" varchar(10) DEFAULT NULL,
- "cvu" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
+ "cvu" varchar(10) CHARACTER SET utf8mb3 DEFAULT NULL,
"t1" tinytext DEFAULT NULL,
"t2" text DEFAULT NULL,
"t3" mediumtext DEFAULT NULL,
@@ -2061,9 +2061,9 @@ CALL p1();
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE "t1" (
- "tables_table_name" varchar(64) CHARACTER SET utf8 DEFAULT NULL,
+ "tables_table_name" varchar(64) CHARACTER SET utf8mb3 DEFAULT NULL,
"tables_table_rows" bigint(21) unsigned DEFAULT NULL,
- "processlist_info" longtext CHARACTER SET utf8 DEFAULT NULL,
+ "processlist_info" longtext CHARACTER SET utf8mb3 DEFAULT NULL,
"processlist_info_binary" blob(65535) DEFAULT NULL
)
DROP TABLE t1;
diff --git a/mysql-test/suite/compat/oracle/t/anonymous_derived.test b/mysql-test/suite/compat/oracle/t/anonymous_derived.test
new file mode 100644
index 00000000000..7a9ee2161ee
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/t/anonymous_derived.test
@@ -0,0 +1,56 @@
+--echo #
+--echo # MDEV-19162: anonymous derived tables part
+--echo #
+
+set @save_sql_mode=@@sql_mode;
+set session sql_mode=ORACLE;
+
+--disable_ps_protocol
+--enable_metadata
+SELECT * FROM (SELECT 1 FROM DUAL), (SELECT 2 FROM DUAL);
+--disable_metadata
+--enable_ps_protocol
+create table t1 (a int);
+insert into t1 values (2),(3);
+create table t2 (a int);
+insert into t2 values (2),(3);
+--disable_ps_protocol
+--enable_metadata
+select t1.a from t1, (select * from t2 where t2.a<= 2);
+select t1.a, b from t1, (select a as b from t2 where t2.a<= 2);
+select t1.a, b from t1, (select max(a) as b from t2);
+--disable_metadata
+--enable_ps_protocol
+explain extended
+select t1.a, b from t1, (select max(a) as b from t2);
+--error ER_BAD_FIELD_ERROR
+select * from (select tt.* from (select * from t1) as tt) where tt.a > 0;
+select * from (select tt.* from (select * from t1) as tt) where a > 0;
+
+create view v1 as select t1.a, b from t1, (select max(a) as b from t2);
+
+select * from v1;
+
+
+DELIMITER /;
+create procedure p1
+as
+begin
+ select t1.a, b from t1, (select max(a) as b from t2);
+end/
+DELIMITER ;/
+
+call p1;
+
+SET sql_mode=default;
+
+select * from v1;
+show create view v1;
+
+call p1;
+show create procedure p1;
+
+drop view v1;
+drop procedure p1;
+drop table t1,t2;
+set session sql_mode=@save_sql_mode;
diff --git a/mysql-test/suite/compat/oracle/t/func_add_months.test b/mysql-test/suite/compat/oracle/t/func_add_months.test
new file mode 100644
index 00000000000..ca9391ef824
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/t/func_add_months.test
@@ -0,0 +1,38 @@
+--echo Test for ADD_MONTHS
+
+CREATE TABLE t1(c1 int, c2 datetime, c3 date, c4 time, c5 timestamp);
+
+INSERT INTO t1 VALUES (1, '2011-11-12 12:10:11', '2011-11-12', '12:10:11', '2011-11-12 12:10:11');
+INSERT INTO t1 VALUES (2, '2021-11-12 00:23:12', '2021-11-12', '00:23:12', '2021-11-12 00:23:12');
+INSERT INTO t1 VALUES (3, '2011-01-22 16:45:45', '2011-01-22', '16:45:45', '2011-01-22 16:45:45');
+INSERT INTO t1 VALUES (4, '2031-05-12 04:11:34', '2031-05-12', '04:11:34', '2031-05-12 04:11:34');
+INSERT INTO t1 VALUES (5, '2031-09-02 08:15:22', '2031-09-02', '08:15:22', '2031-09-02 08:15:22');
+INSERT INTO t1 VALUES (6, '0000-09-02 00:00:00', '0000-09-02', '00:00:00', '1980-09-02 00:00:00');
+INSERT INTO t1 VALUES (7, '9999-09-02', '9999-09-02', '00:00:00', '1980-09-02');
+
+# some normal case
+SELECT c1, ADD_MONTHS(c2, 2), ADD_MONTHS(c3, 2), ADD_MONTHS(c5, 2) FROM t1;
+SELECT c1, ADD_MONTHS(c2, 15), ADD_MONTHS(c3, 200), ADD_MONTHS(c5, 2000) FROM t1;
+SELECT c1, ADD_MONTHS(c2, 0), ADD_MONTHS(c3, -200), ADD_MONTHS(c5, -2) FROM t1;
+SELECT c1, ADD_MONTHS(c2, -15), ADD_MONTHS(c3, -111), ADD_MONTHS(c5, 2) FROM t1;
+
+# for time type, it will be overflow
+SELECT ADD_MONTHS(c4, 11) FROM t1 WHERE c1 = 1;
+
+UPDATE t1 SET c2=ADD_MONTHS(c2, 2);
+SELECT c2 FROM t1;
+
+EXPLAIN EXTENDED SELECT c1, ADD_MONTHS(c2, -15) FROM t1 WHERE c1 = 1;
+
+# string type can be convert to datetime type
+SELECT ADD_MONTHS("2000-10-10", 12);
+SELECT ADD_MONTHS("2000:10:10", 12);
+
+# number type can not be convert datetime type
+SELECT ADD_MONTHS(2000, 12);
+
+# last day of the month
+SELECT ADD_MONTHS('2011-01-31', 1), ADD_MONTHS('2012-01-31', 1), ADD_MONTHS('2012-01-31', 2), ADD_MONTHS('2012-01-31', 3);
+SELECT ADD_MONTHS('2011-01-30', 1), ADD_MONTHS('2012-01-30', 1), ADD_MONTHS('2012-01-30', 2), ADD_MONTHS('2012-01-30', 3);
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/compat/oracle/t/func_to_char.test b/mysql-test/suite/compat/oracle/t/func_to_char.test
new file mode 100644
index 00000000000..9910fe60a84
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/t/func_to_char.test
@@ -0,0 +1,226 @@
+##############################################################
+# testcase for TO_CHAR() function for oracle
+# Part of MDEV-20017 Implement TO_CHAR() Oracle compatible function
+##############################################################
+
+# Save sql_mode
+set @save_sql_mode=@@sql_mode;
+
+--echo #
+--echo # test for datetime
+--echo #
+
+CREATE TABLE t_to_char1(c0 int, c1 date, c2 time, c3 datetime);
+
+INSERT INTO t_to_char1 VALUES (1, '1000-1-1', '00:00:00', '1000-1-1 00:00:00');
+INSERT INTO t_to_char1 VALUES (2, '9999-12-31', '23:59:59', '9999-12-31 23:59:59');
+INSERT INTO t_to_char1 VALUES (3, '2021-01-03', '08:30:00', '2021-01-03 08:30:00');
+INSERT INTO t_to_char1 VALUES (4, '2021-07-03', '18:30:00', '2021-07-03 18:30:00');
+
+CREATE TABLE t_to_char2(c1 timestamp);
+INSERT INTO t_to_char2 VALUES ('1980-01-11 04:50:39');
+INSERT INTO t_to_char2 VALUES ('2000-11-11 12:50:00');
+INSERT INTO t_to_char2 VALUES ('2030-11-11 18:20:10');
+
+# test for timestamp
+SELECT TO_CHAR(c1, 'YYYY-MM-DD') FROM t_to_char2;
+SELECT TO_CHAR(c1, 'HH24-MI-SS') FROM t_to_char2;
+
+# test full output format
+--echo #
+--echo # test YYYY/YY/MM/DD/HH/HH24/MI/SS
+--echo #
+SELECT TO_CHAR(c1, 'YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'YY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'yyyy-mm-dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'yy-mm-dd hh24:mi:ss') AS C3 FROM t_to_char1;
+
+--echo #
+--echo # test YYY/Y/MON/DD/DY/HH/HH12/MI/SS
+--echo #
+SELECT TO_CHAR(c1, 'YYY-MON-DD') AS C1, TO_CHAR(c2, 'HH12:MI:SS') AS C2, TO_CHAR(c3, 'Y-MONTH-DY HH:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'yyy-Mon-Dd') AS C1, TO_CHAR(c2, 'Hh12:mi:Ss') AS C2, TO_CHAR(c3, 'y-Month-Dy Hh:Mi:Ss') AS C3 FROM t_to_char1;
+
+--echo #
+--echo # test RRRR/RR/DAY
+--echo #
+SELECT TO_CHAR(c1, 'RRRR-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'RRRR-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'RR-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'YY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'Rrrr-Mm-Dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'Rrrr-mm-dd Hh24:mi:ss') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'rr-mm-dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'yy-mm-dd hh24:Mi:ss') AS C3 FROM t_to_char1;
+
+--echo #
+--echo # test AD/A.D./BC/B.C./AM/A.M./PM/P.M.
+--echo #
+SELECT TO_CHAR(c1, 'ADYYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'AD.YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'ADYYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'AD.YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'BCYYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'BCYYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'B.C.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'B.C.YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'bcyyyy-mm-dd') AS C1, TO_CHAR(c2, 'hh:mi:ss') AS C2, TO_CHAR(c3, 'BcYYyy-MM-DD Hh24:mi:sS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'b.c.yyyy-mm-dd') AS C1, TO_CHAR(c2, 'hh:mI:Ss') AS C2, TO_CHAR(c3, 'b.C.Yyyy-Mm-dd hH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'PMHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD P.M.HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'pmHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD p.m.HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'AMHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD A.m.HH24:MI:SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'A.D.YYYY-MM-DD') AS C1, TO_CHAR(c2, 'amHH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD a.M.HH24:MI:SS') AS C3 FROM t_to_char1;
+
+--echo #
+--echo # test format without order
+--echo #
+SELECT TO_CHAR(c1, 'MM-YYYY-DD') AS C1, TO_CHAR(c2, 'HH:SS:MI') AS C2, TO_CHAR(c3, 'DD-YY-MM MI:SS:HH24') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'yyy-Dd-Mon') AS C1, TO_CHAR(c2, 'mi:Hh12:Ss') AS C2, TO_CHAR(c3, 'Ss:Hh:Mi Dy-y-Month') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'Dd-Mm-Rrrr') AS C1, TO_CHAR(c2, 'ss:hh:mi') AS C2, TO_CHAR(c3, 'ss:Rrrr-hh24-dd mon:mi') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'YYYYA.D.-MM-DD') AS C1, TO_CHAR(c2, 'HH:MI:SS') AS C2, TO_CHAR(c3, 'A.D..YYYY-MM-DD HH24:MI:SS') AS C3 FROM t_to_char1;
+
+--echo #
+--echo # test for special characters
+--echo #
+SELECT TO_CHAR(c1, 'YYYYMMDD') AS C1, TO_CHAR(c2, 'HHMISS') AS C2, TO_CHAR(c3, 'YYMMDDHH24MISS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'YYYY!!MM@DD') AS C1, TO_CHAR(c2, 'HH#MI$SS') AS C2, TO_CHAR(c3, 'YY%MM^DD*HH24(MI)SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'YYYY_MM+DD') AS C1, TO_CHAR(c2, 'HH=MI{SS') AS C2, TO_CHAR(c3, 'YY}MMDDHH24MISS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'YYYY,MM.DD') AS C1, TO_CHAR(c2, 'HH/MI;SS') AS C2, TO_CHAR(c3, 'YY>MM<DD]HH24[MI\SS') AS C3 FROM t_to_char1;
+SELECT TO_CHAR(c1, 'YYYY||||MM|DD') AS C1, TO_CHAR(c2, 'HH&|MI|&|SS') AS C2, TO_CHAR(c3, 'YY&&&\\MM|&&|DD HH24|| MI&||"abx"|SS') AS C3 FROM t_to_char1;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYY&MM-DD') FROM t_to_char1 where c0=1;
+SELECT TO_CHAR(c1, 'YYYY"abx"MM"bsz"DD') AS C1 FROM t_to_char1;
+
+--echo #
+--echo # test for other locale
+--echo #
+SET character_set_client='utf8';
+SET character_set_connection='utf8';
+SET character_set_results='utf8';
+SET lc_time_names='zh_TW';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+SET lc_time_names='de_DE';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+SET lc_time_names='en_US';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+SET lc_time_names='zh_CN';
+SELECT TO_CHAR(c1, 'YYYY-MON-DAY') FROM t_to_char1;
+
+--echo #
+--echo # test for invalid format
+--echo #
+
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYYaxMON-DAY') FROM t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYY\nMON-DAY') FROM t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYY\rMON-DAY') FROM t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYY分隔MON-DAY') FROM t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYY-分隔MON-DAY') FROM t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'YYYYxDDD') from t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'YYYY&DDD') from t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'xxYYYY-DD') from t_to_char1 where c0 = 1;
+
+SET character_set_client='latin1';
+SET character_set_connection='latin1';
+SET character_set_results='latin1';
+--echo #
+--echo # test for unusual format
+--echo #
+select to_char(c3, 'YYYYYYYYYYYYYYY') from t_to_char1;
+select to_char(c3, 'YYYYYYYYYYYYYYYDDDDDD') from t_to_char1;
+
+--echo #
+--echo # oracle max length is 144
+--echo #
+
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY') from t_to_char1 where c0 = 1;
+CREATE TABLE t_f(c1 varchar(150));
+insert into t_f values('YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-DD');
+select to_char('2000-11-11', c1) from t_f;
+DROP TABLE t_f;
+select to_char(c3, 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-DD-MM') from t_to_char1 where c0 = 1;
+
+--echo #
+--echo # now only support two parameter.
+--echo #
+select to_char(c3) from t_to_char1 where c0 =1;
+select to_char(c3, "YYYY-MM-DD HH:MI:SS") from t_to_char1 where c0 =1;
+--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
+select to_char(c3, "YYYY-MM-DD HH:MI:SS", "zh_CN") from t_to_char1 where c0 = 1;
+--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
+select to_char(c3, "YYYY-MM-DD HH:MI:SS", "NLS_DATE_LANGUAGE = zh_CN") from t_to_char1 where c0 = 1;
+
+--echo #
+--echo # oracle support format but mariadb does not support
+--echo #
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'DDD') from t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'D') from t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'DS') from t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'IY') from t_to_char1 where c0 = 1;
+--error ER_STD_INVALID_ARGUMENT
+select to_char(c3, 'IYYY') from t_to_char1 where c0 = 1;
+
+--echo #
+--echo # test for first argument data type
+--echo #
+--error ER_STD_INVALID_ARGUMENT
+select to_char(1, 'yyyy');
+--error ER_STD_INVALID_ARGUMENT
+select to_char(1.1, 'yyyy');
+CREATE TABLE t_a(c1 int, c2 float, c3 decimal, c4 char(20), c5 varchar(20), c6 nchar(20), c7 nvarchar(20));
+insert into t_a VALUES (1, 3.2, 2002.02, '2000-11-11', '2000-11-11', '2000-11-11', '2000-11-11');
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c1, 'YYYY') from t_a;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c2, 'YYYY') from t_a;
+--error ER_STD_INVALID_ARGUMENT
+SELECT TO_CHAR(c3, 'YYYY') from t_a;
+SELECT TO_CHAR(c4, 'YYYY') from t_a;
+SELECT TO_CHAR(c5, 'YYYY') from t_a;
+SELECT TO_CHAR(c6, 'YYYY') from t_a;
+SELECT TO_CHAR(c7, 'YYYY') from t_a;
+DROP TABLE t_a;
+
+CREATE TABLE t_b(c0 int, c1 char(20), c2 varchar(20), c3 nchar(20), c4 nvarchar(20));
+INSERT INTO t_b VALUES (1111, 'YYYY-MM-DD', 'YYYY-MM-DD', 'YYYY-MM-DD', 'YYYY-MM-DD');
+SELECT TO_CHAR('2000-11-11', c0) FROM t_b;
+SELECT TO_CHAR('2000-11-11', c1) FROM t_b;
+SELECT TO_CHAR('2000-11-11', c2) FROM t_b;
+SELECT TO_CHAR('2000-11-11', c3) FROM t_b;
+SELECT TO_CHAR('2000-11-11', c4) FROM t_b;
+DROP TABLE t_b;
+
+EXPLAIN EXTENDED SELECT TO_CHAR(c1, 'YYYY-MM-DD') FROM t_to_char1;
+
+--echo #
+--echo # test for time type with date format string
+--echo #
+SELECT TO_CHAR(c2, 'YYYY-MM-DD HH:MI:SS') from t_to_char1;
+SELECT TO_CHAR(c2, 'YYYY-MON-DY HH:MI:SS') from t_to_char1;
+SELECT TO_CHAR(c2, 'MON-YYYY-DY HH:MI:SS') from t_to_char1;
+SELECT TO_CHAR(c2, 'YYYY-MONTH-DAY HH:MI:SS') from t_to_char1;
+
+DROP TABLE t_to_char1;
+DROP TABLE t_to_char2;
+
+
+--echo #
+--echo # Test strict mode
+--echo #
+
+create table t1 (a datetime, b int, f varchar(30)) engine=myisam;
+insert into t1 values ("2021-01-24 19:22:10", 2014, "YYYY-MM-DD");
+insert into t1 values ("2021-01-24 19:22:10", 2014, "YYYY-MQ-DD");
+create table t2 (a varchar(30)) engine=myisam;
+insert into t2 select to_char(a,f) from t1;
+set @@sql_mode="STRICT_ALL_TABLES";
+--error ER_STD_INVALID_ARGUMENT
+insert into t2 select to_char(a,f) from t1;
+select * from t2;
+drop table t1,t2;
+set @local.sql_mode=@sql_mode;
+
diff --git a/mysql-test/suite/compat/oracle/t/minus.test b/mysql-test/suite/compat/oracle/t/minus.test
new file mode 100644
index 00000000000..cbaf422740b
--- /dev/null
+++ b/mysql-test/suite/compat/oracle/t/minus.test
@@ -0,0 +1,44 @@
+CREATE TABLE tx1 (c1 int, c2 varchar(30));
+CREATE TABLE tx2 (c1 int, c2 varchar(30));
+CREATE TABLE tx3 (c1 int, c2 varchar(30));
+INSERT INTO tx1 VALUES (1, 'jim');
+INSERT INTO tx1 VALUES (2, 'menny');
+INSERT INTO tx1 VALUES (3, 'linda');
+
+INSERT INTO tx2 VALUES (1, 'jim');
+INSERT INTO tx2 VALUES (2, 'kris');
+INSERT INTO tx2 VALUES (3, 'shory');
+
+INSERT INTO tx3 VALUES (1, 'jim');
+INSERT INTO tx3 VALUES (2, 'kris');
+INSERT INTO tx3 VALUES (3, 'linda');
+
+--echo #
+--echo # test when sql_mode is not oracle
+--echo #
+
+SELECT c2 FROM tx1 EXCEPT SELECT c2 from tx2;
+--error 1064
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2;
+
+# MINUS should not be a reserved word
+create table MINUS (a int);
+drop table MINUS;
+
+--echo #
+--echo # test when sql_mode is oracle
+--echo #
+
+SET sql_mode=ORACLE;
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2;
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2 MINUS SELECT c2 from tx3;
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2 EXCEPT SELECT c2 from tx3;
+SELECT c2 FROM tx1 MINUS SELECT c2 from tx2 UNION SELECT c2 from tx3;
+
+# MINUS should be a reserved word
+--error ER_PARSE_ERROR
+create table MINUS (a int);
+
+DROP TABLE tx1;
+DROP TABLE tx2;
+DROP TABLE tx3; \ No newline at end of file
diff --git a/mysql-test/suite/compat/oracle/t/parser.test b/mysql-test/suite/compat/oracle/t/parser.test
index d5d3b39f0b9..40b4e297e93 100644
--- a/mysql-test/suite/compat/oracle/t/parser.test
+++ b/mysql-test/suite/compat/oracle/t/parser.test
@@ -247,6 +247,7 @@ CALL comment();
CALL comment;
DROP PROCEDURE comment;
+enable_prepare_warnings;
DELIMITER /;
CREATE FUNCTION comment RETURN INT COMMENT 'test' AS
BEGIN
@@ -254,7 +255,6 @@ BEGIN
END;
/
DELIMITER ;/
-enable_prepare_warnings;
SELECT test.comment() FROM DUAL;
disable_prepare_warnings;
DROP FUNCTION comment;
@@ -570,8 +570,8 @@ call p1(1,2);
drop procedure p1;
-delimiter //;
set sql_mode=ORACLE;
+delimiter //;
create or replace procedure p1(id int, dt int) as
begin
while (1)
@@ -653,3 +653,75 @@ SELECT CAST(1 AS BEGIN);
--echo #
--echo # End of 10.5 tests
--echo #
+
+
+--echo #
+--echo # Start of 10.6 tests
+--echo #
+
+--echo #
+--echo # MDEV-19682 sql_mode="oracle" does not support sysdate
+--echo #
+
+# SYSDATE is not deterministic. Let's use LIKE and equality.
+# The main point here is only to check that SYSDATE
+# gets parsed without parentheses. The actial value is not important.
+SELECT sysdate LIKE '____-__-__ __:__:__';
+SELECT sysdate = sysdate();
+SELECT sysdate = sysdate(0);
+
+--error ER_PARSE_ERROR
+CREATE DATABASE sysdate;
+
+--error ER_PARSE_ERROR
+CREATE TABLE sysdate (a INT);
+
+--error ER_PARSE_ERROR
+CREATE TABLE t1 (sysdate INT);
+
+--error ER_PARSE_ERROR
+CREATE TABLE t1 (a sysdate);
+
+DELIMITER $$;
+--error ER_PARSE_ERROR
+CREATE FUNCTION sysdate RETURN INT AS
+BEGIN
+ RETURN 1;
+END;
+$$
+DELIMITER ;$$
+
+DELIMITER $$;
+--error ER_PARSE_ERROR
+CREATE FUNCTION sysdate() RETURN INT AS
+BEGIN
+ RETURN 1;
+END;
+$$
+DELIMITER ;$$
+
+
+DELIMITER $$;
+--error ER_PARSE_ERROR
+DECLARE
+ sysdate INT := 10;
+BEGIN
+ NULL;
+END;
+$$
+DELIMITER ;$$
+
+
+DELIMITER $$;
+--error ER_PARSE_ERROR
+BEGIN
+<<sysdate>>
+ NULL;
+END;
+$$
+DELIMITER ;$$
+
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/suite/compat/oracle/t/sp-package-innodb.test b/mysql-test/suite/compat/oracle/t/sp-package-innodb.test
index f4cd05b7112..94c7b714fb7 100644
--- a/mysql-test/suite/compat/oracle/t/sp-package-innodb.test
+++ b/mysql-test/suite/compat/oracle/t/sp-package-innodb.test
@@ -9,6 +9,8 @@ SELECT ENGINE FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
INSERT INTO t1 VALUES (10,'none');
+--enable_prepare_warnings
+
DELIMITER $$;
CREATE PACKAGE pkg1 AS
PROCEDURE p1;
@@ -58,5 +60,7 @@ ROLLBACK;
SELECT * FROM t1 ORDER BY a;
DELETE FROM t1;
+--disable_prepare_warnings
+
DROP PACKAGE pkg1;
DROP TABLE t1;
diff --git a/mysql-test/suite/compat/oracle/t/sp-package.test b/mysql-test/suite/compat/oracle/t/sp-package.test
index 401a46ad206..615ce51e195 100644
--- a/mysql-test/suite/compat/oracle/t/sp-package.test
+++ b/mysql-test/suite/compat/oracle/t/sp-package.test
@@ -2,6 +2,7 @@
SET sql_mode=ORACLE;
+--enable_prepare_warnings
--echo #
--echo # Creating a body of a non-existing package
@@ -49,7 +50,6 @@ DELIMITER ;$$
--echo # PACKAGE and PS
--echo #
---error ER_UNSUPPORTED_PS
PREPARE stmt FROM 'CREATE PACKAGE test2 AS FUNCTION f1 RETURN INT; END test2';
DELIMITER $$;
@@ -58,7 +58,6 @@ CREATE PACKAGE test2 AS
END;
$$
DELIMITER ;$$
---error ER_UNSUPPORTED_PS
PREPARE stmt FROM 'CREATE PACKAGE BODY test2 AS'
' FUNCTION f1 RETURN INT AS BEGIN RETURN 10; END;'
'END test2';
@@ -2689,6 +2688,7 @@ DELIMITER ;$$
CALL xyz.xyz123(17,18,@R);
DROP PACKAGE xyz;
DROP TABLE t1;
+--disable_prepare_warnings
--echo #
diff --git a/mysql-test/suite/compat/oracle/t/sp-row.test b/mysql-test/suite/compat/oracle/t/sp-row.test
index 8abf317708a..ebd0a2a2137 100644
--- a/mysql-test/suite/compat/oracle/t/sp-row.test
+++ b/mysql-test/suite/compat/oracle/t/sp-row.test
@@ -1,3 +1,4 @@
+
SET sql_mode=ORACLE;
@@ -324,6 +325,7 @@ AS
BEGIN
RETURN a;
END;
+$$
CREATE PROCEDURE p1()
AS
a ROW (a INT,b INT);
@@ -344,6 +346,7 @@ AS
BEGIN
RETURN a;
END;
+$$
CREATE PROCEDURE p1()
AS
a ROW (a INT);
@@ -861,6 +864,8 @@ DROP PROCEDURE p2;
--echo # ROW fields as SELECT..INTO targets
--echo #
+--enable_prepare_warnings
+
DELIMITER $$;
CREATE PROCEDURE p1
AS
@@ -874,6 +879,7 @@ DELIMITER ;$$
CALL p1;
DROP PROCEDURE p1;
+--disable_prepare_warnings
--echo #
--echo # Implicit default NULL handling
@@ -2083,6 +2089,7 @@ DROP PROCEDURE p1;
--echo #
+--enable_prepare_warnings
--echo # ROW variable with a wrong column count
CREATE TABLE t1 (a INT, b VARCHAR(32));
INSERT INTO t1 VALUES (10,'b10');
@@ -2243,7 +2250,7 @@ DELIMITER ;$$
CALL p1();
DROP TABLE t1;
DROP PROCEDURE p1;
-
+--disable_prepare_warnings
--echo #
--echo # MDEV-12347 Valgrind reports invalid read errors in Item_field_row::element_index_by_name
diff --git a/mysql-test/suite/compat/oracle/t/update_innodb.test b/mysql-test/suite/compat/oracle/t/update_innodb.test
index 8af219584d6..79660920901 100644
--- a/mysql-test/suite/compat/oracle/t/update_innodb.test
+++ b/mysql-test/suite/compat/oracle/t/update_innodb.test
@@ -8,6 +8,7 @@ SET sql_mode='ORACLE';
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY) engine=innodb;
INSERT INTO t1 VALUES (1);
START TRANSACTION;
+--enable_prepare_warnings
SELECT a AS a_con1 FROM t1 INTO @a FOR UPDATE;
--connect(con2,localhost,root,,)
@@ -24,5 +25,7 @@ COMMIT;
SELECT a AS con2 FROM t1;
COMMIT;
+--disable_prepare_warnings
+
--connection default
DROP TABLE t1;
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
index ce7f1ddef7e..2c04c73baec 100644
--- a/mysql-test/suite/encryption/include/have_example_key_management_plugin.opt
+++ b/mysql-test/suite/encryption/include/have_example_key_management_plugin.opt
@@ -1,2 +1,3 @@
--plugin-load-add=$EXAMPLE_KEY_MANAGEMENT_SO
--loose-example-key-management
+--skip-innodb-read-only-compressed
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
index 4f6317cdf67..2302dc48da8 100644
--- a/mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations
+++ b/mysql-test/suite/encryption/include/have_file_key_management_plugin.combinations
@@ -3,9 +3,11 @@ 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
+--skip-innodb-read-only-compressed
[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
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/encryption/r/corrupted_during_recovery.result b/mysql-test/suite/encryption/r/corrupted_during_recovery.result
index ea2f1ff3328..356dce64f8d 100644
--- a/mysql-test/suite/encryption/r/corrupted_during_recovery.result
+++ b/mysql-test/suite/encryption/r/corrupted_during_recovery.result
@@ -1,5 +1,3 @@
-# Work around MDEV-19541
-SET GLOBAL innodb_checksum_algorithm=crc32;
CREATE TABLE t1(a BIGINT PRIMARY KEY) ENGINE=InnoDB, ENCRYPTED=YES;
INSERT INTO t1 VALUES(1);
CREATE TABLE t2(a BIGINT PRIMARY KEY) ENGINE=InnoDB, ENCRYPTED=YES;
diff --git a/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff
index d963cde132a..d8407ce5a03 100644
--- a/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff
+++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,32k.rdiff
@@ -1,38 +1,14 @@
--- suite/encryption/r/innodb-checksum-algorithm.result
+++ suite/encryption/r/innodb-checksum-algorithm.result
-@@ -13,9 +13,9 @@
+@@ -9,9 +9,9 @@
+ SET GLOBAL innodb_checksum_algorithm = crc32;
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
+ create table tce(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
+ create table tc(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
+ create table te(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
index d963cde132a..d8407ce5a03 100644
--- a/mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff
+++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm,64k.rdiff
@@ -1,38 +1,14 @@
--- suite/encryption/r/innodb-checksum-algorithm.result
+++ suite/encryption/r/innodb-checksum-algorithm.result
-@@ -13,9 +13,9 @@
+@@ -9,9 +9,9 @@
+ SET GLOBAL innodb_checksum_algorithm = crc32;
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
+ create table tce(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
+ create table tc(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
+ create table te(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
index 8eac34ab399..7b97eb6b5bd 100644
--- a/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result
+++ b/mysql-test/suite/encryption/r/innodb-checksum-algorithm.result
@@ -1,457 +1,98 @@
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_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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
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
-db.opt
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-create table tce_innodb(a serial, b blob, index(b(10))) engine=innodb
+create table tce(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
+create table tc(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
+create table te(a serial, b blob, index(b(10))) engine=innodb
encrypted=yes;
-create table t_innodb(a serial, b blob, index(b(10))) engine=innodb
+create table t(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
+create table tpe(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
+create table tp(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));
+insert into tce(b) values (repeat('secret',20));
+insert into tc(b) values (repeat('secret',20));
+insert into te(b) values (repeat('secret',20));
+insert into t(b) values (repeat('secret',20));
+insert into tpe(b) values (repeat('secret',20));
+insert into tp(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
+FLUSH TABLES tce, tc, te, t, tpe, tp FOR EXPORT;
+backup: tce
+backup: tc
+backup: te
+backup: t
+backup: tpe
+backup: tp
db.opt
-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
+t.cfg
+t.frm
+t.ibd
+tc.cfg
+tc.frm
+tc.ibd
+tce.cfg
+tce.frm
+tce.ibd
+te.cfg
+te.frm
+te.ibd
+tp.cfg
+tp.frm
+tp.ibd
+tpe.cfg
+tpe.frm
+tpe.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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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
-db.opt
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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;
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-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;
+ALTER TABLE tce DISCARD TABLESPACE;
+ALTER TABLE tc DISCARD TABLESPACE;
+ALTER TABLE te DISCARD TABLESPACE;
+ALTER TABLE t DISCARD TABLESPACE;
+ALTER TABLE tpe DISCARD TABLESPACE;
+ALTER TABLE tp DISCARD TABLESPACE;
+restore: tce .ibd and .cfg files
+restore: tc .ibd and .cfg files
+restore: te .ibd and .cfg files
+restore: t .ibd and .cfg files
+restore: tpe .ibd and .cfg files
+restore: tp .ibd and .cfg files
+ALTER TABLE tce IMPORT TABLESPACE;
+update tce set b=substr(b,1);
+ALTER TABLE tc IMPORT TABLESPACE;
+update tc set b=substr(b,1);
+ALTER TABLE te IMPORT TABLESPACE;
+update te set b=substr(b,1);
+ALTER TABLE t IMPORT TABLESPACE;
+update t set b=substr(b,1);
+ALTER TABLE tpe IMPORT TABLESPACE;
+update tpe set b=substr(b,1);
+ALTER TABLE tp IMPORT TABLESPACE;
+update tp set b=substr(b,1);
+CHECK TABLE tce, tc, te, t, tpe, tp;
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;
+test.tce check status OK
+test.tc check status OK
+test.te check status OK
+test.t check status OK
+test.tpe check status OK
+test.tp check status OK
+DROP TABLE tce, tc, te, t, tpe, tp;
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-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
index 23e32698a2d..007fe21ed69 100644
--- a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
+++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
@@ -4,8 +4,7 @@ call mtr.add_suppression("InnoDB: We do not continue the crash recovery");
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
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=[0-9]+, page number=[0-9]+\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted\\.");
-call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'");
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
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;
diff --git a/mysql-test/suite/encryption/r/innodb_encrypt_log.result b/mysql-test/suite/encryption/r/innodb_encrypt_log.result
index 1a7a9267b60..b436435090b 100644
--- a/mysql-test/suite/encryption/r/innodb_encrypt_log.result
+++ b/mysql-test/suite/encryption/r/innodb_encrypt_log.result
@@ -5,12 +5,6 @@
# MDEV-9422 Encrypted redo log checksum errors
# on restart after killing busy server instance
#
-SET GLOBAL innodb_log_checksums=0;
-Warnings:
-Warning 138 The parameter innodb_log_checksums is deprecated and has no effect.
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
CREATE TABLE t0 (
pk bigint auto_increment,
col_int int,
diff --git a/mysql-test/suite/encryption/r/tempfiles_encrypted.result b/mysql-test/suite/encryption/r/tempfiles_encrypted.result
index fc855c33447..bc542a78d2b 100644
--- a/mysql-test/suite/encryption/r/tempfiles_encrypted.result
+++ b/mysql-test/suite/encryption/r/tempfiles_encrypted.result
@@ -4279,11 +4279,14 @@ GROUP BY
LEFT((SYSDATE()), 'foo')
WITH ROLLUP;
SUM(b) OVER (PARTITION BY a) ROW_NUMBER() OVER (PARTITION BY b)
-NULL 1
-NULL 1
+0 1
+0 2
Warnings:
Warning 1292 Truncated incorrect INTEGER value: 'foo'
Warning 1292 Truncated incorrect INTEGER value: 'foo'
+Warning 1292 Truncated incorrect INTEGER value: 'foo'
+Warning 1292 Truncated incorrect DOUBLE value: 'bar'
+Warning 1292 Truncated incorrect DOUBLE value: 'bar'
drop table t1;
#
#
diff --git a/mysql-test/suite/encryption/t/corrupted_during_recovery.combinations b/mysql-test/suite/encryption/t/corrupted_during_recovery.combinations
index 729380593f3..9ac914f22ed 100644
--- a/mysql-test/suite/encryption/t/corrupted_during_recovery.combinations
+++ b/mysql-test/suite/encryption/t/corrupted_during_recovery.combinations
@@ -1,5 +1,7 @@
[strict_crc32]
--innodb-checksum-algorithm=strict_crc32
+--skip-innodb-doublewrite
[strict_full_crc32]
--innodb-checksum-algorithm=strict_full_crc32
+--skip-innodb-doublewrite
diff --git a/mysql-test/suite/encryption/t/corrupted_during_recovery.test b/mysql-test/suite/encryption/t/corrupted_during_recovery.test
index 48445ccb08b..70650d0f746 100644
--- a/mysql-test/suite/encryption/t/corrupted_during_recovery.test
+++ b/mysql-test/suite/encryption/t/corrupted_during_recovery.test
@@ -11,10 +11,7 @@ call mtr.add_suppression("InnoDB: The page \\[page id: space=\\d+, page number=3
call mtr.add_suppression("InnoDB: Table in tablespace \\d+ encrypted. However key management plugin or used key_version \\d+ is not found or used encryption algorithm or method does not match. Can't continue opening the table.");
--enable_query_log
-let INNODB_CHECKSUM_ALGORITHM = `SELECT @@innodb_checksum_algorithm`;
let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
---echo # Work around MDEV-19541
-SET GLOBAL innodb_checksum_algorithm=crc32;
CREATE TABLE t1(a BIGINT PRIMARY KEY) ENGINE=InnoDB, ENCRYPTED=YES;
INSERT INTO t1 VALUES(1);
# Force a redo log checkpoint.
diff --git a/mysql-test/suite/encryption/t/encryption_key_corruption.combinations b/mysql-test/suite/encryption/t/encryption_key_corruption.combinations
index ec77ac17760..979b2acdc18 100644
--- a/mysql-test/suite/encryption/t/encryption_key_corruption.combinations
+++ b/mysql-test/suite/encryption/t/encryption_key_corruption.combinations
@@ -1,6 +1,4 @@
[crc32]
innodb-checksum-algorithm=crc32
-[none]
-innodb-checksum-algorithm=none
-[innodb]
-innodb-checksum-algorithm=innodb
+[full_crc32]
+innodb-checksum-algorithm=full_crc32
diff --git a/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test b/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test
index c9a4a9e1b92..157fb25b185 100644
--- a/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test
+++ b/mysql-test/suite/encryption/t/innodb-checksum-algorithm.test
@@ -1,8 +1,8 @@
+-- source include/innodb_checksum_algorithm.inc
-- source include/innodb_page_size.inc
-- source include/have_file_key_management_plugin.inc
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;
@@ -11,9 +11,6 @@ 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`;
@@ -22,96 +19,65 @@ let MYSQLD_DATADIR =`SELECT @@datadir`;
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
+eval create table tce(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
+eval create table tc(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
+eval create table te(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
+eval create table t(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
+eval create table tpe(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
+eval create table tp(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));
+eval insert into tce(b) values (repeat('secret',20));
+eval insert into tc(b) values (repeat('secret',20));
+eval insert into te(b) values (repeat('secret',20));
+eval insert into t(b) values (repeat('secret',20));
+eval insert into tpe(b) values (repeat('secret',20));
+eval insert into tp(b) values (repeat('secret',20));
commit;
-eval FLUSH TABLES tce_$checksum, tc_$checksum, te_$checksum,
-t_$checksum, tpe_$checksum, tp_$checksum FOR EXPORT;
+eval FLUSH TABLES tce, tc, te, t, tpe, tp 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);
+ib_backup_tablespaces("test", ("tce", "tc", "te", "t", "tpe", "tp"));
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;
+ALTER TABLE tce DISCARD TABLESPACE;
+ALTER TABLE tc DISCARD TABLESPACE;
+ALTER TABLE te DISCARD TABLESPACE;
+ALTER TABLE t DISCARD TABLESPACE;
+ALTER TABLE tpe DISCARD TABLESPACE;
+ALTER TABLE tp 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);
+ib_restore_tablespaces("test", ("tce", "tc", "te", "t", "tpe", "tp"));
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;
-}
+ALTER TABLE tce IMPORT TABLESPACE;
+update tce set b=substr(b,1);
+ALTER TABLE tc IMPORT TABLESPACE;
+update tc set b=substr(b,1);
+ALTER TABLE te IMPORT TABLESPACE;
+update te set b=substr(b,1);
+ALTER TABLE t IMPORT TABLESPACE;
+update t set b=substr(b,1);
+ALTER TABLE tpe IMPORT TABLESPACE;
+update tpe set b=substr(b,1);
+ALTER TABLE tp IMPORT TABLESPACE;
+update tp set b=substr(b,1);
+
+CHECK TABLE tce, tc, te, t, tpe, tp;
+DROP TABLE tce, tc, te, t, tpe, tp;
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
deleted file mode 100644
index df4560f06e5..00000000000
--- a/mysql-test/suite/encryption/t/innodb-compressed-blob.combinations
+++ /dev/null
@@ -1,4 +0,0 @@
-[crc32]
-loose-innodb-checksum-algorithm=crc32
-[none]
-loose-innodb-checksum-algorithm=none
diff --git a/mysql-test/suite/encryption/t/innodb-encryption-alter.test b/mysql-test/suite/encryption/t/innodb-encryption-alter.test
index f0177b2ca4e..6e5d449b10a 100644
--- a/mysql-test/suite/encryption/t/innodb-encryption-alter.test
+++ b/mysql-test/suite/encryption/t/innodb-encryption-alter.test
@@ -131,7 +131,3 @@ disconnect con1;
select * from t1;
drop table t1,t2;
-
-# Work around missing crash recovery at the SQL layer.
-let $datadir= `select @@datadir`;
---remove_files_wildcard $datadir/test #sql-*.frm
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
index 65bd3d2db72..9deae2f7acb 100644
--- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
@@ -9,8 +9,7 @@ call mtr.add_suppression("InnoDB: We do not continue the crash recovery");
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
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=[0-9]+, page number=[0-9]+\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted\\.");
-call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
+call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'");
-- 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_encrypt_log.test b/mysql-test/suite/encryption/t/innodb_encrypt_log.test
index ead00ba54b8..1d016be73c8 100644
--- a/mysql-test/suite/encryption/t/innodb_encrypt_log.test
+++ b/mysql-test/suite/encryption/t/innodb_encrypt_log.test
@@ -13,9 +13,6 @@
--let $MYSQLD_DATADIR=`select @@datadir`
-SET GLOBAL innodb_log_checksums=0;
-SELECT @@global.innodb_log_checksums;
-
CREATE TABLE t0 (
pk bigint auto_increment,
col_int int,
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 ad0cf41bdf1..252b7d40090 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
@@ -22,7 +22,7 @@ cp1250 Windows Central European cp1250_general_ci 1
gbk GBK Simplified Chinese gbk_chinese_ci 2
latin5 ISO 8859-9 Turkish latin5_turkish_ci 1
armscii8 ARMSCII-8 Armenian armscii8_general_ci 1
-utf8 UTF-8 Unicode utf8_general_ci 3
+utf8mb3 UTF-8 Unicode utf8mb3_general_ci 3
ucs2 UCS-2 Unicode ucs2_general_ci 2
cp866 DOS Russian cp866_general_ci 1
keybcs2 DOS Kamenicky Czech-Slovak keybcs2_general_ci 1
@@ -45,379 +45,419 @@ CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d8 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d8 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 CHARACTER SET binary;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 binary binary NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 CHARACTER SET swe7;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 swe7 swe7_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 CHARACTER SET cp1251;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 cp1251 cp1251_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d8 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d8 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 DEFAULT CHARACTER SET binary;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 binary binary NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 DEFAULT CHARACTER SET swe7;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 swe7 swe7_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d8 DEFAULT CHARACTER SET cp1251;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 cp1251 cp1251_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d8 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d8 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 CHARACTER SET binary;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 binary binary NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 CHARACTER SET swe7;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 swe7 swe7_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 CHARACTER SET cp1251;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 cp1251 cp1251_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d8 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d8 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 DEFAULT CHARACTER SET binary;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 binary binary NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 DEFAULT CHARACTER SET swe7;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 swe7 swe7_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
CREATE DATABASE d8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 latin1 latin1_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d8 DEFAULT CHARACTER SET cp1251;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d8 cp1251 cp1251_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d8;
diff --git a/mysql-test/suite/engines/funcs/r/db_alter_character_set_collate.result b/mysql-test/suite/engines/funcs/r/db_alter_character_set_collate.result
index d01b85d9039..b6ba5d6e54d 100644
--- a/mysql-test/suite/engines/funcs/r/db_alter_character_set_collate.result
+++ b/mysql-test/suite/engines/funcs/r/db_alter_character_set_collate.result
@@ -3,113 +3,125 @@ CREATE DATABASE d11 DEFAULT CHARACTER SET ascii DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d11 CHARACTER SET utf8 COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d11 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d11 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d11;
CREATE DATABASE d11 DEFAULT CHARACTER SET ascii DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d11 CHARACTER SET latin2 COLLATE latin2_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 latin2 latin2_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d11;
CREATE DATABASE d11 DEFAULT CHARACTER SET ascii DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d11 CHARACTER SET cp1250 COLLATE cp1250_croatian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 cp1250 cp1250_croatian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d11;
CREATE DATABASE d11 DEFAULT CHARACTER SET ascii DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d11 CHARACTER SET utf8 COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d11 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d11 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d11;
CREATE DATABASE d11 DEFAULT CHARACTER SET ascii DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d11 CHARACTER SET latin2 COLLATE latin2_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 latin2 latin2_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d11;
CREATE DATABASE d11 DEFAULT CHARACTER SET ascii DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d11 CHARACTER SET cp1250 COLLATE cp1250_croatian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d11 cp1250 cp1250_croatian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d11;
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 0b06979ee1d..b86c28e7344 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
@@ -97,40 +97,40 @@ armscii8_general_ci armscii8 32 Yes # #
armscii8_bin armscii8 64 # #
armscii8_general_nopad_ci armscii8 1056 # #
armscii8_nopad_bin armscii8 1088 # #
-utf8_general_ci utf8 33 Yes # #
-utf8_bin utf8 83 # #
-utf8_unicode_ci utf8 192 # #
-utf8_icelandic_ci utf8 193 # #
-utf8_latvian_ci utf8 194 # #
-utf8_romanian_ci utf8 195 # #
-utf8_slovenian_ci utf8 196 # #
-utf8_polish_ci utf8 197 # #
-utf8_estonian_ci utf8 198 # #
-utf8_spanish_ci utf8 199 # #
-utf8_swedish_ci utf8 200 # #
-utf8_turkish_ci utf8 201 # #
-utf8_czech_ci utf8 202 # #
-utf8_danish_ci utf8 203 # #
-utf8_lithuanian_ci utf8 204 # #
-utf8_slovak_ci utf8 205 # #
-utf8_spanish2_ci utf8 206 # #
-utf8_roman_ci utf8 207 # #
-utf8_persian_ci utf8 208 # #
-utf8_esperanto_ci utf8 209 # #
-utf8_hungarian_ci utf8 210 # #
-utf8_sinhala_ci utf8 211 # #
-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 # #
-utf8_general_nopad_ci utf8 1057 # #
-utf8_nopad_bin utf8 1107 # #
-utf8_unicode_nopad_ci utf8 1216 # #
-utf8_unicode_520_nopad_ci utf8 1238 # #
+utf8mb3_general_ci utf8mb3 33 Yes # #
+utf8mb3_bin utf8mb3 83 # #
+utf8mb3_unicode_ci utf8mb3 192 # #
+utf8mb3_icelandic_ci utf8mb3 193 # #
+utf8mb3_latvian_ci utf8mb3 194 # #
+utf8mb3_romanian_ci utf8mb3 195 # #
+utf8mb3_slovenian_ci utf8mb3 196 # #
+utf8mb3_polish_ci utf8mb3 197 # #
+utf8mb3_estonian_ci utf8mb3 198 # #
+utf8mb3_spanish_ci utf8mb3 199 # #
+utf8mb3_swedish_ci utf8mb3 200 # #
+utf8mb3_turkish_ci utf8mb3 201 # #
+utf8mb3_czech_ci utf8mb3 202 # #
+utf8mb3_danish_ci utf8mb3 203 # #
+utf8mb3_lithuanian_ci utf8mb3 204 # #
+utf8mb3_slovak_ci utf8mb3 205 # #
+utf8mb3_spanish2_ci utf8mb3 206 # #
+utf8mb3_roman_ci utf8mb3 207 # #
+utf8mb3_persian_ci utf8mb3 208 # #
+utf8mb3_esperanto_ci utf8mb3 209 # #
+utf8mb3_hungarian_ci utf8mb3 210 # #
+utf8mb3_sinhala_ci utf8mb3 211 # #
+utf8mb3_german2_ci utf8mb3 212 # #
+utf8mb3_croatian_mysql561_ci utf8mb3 213 # #
+utf8mb3_unicode_520_ci utf8mb3 214 # #
+utf8mb3_vietnamese_ci utf8mb3 215 # #
+utf8mb3_general_mysql500_ci utf8mb3 223 # #
+utf8mb3_croatian_ci utf8mb3 576 # #
+utf8mb3_myanmar_ci utf8mb3 577 # #
+utf8mb3_thai_520_w2 utf8mb3 578 # #
+utf8mb3_general_nopad_ci utf8mb3 1057 # #
+utf8mb3_nopad_bin utf8mb3 1107 # #
+utf8mb3_unicode_nopad_ci utf8mb3 1216 # #
+utf8mb3_unicode_520_nopad_ci utf8mb3 1238 # #
ucs2_general_ci ucs2 35 Yes # #
ucs2_bin ucs2 90 # #
ucs2_unicode_ci ucs2 128 # #
@@ -327,151 +327,167 @@ CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d9 COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d9 DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d9 COLLATE ascii_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d9 DEFAULT COLLATE ascii_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d9 COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d9 DEFAULT COLLATE ascii_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d9 COLLATE ascii_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
CREATE DATABASE d9 DEFAULT CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d9 DEFAULT COLLATE ascii_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d9 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d9;
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 1b875962417..6aa05538a32 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
@@ -97,40 +97,40 @@ armscii8_general_ci armscii8 32 Yes # #
armscii8_bin armscii8 64 # #
armscii8_general_nopad_ci armscii8 1056 # #
armscii8_nopad_bin armscii8 1088 # #
-utf8_general_ci utf8 33 Yes # #
-utf8_bin utf8 83 # #
-utf8_unicode_ci utf8 192 # #
-utf8_icelandic_ci utf8 193 # #
-utf8_latvian_ci utf8 194 # #
-utf8_romanian_ci utf8 195 # #
-utf8_slovenian_ci utf8 196 # #
-utf8_polish_ci utf8 197 # #
-utf8_estonian_ci utf8 198 # #
-utf8_spanish_ci utf8 199 # #
-utf8_swedish_ci utf8 200 # #
-utf8_turkish_ci utf8 201 # #
-utf8_czech_ci utf8 202 # #
-utf8_danish_ci utf8 203 # #
-utf8_lithuanian_ci utf8 204 # #
-utf8_slovak_ci utf8 205 # #
-utf8_spanish2_ci utf8 206 # #
-utf8_roman_ci utf8 207 # #
-utf8_persian_ci utf8 208 # #
-utf8_esperanto_ci utf8 209 # #
-utf8_hungarian_ci utf8 210 # #
-utf8_sinhala_ci utf8 211 # #
-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 # #
-utf8_general_nopad_ci utf8 1057 # #
-utf8_nopad_bin utf8 1107 # #
-utf8_unicode_nopad_ci utf8 1216 # #
-utf8_unicode_520_nopad_ci utf8 1238 # #
+utf8mb3_general_ci utf8mb3 33 Yes # #
+utf8mb3_bin utf8mb3 83 # #
+utf8mb3_unicode_ci utf8mb3 192 # #
+utf8mb3_icelandic_ci utf8mb3 193 # #
+utf8mb3_latvian_ci utf8mb3 194 # #
+utf8mb3_romanian_ci utf8mb3 195 # #
+utf8mb3_slovenian_ci utf8mb3 196 # #
+utf8mb3_polish_ci utf8mb3 197 # #
+utf8mb3_estonian_ci utf8mb3 198 # #
+utf8mb3_spanish_ci utf8mb3 199 # #
+utf8mb3_swedish_ci utf8mb3 200 # #
+utf8mb3_turkish_ci utf8mb3 201 # #
+utf8mb3_czech_ci utf8mb3 202 # #
+utf8mb3_danish_ci utf8mb3 203 # #
+utf8mb3_lithuanian_ci utf8mb3 204 # #
+utf8mb3_slovak_ci utf8mb3 205 # #
+utf8mb3_spanish2_ci utf8mb3 206 # #
+utf8mb3_roman_ci utf8mb3 207 # #
+utf8mb3_persian_ci utf8mb3 208 # #
+utf8mb3_esperanto_ci utf8mb3 209 # #
+utf8mb3_hungarian_ci utf8mb3 210 # #
+utf8mb3_sinhala_ci utf8mb3 211 # #
+utf8mb3_german2_ci utf8mb3 212 # #
+utf8mb3_croatian_mysql561_ci utf8mb3 213 # #
+utf8mb3_unicode_520_ci utf8mb3 214 # #
+utf8mb3_vietnamese_ci utf8mb3 215 # #
+utf8mb3_general_mysql500_ci utf8mb3 223 # #
+utf8mb3_croatian_ci utf8mb3 576 # #
+utf8mb3_myanmar_ci utf8mb3 577 # #
+utf8mb3_thai_520_w2 utf8mb3 578 # #
+utf8mb3_general_nopad_ci utf8mb3 1057 # #
+utf8mb3_nopad_bin utf8mb3 1107 # #
+utf8mb3_unicode_nopad_ci utf8mb3 1216 # #
+utf8mb3_unicode_520_nopad_ci utf8mb3 1238 # #
ucs2_general_ci ucs2 35 Yes # #
ucs2_bin ucs2 90 # #
ucs2_unicode_ci ucs2 128 # #
@@ -326,1596 +326,1764 @@ eucjpms_nopad_bin eucjpms 1122 # #
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_bin NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_bin NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_unicode_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_unicode_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_unicode_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_unicode_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_unicode_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_unicode_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_icelandic_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_icelandic_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_icelandic_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_icelandic_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_icelandic_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_icelandic_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_latvian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_latvian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_latvian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_latvian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_latvian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_latvian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_romanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_romanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_romanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_romanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_romanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_romanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_slovenian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovenian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovenian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_slovenian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovenian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovenian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_polish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_polish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_polish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_polish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_polish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_polish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_estonian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_estonian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_estonian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_estonian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_estonian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_estonian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_spanish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_spanish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_swedish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_swedish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_swedish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_swedish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_turkish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_turkish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_turkish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_turkish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_turkish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_turkish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_czech_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_czech_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_czech_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_czech_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_czech_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_czech_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_danish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_danish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_danish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_danish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_danish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_danish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_lithuanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_lithuanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_lithuanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_lithuanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_lithuanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_lithuanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_slovak_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovak_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovak_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_slovak_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovak_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovak_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_spanish2_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish2_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish2_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_spanish2_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish2_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish2_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_roman_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_roman_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_roman_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_roman_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_roman_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_roman_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_persian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_persian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_persian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_persian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_persian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_persian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_esperanto_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_esperanto_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_esperanto_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_esperanto_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_esperanto_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_esperanto_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 COLLATE utf8_hungarian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_hungarian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_hungarian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER DATABASE d10 DEFAULT COLLATE utf8_hungarian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_hungarian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_hungarian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_bin NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_bin;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_bin NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_bin NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_unicode_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_unicode_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_unicode_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_unicode_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_unicode_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_unicode_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_icelandic_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_icelandic_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_icelandic_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_icelandic_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_icelandic_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_icelandic_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_latvian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_latvian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_latvian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_latvian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_latvian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_latvian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_romanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_romanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_romanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_romanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_romanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_romanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_slovenian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovenian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovenian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_slovenian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovenian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovenian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_polish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_polish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_polish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_polish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_polish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_polish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_estonian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_estonian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_estonian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_estonian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_estonian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_estonian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_spanish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_spanish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_swedish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_swedish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_swedish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_swedish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_turkish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_turkish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_turkish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_turkish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_turkish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_turkish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_czech_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_czech_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_czech_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_czech_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_czech_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_czech_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_danish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_danish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_danish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_danish_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_danish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_danish_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_lithuanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_lithuanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_lithuanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_lithuanian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_lithuanian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_lithuanian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_slovak_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovak_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovak_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_slovak_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_slovak_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_slovak_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_spanish2_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish2_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish2_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_spanish2_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_spanish2_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_spanish2_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_roman_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_roman_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_roman_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_roman_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_roman_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_roman_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_persian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_persian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_persian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_persian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_persian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_persian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_esperanto_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_esperanto_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_esperanto_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_esperanto_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_esperanto_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_esperanto_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 COLLATE utf8_hungarian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_hungarian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_hungarian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
CREATE DATABASE d10 DEFAULT CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
ALTER SCHEMA d10 DEFAULT COLLATE utf8_hungarian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d10 utf8 utf8_hungarian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d10 utf8mb3 utf8mb3_hungarian_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d10;
diff --git a/mysql-test/suite/engines/funcs/r/db_create_character_set.result b/mysql-test/suite/engines/funcs/r/db_create_character_set.result
index 3c3d99bfba2..c7386d77168 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_character_set.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_character_set.result
@@ -3,99 +3,109 @@ CREATE DATABASE d12 CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d12;
CREATE DATABASE d12 CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d12 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d12 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d12;
CREATE DATABASE d12 CHARACTER SET binary;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 binary binary NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d12;
CREATE DATABASE d12 CHARACTER SET swe7;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 swe7 swe7_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d12;
CREATE DATABASE d12 CHARACTER SET cp1251;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 cp1251 cp1251_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d12;
CREATE SCHEMA d12 CHARACTER SET ascii;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 ascii ascii_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d12;
CREATE SCHEMA d12 CHARACTER SET utf8;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d12 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d12 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d12;
CREATE SCHEMA d12 CHARACTER SET binary;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 binary binary NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d12;
CREATE SCHEMA d12 CHARACTER SET swe7;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 swe7 swe7_swedish_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d12;
CREATE SCHEMA d12 CHARACTER SET cp1251;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d12 cp1251 cp1251_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d12;
diff --git a/mysql-test/suite/engines/funcs/r/db_create_character_set_collate.result b/mysql-test/suite/engines/funcs/r/db_create_character_set_collate.result
index 236973a34fd..6bdcdba696b 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_character_set_collate.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_character_set_collate.result
@@ -2,60 +2,66 @@ DROP DATABASE IF EXISTS d13;
CREATE DATABASE d13 CHARACTER SET utf8 COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d13 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d13 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d13;
CREATE DATABASE d13 CHARACTER SET latin2 COLLATE latin2_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d13 latin2 latin2_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d13;
CREATE DATABASE d13 CHARACTER SET cp1250 COLLATE cp1250_croatian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d13 cp1250 cp1250_croatian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP DATABASE d13;
CREATE SCHEMA d13 CHARACTER SET utf8 COLLATE utf8_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def d13 utf8 utf8_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def d13 utf8mb3 utf8mb3_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d13;
CREATE SCHEMA d13 CHARACTER SET latin2 COLLATE latin2_general_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d13 latin2 latin2_general_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d13;
CREATE SCHEMA d13 CHARACTER SET cp1250 COLLATE cp1250_croatian_ci;
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
def d13 cp1250 cp1250_croatian_ci NULL
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mtr latin1 latin1_swedish_ci NULL
def mysql latin1 latin1_swedish_ci NULL
-def performance_schema utf8 utf8_general_ci NULL
+def performance_schema utf8mb3 utf8mb3_general_ci NULL
+def sys utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
DROP SCHEMA d13;
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 85a871cf135..908327be8e7 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_drop.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_drop.result
@@ -7,6 +7,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
SHOW DATABASES LIKE 'd%';
Database (d%)
@@ -18,6 +19,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE d1;
DROP DATABASE d1;
@@ -29,6 +31,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
SHOW SCHEMAS LIKE 'd%';
Database (d%)
@@ -40,6 +43,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE d1;
DROP SCHEMA d1;
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 d18fe7ee5fd..3b7934a140a 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_error.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_error.result
@@ -7,6 +7,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
CREATE DATABASE d4;
ERROR HY000: Can't create database 'd4'; database exists
@@ -17,4 +18,5 @@ information_schema
mtr
mysql
performance_schema
+sys
test
diff --git a/mysql-test/suite/engines/funcs/r/db_create_error_reserved.result b/mysql-test/suite/engines/funcs/r/db_create_error_reserved.result
index 571ac0ea1ff..066209c39c9 100644
--- a/mysql-test/suite/engines/funcs/r/db_create_error_reserved.result
+++ b/mysql-test/suite/engines/funcs/r/db_create_error_reserved.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
CREATE DATABASE mysql;
ERROR HY000: Can't create database 'mysql'; database exists
@@ -13,4 +14,5 @@ information_schema
mtr
mysql
performance_schema
+sys
test
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 2637087da5b..0a4c54622d0 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
@@ -10,6 +10,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE d2;
DROP DATABASE d2;
@@ -27,6 +28,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE d2;
DROP SCHEMA d2;
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 24a51768103..a5dc1f8ed31 100644
--- a/mysql-test/suite/engines/funcs/r/db_drop_error.result
+++ b/mysql-test/suite/engines/funcs/r/db_drop_error.result
@@ -7,6 +7,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
DROP DATABASE nond5;
ERROR HY000: Can't drop database 'nond5'; database doesn't exist
@@ -17,4 +18,5 @@ information_schema
mtr
mysql
performance_schema
+sys
test
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 c2fce4f0acf..a7c76e69b0d 100644
--- a/mysql-test/suite/engines/funcs/r/db_use_error.result
+++ b/mysql-test/suite/engines/funcs/r/db_use_error.result
@@ -7,6 +7,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE DATABASE nond6;
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 'DATABASE nond6' at line 1
@@ -17,4 +18,5 @@ information_schema
mtr
mysql
performance_schema
+sys
test
diff --git a/mysql-test/suite/engines/funcs/r/rpl_loaddata_m.result b/mysql-test/suite/engines/funcs/r/rpl_loaddata_m.result
index 8e2bc2f0b1c..fdb5ca31e94 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_loaddata_m.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_loaddata_m.result
@@ -23,6 +23,7 @@ mtr
mysql
mysqltest
performance_schema
+sys
test
USE test;
SHOW TABLES;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_server_id1.result b/mysql-test/suite/engines/funcs/r/rpl_server_id1.result
index 001d1151843..33d1abb39c6 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_server_id1.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_server_id1.result
@@ -14,7 +14,7 @@ start slave;
insert into t1 values (1);
include/wait_for_slave_param.inc [Last_IO_Errno]
Last_IO_Errno = '1593'
-Last_IO_Error = 'Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).'
+Last_IO_Error = 'Fatal error: The slave I/O thread stops because master and slave have equal MariaDB server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).'
include/stop_slave.inc
reset slave;
reset master;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_sp.result b/mysql-test/suite/engines/funcs/r/rpl_sp.result
index 004608691ce..71177d6a2f5 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_sp.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_sp.result
@@ -189,7 +189,7 @@ select * from t2;
a
23
connection master;
-drop function fn1;
+drop function fn1|
create function fn1()
returns int
no sql
diff --git a/mysql-test/suite/engines/funcs/r/se_join_default.result b/mysql-test/suite/engines/funcs/r/se_join_default.result
index a825ad314f3..cc1271020bc 100644
--- a/mysql-test/suite/engines/funcs/r/se_join_default.result
+++ b/mysql-test/suite/engines/funcs/r/se_join_default.result
@@ -14,47 +14,47 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
c1 c1
0 1
0 2
-1 2
0 3
-1 3
-2 3
0 4
-1 4
-2 4
-3 4
0 5
-1 5
-2 5
-3 5
-4 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
0 9
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 5
+4 6
+4 7
+4 8
4 9
+5 6
+5 7
+5 8
5 9
+6 7
+6 8
6 9
+7 8
7 9
8 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -73,47 +73,47 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
c1 c1
0 1
0 2
-1 2
0 3
-1 3
-2 3
0 4
-1 4
-2 4
-3 4
0 5
-1 5
-2 5
-3 5
-4 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
0 9
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 5
+4 6
+4 7
+4 8
4 9
+5 6
+5 7
+5 8
5 9
+6 7
+6 8
6 9
+7 8
7 9
8 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -132,47 +132,47 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
c1 c1
0 1
0 2
-1 2
0 3
-1 3
-2 3
0 4
-1 4
-2 4
-3 4
0 5
-1 5
-2 5
-3 5
-4 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
0 9
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 5
+4 6
+4 7
+4 8
4 9
+5 6
+5 7
+5 8
5 9
+6 7
+6 8
6 9
+7 8
7 9
8 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -191,47 +191,47 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
c1 c1
0 1
0 2
-1 2
0 3
-1 3
-2 3
0 4
-1 4
-2 4
-3 4
0 5
-1 5
-2 5
-3 5
-4 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
0 9
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 5
+4 6
+4 7
+4 8
4 9
+5 6
+5 7
+5 8
5 9
+6 7
+6 8
6 9
+7 8
7 9
8 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -250,47 +250,47 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
c1 c1
0 1
0 2
-1 2
0 3
-1 3
-2 3
0 4
-1 4
-2 4
-3 4
0 5
-1 5
-2 5
-3 5
-4 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
0 9
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 5
+4 6
+4 7
+4 8
4 9
+5 6
+5 7
+5 8
5 9
+6 7
+6 8
6 9
+7 8
7 9
8 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -309,47 +309,47 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
c1 c1
0 1
0 2
-1 2
0 3
-1 3
-2 3
0 4
-1 4
-2 4
-3 4
0 5
-1 5
-2 5
-3 5
-4 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
0 9
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 5
+4 6
+4 7
+4 8
4 9
+5 6
+5 7
+5 8
5 9
+6 7
+6 8
6 9
+7 8
7 9
8 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -1214,57 +1214,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
c1 c1
0 0
0 1
-1 1
0 2
-1 2
-2 2
0 3
-1 3
-2 3
-3 3
0 4
-1 4
-2 4
-3 4
-4 4
0 5
-1 5
-2 5
-3 5
-4 5
-5 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-6 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-7 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-8 8
0 9
+1 1
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 2
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 3
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 4
+4 5
+4 6
+4 7
+4 8
4 9
+5 5
+5 6
+5 7
+5 8
5 9
+6 6
+6 7
+6 8
6 9
+7 7
+7 8
7 9
+8 8
8 9
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -1283,57 +1283,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
c1 c1
0 0
0 1
-1 1
0 2
-1 2
-2 2
0 3
-1 3
-2 3
-3 3
0 4
-1 4
-2 4
-3 4
-4 4
0 5
-1 5
-2 5
-3 5
-4 5
-5 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-6 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-7 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-8 8
0 9
+1 1
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 2
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 3
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 4
+4 5
+4 6
+4 7
+4 8
4 9
+5 5
+5 6
+5 7
+5 8
5 9
+6 6
+6 7
+6 8
6 9
+7 7
+7 8
7 9
+8 8
8 9
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -1352,57 +1352,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
c1 c1
0 0
0 1
-1 1
0 2
-1 2
-2 2
0 3
-1 3
-2 3
-3 3
0 4
-1 4
-2 4
-3 4
-4 4
0 5
-1 5
-2 5
-3 5
-4 5
-5 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-6 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-7 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-8 8
0 9
+1 1
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 2
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 3
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 4
+4 5
+4 6
+4 7
+4 8
4 9
+5 5
+5 6
+5 7
+5 8
5 9
+6 6
+6 7
+6 8
6 9
+7 7
+7 8
7 9
+8 8
8 9
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -1421,57 +1421,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
c1 c1
0 0
0 1
-1 1
0 2
-1 2
-2 2
0 3
-1 3
-2 3
-3 3
0 4
-1 4
-2 4
-3 4
-4 4
0 5
-1 5
-2 5
-3 5
-4 5
-5 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-6 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-7 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-8 8
0 9
+1 1
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 2
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 3
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 4
+4 5
+4 6
+4 7
+4 8
4 9
+5 5
+5 6
+5 7
+5 8
5 9
+6 6
+6 7
+6 8
6 9
+7 7
+7 8
7 9
+8 8
8 9
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -1490,57 +1490,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
c1 c1
0 0
0 1
-1 1
0 2
-1 2
-2 2
0 3
-1 3
-2 3
-3 3
0 4
-1 4
-2 4
-3 4
-4 4
0 5
-1 5
-2 5
-3 5
-4 5
-5 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-6 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-7 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-8 8
0 9
+1 1
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 2
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 3
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 4
+4 5
+4 6
+4 7
+4 8
4 9
+5 5
+5 6
+5 7
+5 8
5 9
+6 6
+6 7
+6 8
6 9
+7 7
+7 8
7 9
+8 8
8 9
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -1559,57 +1559,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
c1 c1
0 0
0 1
-1 1
0 2
-1 2
-2 2
0 3
-1 3
-2 3
-3 3
0 4
-1 4
-2 4
-3 4
-4 4
0 5
-1 5
-2 5
-3 5
-4 5
-5 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-6 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-7 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-8 8
0 9
+1 1
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 2
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 3
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 4
+4 5
+4 6
+4 7
+4 8
4 9
+5 5
+5 6
+5 7
+5 8
5 9
+6 6
+6 7
+6 8
6 9
+7 7
+7 8
7 9
+8 8
8 9
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3014,57 +3014,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
c1 c1
0 0
1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
1 1
+2 0
2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
2 2
+3 0
+3 1
3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
3 3
+4 0
+4 1
+4 2
4 3
-5 3
-6 3
-7 3
-8 3
-9 3
4 4
+5 0
+5 1
+5 2
+5 3
5 4
-6 4
-7 4
-8 4
-9 4
5 5
+6 0
+6 1
+6 2
+6 3
+6 4
6 5
-7 5
-8 5
-9 5
6 6
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
7 6
-8 6
-9 6
7 7
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
8 7
-9 7
8 8
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
9 8
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3083,57 +3083,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
c1 c1
0 0
1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
1 1
+2 0
2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
2 2
+3 0
+3 1
3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
3 3
+4 0
+4 1
+4 2
4 3
-5 3
-6 3
-7 3
-8 3
-9 3
4 4
+5 0
+5 1
+5 2
+5 3
5 4
-6 4
-7 4
-8 4
-9 4
5 5
+6 0
+6 1
+6 2
+6 3
+6 4
6 5
-7 5
-8 5
-9 5
6 6
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
7 6
-8 6
-9 6
7 7
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
8 7
-9 7
8 8
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
9 8
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3152,57 +3152,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
c1 c1
0 0
1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
1 1
+2 0
2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
2 2
+3 0
+3 1
3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
3 3
+4 0
+4 1
+4 2
4 3
-5 3
-6 3
-7 3
-8 3
-9 3
4 4
+5 0
+5 1
+5 2
+5 3
5 4
-6 4
-7 4
-8 4
-9 4
5 5
+6 0
+6 1
+6 2
+6 3
+6 4
6 5
-7 5
-8 5
-9 5
6 6
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
7 6
-8 6
-9 6
7 7
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
8 7
-9 7
8 8
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
9 8
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3221,57 +3221,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
c1 c1
0 0
1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
1 1
+2 0
2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
2 2
+3 0
+3 1
3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
3 3
+4 0
+4 1
+4 2
4 3
-5 3
-6 3
-7 3
-8 3
-9 3
4 4
+5 0
+5 1
+5 2
+5 3
5 4
-6 4
-7 4
-8 4
-9 4
5 5
+6 0
+6 1
+6 2
+6 3
+6 4
6 5
-7 5
-8 5
-9 5
6 6
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
7 6
-8 6
-9 6
7 7
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
8 7
-9 7
8 8
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
9 8
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3290,57 +3290,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
c1 c1
0 0
1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
1 1
+2 0
2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
2 2
+3 0
+3 1
3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
3 3
+4 0
+4 1
+4 2
4 3
-5 3
-6 3
-7 3
-8 3
-9 3
4 4
+5 0
+5 1
+5 2
+5 3
5 4
-6 4
-7 4
-8 4
-9 4
5 5
+6 0
+6 1
+6 2
+6 3
+6 4
6 5
-7 5
-8 5
-9 5
6 6
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
7 6
-8 6
-9 6
7 7
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
8 7
-9 7
8 8
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
9 8
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3359,57 +3359,57 @@ SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
c1 c1
0 0
1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
1 1
+2 0
2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
2 2
+3 0
+3 1
3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
3 3
+4 0
+4 1
+4 2
4 3
-5 3
-6 3
-7 3
-8 3
-9 3
4 4
+5 0
+5 1
+5 2
+5 3
5 4
-6 4
-7 4
-8 4
-9 4
5 5
+6 0
+6 1
+6 2
+6 3
+6 4
6 5
-7 5
-8 5
-9 5
6 6
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
7 6
-8 6
-9 6
7 7
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
8 7
-9 7
8 8
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
9 8
9 9
DROP TABLE t1,t2,t3,t4,t5,t6;
@@ -3912,96 +3912,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
CREATE TABLE t2 (c1 SMALLINT NOT NULL);
@@ -4016,96 +4016,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
CREATE TABLE t2 (c1 MEDIUMINT NOT NULL);
@@ -4120,96 +4120,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
CREATE TABLE t2 (c1 INT NOT NULL);
@@ -4224,96 +4224,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
CREATE TABLE t2 (c1 INTEGER NOT NULL);
@@ -4328,96 +4328,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
CREATE TABLE t2 (c1 BIGINT NOT NULL);
@@ -4432,96 +4432,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
CREATE TABLE t2 (c1 TINYINT NOT NULL);
@@ -5502,96 +5502,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
CREATE TABLE t2 (c1 SMALLINT NOT NULL);
@@ -5606,96 +5606,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
CREATE TABLE t2 (c1 MEDIUMINT NOT NULL);
@@ -5710,96 +5710,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
CREATE TABLE t2 (c1 INT NOT NULL);
@@ -5814,96 +5814,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
CREATE TABLE t2 (c1 INTEGER NOT NULL);
@@ -5918,96 +5918,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
CREATE TABLE t2 (c1 BIGINT NOT NULL);
@@ -6022,96 +6022,96 @@ INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
c1 c1
-1 0
-2 0
-3 0
-4 0
-5 0
-6 0
-7 0
-8 0
-9 0
0 1
-2 1
-3 1
-4 1
-5 1
-6 1
-7 1
-8 1
-9 1
0 2
-1 2
-3 2
-4 2
-5 2
-6 2
-7 2
-8 2
-9 2
0 3
-1 3
-2 3
-4 3
-5 3
-6 3
-7 3
-8 3
-9 3
0 4
-1 4
-2 4
-3 4
-5 4
-6 4
-7 4
-8 4
-9 4
0 5
-1 5
-2 5
-3 5
-4 5
-6 5
-7 5
-8 5
-9 5
0 6
-1 6
-2 6
-3 6
-4 6
-5 6
-7 6
-8 6
-9 6
0 7
-1 7
-2 7
-3 7
-4 7
-5 7
-6 7
-8 7
-9 7
0 8
-1 8
-2 8
-3 8
-4 8
-5 8
-6 8
-7 8
-9 8
0 9
+1 0
+1 2
+1 3
+1 4
+1 5
+1 6
+1 7
+1 8
1 9
+2 0
+2 1
+2 3
+2 4
+2 5
+2 6
+2 7
+2 8
2 9
+3 0
+3 1
+3 2
+3 4
+3 5
+3 6
+3 7
+3 8
3 9
+4 0
+4 1
+4 2
+4 3
+4 5
+4 6
+4 7
+4 8
4 9
+5 0
+5 1
+5 2
+5 3
+5 4
+5 6
+5 7
+5 8
5 9
+6 0
+6 1
+6 2
+6 3
+6 4
+6 5
+6 7
+6 8
6 9
+7 0
+7 1
+7 2
+7 3
+7 4
+7 5
+7 6
+7 8
7 9
+8 0
+8 1
+8 2
+8 3
+8 4
+8 5
+8 6
+8 7
8 9
+9 0
+9 1
+9 2
+9 3
+9 4
+9 5
+9 6
+9 7
+9 8
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
CREATE TABLE t2 (c1 TINYINT NOT NULL);
diff --git a/mysql-test/suite/engines/funcs/t/se_join_default.test b/mysql-test/suite/engines/funcs/t/se_join_default.test
index 87e5a4d5b6a..16cdc12a01d 100644
--- a/mysql-test/suite/engines/funcs/t/se_join_default.test
+++ b/mysql-test/suite/engines/funcs/t/se_join_default.test
@@ -12,6 +12,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -25,6 +26,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -38,6 +40,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -51,6 +54,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -64,6 +68,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -77,6 +82,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 < t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -90,6 +96,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 < t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -103,6 +110,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 < t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -116,6 +124,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 < t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -129,6 +138,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 < t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -142,6 +152,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 < t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -155,6 +166,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 < t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -168,6 +180,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 < t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -181,6 +194,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 < t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -194,6 +208,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 < t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -207,6 +222,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 < t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -220,6 +236,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 < t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -233,6 +250,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 < t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -246,6 +264,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 < t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -259,6 +278,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 < t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -272,6 +292,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 < t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -285,6 +306,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 < t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -298,6 +320,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 < t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -311,6 +334,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 < t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -324,6 +348,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 < t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -337,6 +362,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 < t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -350,6 +376,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 < t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -363,6 +390,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 < t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -376,6 +404,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 < t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -389,6 +418,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 < t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -402,6 +432,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -415,6 +446,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -428,6 +460,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -441,6 +474,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -454,6 +488,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -467,6 +502,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -480,6 +516,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -493,6 +530,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -506,6 +544,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -519,6 +558,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -532,6 +572,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -545,6 +586,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -558,6 +600,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -571,6 +614,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -584,6 +628,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -597,6 +642,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -610,6 +656,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -623,6 +670,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -636,6 +684,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -649,6 +698,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -662,6 +712,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -675,6 +726,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -688,6 +740,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -701,6 +754,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -714,6 +768,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -727,6 +782,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -740,6 +796,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -753,6 +810,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -766,6 +824,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -779,6 +838,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -792,6 +852,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 = t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -805,6 +866,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 = t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -818,6 +880,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 = t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -831,6 +894,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 = t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -844,6 +908,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 = t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -857,6 +922,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 = t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -870,6 +936,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 = t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -883,6 +950,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 = t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -896,6 +964,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 = t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -909,6 +978,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 = t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -922,6 +992,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 = t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -935,6 +1006,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 = t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -948,6 +1020,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 = t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -961,6 +1034,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 = t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -974,6 +1048,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 = t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -987,6 +1062,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 = t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1000,6 +1076,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 = t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1013,6 +1090,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 = t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1026,6 +1104,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 = t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1039,6 +1118,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 = t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1052,6 +1132,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 = t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1065,6 +1146,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 = t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1078,6 +1160,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 = t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1091,6 +1174,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 = t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1104,6 +1188,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 = t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1117,6 +1202,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 = t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1130,6 +1216,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 = t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1143,6 +1230,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 = t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1156,6 +1244,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 = t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1169,6 +1258,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 = t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1182,6 +1272,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1195,6 +1286,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1208,6 +1300,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1221,6 +1314,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1234,6 +1328,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1247,6 +1342,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 >= t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1260,6 +1356,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 >= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1273,6 +1370,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 >= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1286,6 +1384,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 >= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1299,6 +1398,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 >= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1312,6 +1412,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 >= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1325,6 +1426,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 >= t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1338,6 +1440,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 >= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1351,6 +1454,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 >= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1364,6 +1468,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 >= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1377,6 +1482,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 >= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1390,6 +1496,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 >= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1403,6 +1510,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 >= t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1416,6 +1524,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 >= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1429,6 +1538,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 >= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1442,6 +1552,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 >= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1455,6 +1566,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 >= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1468,6 +1580,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 >= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1481,6 +1594,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 >= t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1494,6 +1608,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 >= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1507,6 +1622,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 >= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1520,6 +1636,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 >= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1533,6 +1650,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 >= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1546,6 +1664,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 >= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1559,6 +1678,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 >= t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1572,6 +1692,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1585,6 +1706,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1598,6 +1720,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1611,6 +1734,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1624,6 +1748,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1637,6 +1762,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 != t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1650,6 +1776,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 != t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1663,6 +1790,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 != t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1676,6 +1804,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 != t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1689,6 +1818,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 != t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1702,6 +1832,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 != t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1715,6 +1846,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 != t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1728,6 +1860,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 != t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1741,6 +1874,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 != t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1754,6 +1888,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 != t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1767,6 +1902,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 != t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1780,6 +1916,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 != t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1793,6 +1930,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 != t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1806,6 +1944,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 != t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1819,6 +1958,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 != t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1832,6 +1972,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 != t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1845,6 +1986,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 != t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1858,6 +2000,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 != t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1871,6 +2014,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 != t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1884,6 +2028,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 != t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1897,6 +2042,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 != t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1910,6 +2056,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 != t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -1923,6 +2070,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 != t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -1936,6 +2084,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 != t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -1949,6 +2098,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 != t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -1962,6 +2112,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -1975,6 +2126,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -1988,6 +2140,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2001,6 +2154,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2014,6 +2168,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2027,6 +2182,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2040,6 +2196,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2053,6 +2210,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2066,6 +2224,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2079,6 +2238,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2092,6 +2252,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2105,6 +2266,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2118,6 +2280,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2131,6 +2294,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2144,6 +2308,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2157,6 +2322,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2170,6 +2336,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2183,6 +2350,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2196,6 +2364,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2209,6 +2378,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2222,6 +2392,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2235,6 +2406,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2248,6 +2420,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2261,6 +2434,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2274,6 +2448,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2287,6 +2462,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2300,6 +2476,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2313,6 +2490,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2326,6 +2504,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2339,6 +2518,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2352,6 +2532,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <=> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2365,6 +2546,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <=> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2378,6 +2560,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <=> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2391,6 +2574,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <=> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2404,6 +2588,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <=> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2417,6 +2602,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t2.c1 FROM t1,t2 WHERE t1.c1 <=> t2.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2430,6 +2616,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <=> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2443,6 +2630,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <=> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2456,6 +2644,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <=> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2469,6 +2658,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <=> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2482,6 +2672,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <=> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2495,6 +2686,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t3.c1 FROM t1,t3 WHERE t1.c1 <=> t3.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2508,6 +2700,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <=> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2521,6 +2714,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <=> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2534,6 +2728,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <=> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2547,6 +2742,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <=> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2560,6 +2756,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <=> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2573,6 +2770,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t4.c1 FROM t1,t4 WHERE t1.c1 <=> t4.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2586,6 +2784,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <=> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2599,6 +2798,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <=> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2612,6 +2812,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <=> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2625,6 +2826,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <=> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2638,6 +2840,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <=> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2651,6 +2854,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t5.c1 FROM t1,t5 WHERE t1.c1 <=> t5.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 TINYINT NOT NULL);
@@ -2664,6 +2868,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <=> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 SMALLINT NOT NULL);
@@ -2677,6 +2882,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <=> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 MEDIUMINT NOT NULL);
@@ -2690,6 +2896,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <=> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INT NOT NULL);
@@ -2703,6 +2910,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <=> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 INTEGER NOT NULL);
@@ -2716,6 +2924,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <=> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
CREATE TABLE t1 (c1 BIGINT NOT NULL);
@@ -2729,6 +2938,7 @@ INSERT INTO t2 (c1) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
INSERT INTO t3 (c1) VALUES(1),(3),(5),(7),(9);
INSERT INTO t4 (c1) VALUES(10);
INSERT INTO t5 (c1) VALUES(10),(11),(12),(13),(14);
+--sorted_result
SELECT t1.c1,t6.c1 FROM t1,t6 WHERE t1.c1 <=> t6.c1;
DROP TABLE t1,t2,t3,t4,t5,t6;
diff --git a/mysql-test/suite/funcs_1/datadict/is_routines.inc b/mysql-test/suite/funcs_1/datadict/is_routines.inc
index 35b31c35553..3bbd26a948d 100644
--- a/mysql-test/suite/funcs_1/datadict/is_routines.inc
+++ b/mysql-test/suite/funcs_1/datadict/is_routines.inc
@@ -185,17 +185,17 @@ FLUSH PRIVILEGES;
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (testuser1, localhost, testuser1, , db_datadict);
--replace_column 24 "YYYY-MM-DD hh:mm:ss" 25 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (testuser2, localhost, testuser2, , db_datadict);
--replace_column 24 "YYYY-MM-DD hh:mm:ss" 25 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (testuser3, localhost, testuser3, , test);
--replace_column 24 "YYYY-MM-DD hh:mm:ss" 25 "YYYY-MM-DD hh:mm:ss"
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
# Cleanup
connection default;
diff --git a/mysql-test/suite/funcs_1/datadict/is_views.inc b/mysql-test/suite/funcs_1/datadict/is_views.inc
index cb3444e308a..367b1b1ede4 100644
--- a/mysql-test/suite/funcs_1/datadict/is_views.inc
+++ b/mysql-test/suite/funcs_1/datadict/is_views.inc
@@ -65,9 +65,9 @@ eval SHOW COLUMNS FROM information_schema.$is_table;
# Note: Retrieval of information within information_schema.columns about
# information_schema.views is in is_columns_is.test.
-# Show that TABLE_CATALOG is always NULL.
+# Show that TABLE_CATALOG is always 'def'.
SELECT table_catalog, table_schema, table_name
-FROM information_schema.views WHERE table_catalog IS NOT NULL;
+FROM information_schema.views WHERE table_catalog <> 'def';
--echo ################################################################################
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb2.inc b/mysql-test/suite/funcs_1/include/innodb_tb2.inc
index 4e5ee091c74..1a5896cb003 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb2.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb2.inc
@@ -3,6 +3,7 @@
--disable_warnings
drop table if exists tb2 ;
--enable_warnings
+--enable_prepare_warnings
create table tb2 (
f59 numeric (0) unsigned,
f60 numeric (64) unsigned,
@@ -61,3 +62,4 @@ f109 set("1set","2set") not null default "1set"
eval
load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/innodb_tb2.txt'
into table tb2;
+--disable_prepare_warnings
diff --git a/mysql-test/suite/funcs_1/include/innodb_tb4.inc b/mysql-test/suite/funcs_1/include/innodb_tb4.inc
index b3e94fce80e..95a0b8afb86 100644
--- a/mysql-test/suite/funcs_1/include/innodb_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/innodb_tb4.inc
@@ -3,6 +3,7 @@
--disable_warnings
drop table if exists tb4;
--enable_warnings
+--enable_prepare_warnings
create table tb4 (
f176 numeric (0) unsigned not null DEFAULT 9,
f177 numeric (64) unsigned not null DEFAULT 9,
@@ -68,3 +69,4 @@ f241 char(100)
eval
load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/innodb_tb4.txt'
into table tb4;
+--disable_prepare_warnings
diff --git a/mysql-test/suite/funcs_1/include/memory_tb2.inc b/mysql-test/suite/funcs_1/include/memory_tb2.inc
index 272b86b9f03..b9e6bd72e95 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb2.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb2.inc
@@ -3,6 +3,9 @@
--disable_warnings
drop table if exists tb2 ;
--enable_warnings
+
+--enable_prepare_warnings
+
create table tb2 (
f59 numeric (0) unsigned,
f60 numeric (64) unsigned,
@@ -61,3 +64,5 @@ f109 set("1set","2set") not null default "1set"
eval
load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb2.txt'
into table tb2 ;
+
+--disable_prepare_warnings
diff --git a/mysql-test/suite/funcs_1/include/memory_tb4.inc b/mysql-test/suite/funcs_1/include/memory_tb4.inc
index 3a4fc861f28..786e2772b44 100644
--- a/mysql-test/suite/funcs_1/include/memory_tb4.inc
+++ b/mysql-test/suite/funcs_1/include/memory_tb4.inc
@@ -3,6 +3,7 @@
--disable_warnings
drop table if exists tb4 ;
--enable_warnings
+--enable_prepare_warnings
create table tb4 (
f176 numeric (0) unsigned not null DEFAULT 9,
f177 numeric (64) unsigned not null DEFAULT 9,
@@ -67,3 +68,4 @@ f240 varchar(1200)
eval
load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb4.txt'
into table tb4;
+--disable_prepare_warnings
diff --git a/mysql-test/suite/funcs_1/r/charset_collation.result b/mysql-test/suite/funcs_1/r/charset_collation.result
index 31bd30c5acf..002fcf55365 100644
--- a/mysql-test/suite/funcs_1/r/charset_collation.result
+++ b/mysql-test/suite/funcs_1/r/charset_collation.result
@@ -4,16 +4,16 @@ connect con,localhost,dbdict_test,,;
SELECT *
FROM information_schema.character_sets
-WHERE character_set_name IN ('utf8','latin1','binary')
+WHERE character_set_name IN ('utf8mb3','latin1','binary')
ORDER BY character_set_name;
CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
binary binary Binary pseudo charset 1
latin1 latin1_swedish_ci cp1252 West European 1
-utf8 utf8_general_ci UTF-8 Unicode 3
+utf8mb3 utf8mb3_general_ci UTF-8 Unicode 3
SELECT *
FROM information_schema.collations
-WHERE character_set_name IN ('utf8','latin1','binary')
+WHERE character_set_name IN ('utf8mb3','latin1','binary')
AND (collation_name LIKE CONCAT(character_set_name,'_general_ci')
OR
collation_name LIKE CONCAT(character_set_name,'_bin'))
@@ -21,12 +21,12 @@ ORDER BY collation_name;
COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
latin1_bin latin1 47 Yes 1
latin1_general_ci latin1 48 Yes 1
-utf8_bin utf8 83 Yes 1
-utf8_general_ci utf8 33 Yes Yes 1
+utf8mb3_bin utf8mb3 83 Yes 1
+utf8mb3_general_ci utf8mb3 33 Yes Yes 1
SELECT *
FROM information_schema.collation_character_set_applicability
-WHERE character_set_name IN ('utf8','latin1','binary')
+WHERE character_set_name IN ('utf8mb3','latin1','binary')
AND (collation_name LIKE CONCAT(character_set_name,'_general_ci')
OR
collation_name LIKE CONCAT(character_set_name,'_bin'))
@@ -34,8 +34,8 @@ ORDER BY collation_name, character_set_name;
COLLATION_NAME CHARACTER_SET_NAME
latin1_bin latin1
latin1_general_ci latin1
-utf8_bin utf8
-utf8_general_ci utf8
+utf8mb3_bin utf8mb3
+utf8mb3_general_ci utf8mb3
connection default;
disconnect con;
DROP USER dbdict_test@localhost;
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 6004a478f56..445a9101a37 100644
--- a/mysql-test/suite/funcs_1/r/innodb_func_view.result
+++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result
@@ -2349,7 +2349,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_varbinary_1000` using utf8) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varbinary_1000` using utf8mb3) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 98 OR select_id IS NULL) order by id;
@@ -2375,7 +2375,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_binary_30` using utf8) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_binary_30` using utf8mb3) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 97 OR select_id IS NULL) order by id;
@@ -2401,7 +2401,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_varchar_1000` using utf8) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using utf8mb3) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 96 OR select_id IS NULL) order by id;
@@ -2427,7 +2427,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_char_30` using utf8) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using utf8mb3) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 95 OR select_id IS NULL) order by id;
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 2bc3f46821d..36115ecad83 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result
@@ -202,7 +202,7 @@ update t1 set f2='update 3.5.1.7';
select * from t1;
f1 f2 f3
NULL update 3.5.1.7 42
-select trigger_name from information_schema.triggers order by trigger_name;
+select trigger_name from information_schema.triggers where trigger_schema <> 'sys' order by trigger_name;
trigger_name
gs_insert
trg5_1
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 b2ea135e011..fb5d105448f 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result
@@ -237,7 +237,7 @@ Testcase 3.5.5.2:
Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned);
Create trigger trg2 before INSERT
on t1_temp for each row set new.f2=9999;
-ERROR HY000: Trigger's 't1_temp' is view, temporary table or sequence
+ERROR HY000: Trigger's 't1_temp' is a view, temporary table or sequence
drop table t1_temp;
Testcase 3.5.5.3:
diff --git a/mysql-test/suite/funcs_1/r/is_character_sets.result b/mysql-test/suite/funcs_1/r/is_character_sets.result
index 4f2015348b5..9b5caf7448b 100644
--- a/mysql-test/suite/funcs_1/r/is_character_sets.result
+++ b/mysql-test/suite/funcs_1/r/is_character_sets.result
@@ -39,7 +39,7 @@ CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` (
`DEFAULT_COLLATE_NAME` varchar(32) NOT NULL,
`DESCRIPTION` varchar(60) NOT NULL,
`MAXLEN` bigint(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.CHARACTER_SETS;
Field Type Null Key Default Extra
CHARACTER_SET_NAME varchar(32) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result b/mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
index 354d032d168..6e4c8b14f1f 100644
--- a/mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
+++ b/mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
@@ -35,7 +35,7 @@ Table Create Table
COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` (
`COLLATION_NAME` varchar(32) NOT NULL,
`CHARACTER_SET_NAME` varchar(32) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY;
Field Type Null Key Default Extra
COLLATION_NAME varchar(32) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_collations.result b/mysql-test/suite/funcs_1/r/is_collations.result
index 80bde843c68..f4054af8655 100644
--- a/mysql-test/suite/funcs_1/r/is_collations.result
+++ b/mysql-test/suite/funcs_1/r/is_collations.result
@@ -43,7 +43,7 @@ COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` (
`IS_DEFAULT` varchar(3) NOT NULL,
`IS_COMPILED` varchar(3) NOT NULL,
`SORTLEN` bigint(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.COLLATIONS;
Field Type Null Key Default Extra
COLLATION_NAME varchar(32) NO NULL
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 30c16317e56..1d945a31ffc 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(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
TABLE_NAME varchar(64) NO NULL
@@ -38,17 +38,17 @@ IS_GRANTABLE varchar(3) NO NULL
SHOW CREATE TABLE information_schema.COLUMN_PRIVILEGES;
Table Create Table
COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
- `GRANTEE` varchar(190) NOT NULL,
+ `GRANTEE` varchar(385) NOT NULL,
`TABLE_CATALOG` varchar(512) NOT NULL,
`TABLE_SCHEMA` varchar(64) NOT NULL,
`TABLE_NAME` varchar(64) NOT NULL,
`COLUMN_NAME` varchar(64) NOT NULL,
`PRIVILEGE_TYPE` varchar(64) NOT NULL,
`IS_GRANTABLE` varchar(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.COLUMN_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
TABLE_NAME varchar(64) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_columns.result b/mysql-test/suite/funcs_1/r/is_columns.result
index 35106e7ded5..d352c80017f 100644
--- a/mysql-test/suite/funcs_1/r/is_columns.result
+++ b/mysql-test/suite/funcs_1/r/is_columns.result
@@ -75,7 +75,7 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` (
`COLUMN_COMMENT` varchar(1024) NOT NULL,
`IS_GENERATED` varchar(6) NOT NULL,
`GENERATION_EXPRESSION` longtext
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.COLUMNS;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO NULL
@@ -335,7 +335,7 @@ character_octet_length, character_set_name
FROM information_schema.columns
WHERE table_name = 't1_my_tablex';
table_name column_name character_maximum_length character_octet_length character_set_name
-t1_my_tablex first_col 10 30 utf8
+t1_my_tablex first_col 10 30 utf8mb3
SELECT table_name, column_name, column_comment
FROM information_schema.columns
WHERE table_name = 't1_my_tablex';
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 ba166e8b2b6..3664f6861af 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is.result
@@ -3,39 +3,39 @@ 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 IS_GENERATED GENERATION_EXPRESSION
-def information_schema ALL_PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema APPLICABLE_ROLES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select NEVER NULL
-def information_schema APPLICABLE_ROLES IS_DEFAULT 4 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema APPLICABLE_ROLES IS_GRANTABLE 3 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema APPLICABLE_ROLES ROLE_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select NEVER NULL
-def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema CHARACTER_SETS DESCRIPTION 3 NULL NO varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60) select NEVER NULL
+def information_schema ALL_PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema APPLICABLE_ROLES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) select NEVER NULL
+def information_schema APPLICABLE_ROLES IS_DEFAULT 4 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema APPLICABLE_ROLES IS_GRANTABLE 3 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema APPLICABLE_ROLES ROLE_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select NEVER NULL
+def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema CHARACTER_SETS DESCRIPTION 3 NULL NO varchar 60 180 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(60) select NEVER NULL
def information_schema CHARACTER_SETS MAXLEN 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(3) select NEVER NULL
-def information_schema CHECK_CONSTRAINTS CHECK_CLAUSE 6 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema CHECK_CONSTRAINTS LEVEL 5 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) select NEVER NULL
-def information_schema CHECK_CONSTRAINTS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema CHECK_CONSTRAINTS CHECK_CLAUSE 6 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema CHECK_CONSTRAINTS LEVEL 5 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) select NEVER NULL
+def information_schema CHECK_CONSTRAINTS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema CLIENT_STATISTICS ACCESS_DENIED 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema CLIENT_STATISTICS BINLOG_BYTES_WRITTEN 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema CLIENT_STATISTICS BUSY_TIME 5 NULL NO double NULL NULL 21 NULL NULL NULL NULL double select NEVER NULL
def information_schema CLIENT_STATISTICS BYTES_RECEIVED 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema CLIENT_STATISTICS BYTES_SENT 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
-def information_schema CLIENT_STATISTICS CLIENT 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema CLIENT_STATISTICS CLIENT 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema CLIENT_STATISTICS COMMIT_TRANSACTIONS 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema CLIENT_STATISTICS CONCURRENT_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema CLIENT_STATISTICS CONNECTED_TIME 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
@@ -55,74 +55,74 @@ def information_schema CLIENT_STATISTICS SELECT_COMMANDS 15 NULL NO bigint NULL
def information_schema CLIENT_STATISTICS TOTAL_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema CLIENT_STATISTICS TOTAL_SSL_CONNECTIONS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema CLIENT_STATISTICS UPDATE_COMMANDS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
-def information_schema COLLATIONS CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema COLLATIONS COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
+def information_schema COLLATIONS CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema COLLATIONS COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
def information_schema COLLATIONS ID 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(11) select NEVER NULL
-def information_schema COLLATIONS IS_COMPILED 5 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema COLLATIONS IS_DEFAULT 4 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
+def information_schema COLLATIONS IS_COMPILED 5 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema COLLATIONS IS_DEFAULT 4 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
def information_schema COLLATIONS SORTLEN 6 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(3) select NEVER NULL
-def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
+def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
def information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema COLUMNS CHARACTER_SET_NAME 14 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema COLUMNS COLLATION_NAME 15 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema COLUMNS COLUMN_COMMENT 20 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select NEVER NULL
-def information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema COLUMNS COLUMN_KEY 17 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema COLUMNS COLUMN_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema COLUMNS COLUMN_TYPE 16 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema COLUMNS DATA_TYPE 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMNS CHARACTER_SET_NAME 14 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema COLUMNS COLLATION_NAME 15 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema COLUMNS COLUMN_COMMENT 20 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select NEVER NULL
+def information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema COLUMNS COLUMN_KEY 17 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema COLUMNS COLUMN_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMNS COLUMN_TYPE 16 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema COLUMNS DATA_TYPE 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema COLUMNS DATETIME_PRECISION 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema COLUMNS EXTRA 18 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema COLUMNS GENERATION_EXPRESSION 22 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema COLUMNS IS_GENERATED 21 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) select NEVER NULL
-def information_schema COLUMNS IS_NULLABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
+def information_schema COLUMNS EXTRA 18 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema COLUMNS GENERATION_EXPRESSION 22 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema COLUMNS IS_GENERATED 21 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) select NEVER NULL
+def information_schema COLUMNS IS_NULLABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
def information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema COLUMNS ORDINAL_POSITION 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema COLUMNS PRIVILEGES 19 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema COLUMNS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema COLUMNS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema COLUMNS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ENABLED_ROLES ROLE_NAME 1 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select NEVER NULL
-def information_schema ENGINES COMMENT 3 NULL NO varchar 160 480 NULL NULL NULL utf8 utf8_general_ci varchar(160) select NEVER NULL
-def information_schema ENGINES ENGINE 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema ENGINES SUPPORT 2 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) select NEVER NULL
-def information_schema ENGINES TRANSACTIONS 4 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema ENGINES XA 5 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema EVENTS CHARACTER_SET_CLIENT 22 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema EVENTS COLLATION_CONNECTION 23 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
+def information_schema COLUMNS PRIVILEGES 19 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema COLUMNS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema COLUMNS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMNS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ENABLED_ROLES ROLE_NAME 1 NULL YES varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select NEVER NULL
+def information_schema ENGINES COMMENT 3 NULL NO varchar 160 480 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(160) select NEVER NULL
+def information_schema ENGINES ENGINE 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema ENGINES SUPPORT 2 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) select NEVER NULL
+def information_schema ENGINES TRANSACTIONS 4 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema ENGINES XA 5 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema EVENTS CHARACTER_SET_CLIENT 22 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema EVENTS COLLATION_CONNECTION 23 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
def information_schema EVENTS CREATED 17 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema EVENTS DATABASE_COLLATION 24 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema EVENTS DEFINER 4 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) select NEVER NULL
+def information_schema EVENTS DATABASE_COLLATION 24 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema EVENTS DEFINER 4 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) select NEVER NULL
def information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema EVENTS EVENT_BODY 6 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) select NEVER NULL
-def information_schema EVENTS EVENT_CATALOG 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema EVENTS EVENT_COMMENT 20 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema EVENTS EVENT_DEFINITION 7 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema EVENTS EVENT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema EVENTS EVENT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema EVENTS EVENT_TYPE 8 NULL NO varchar 9 27 NULL NULL NULL utf8 utf8_general_ci varchar(9) select NEVER NULL
+def information_schema EVENTS EVENT_BODY 6 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) select NEVER NULL
+def information_schema EVENTS EVENT_CATALOG 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema EVENTS EVENT_COMMENT 20 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema EVENTS EVENT_DEFINITION 7 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema EVENTS EVENT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema EVENTS EVENT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema EVENTS EVENT_TYPE 8 NULL NO varchar 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(9) select NEVER NULL
def information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select NEVER NULL
-def information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL NULL utf8 utf8_general_ci varchar(256) select NEVER NULL
+def information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(18) select NEVER NULL
+def information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) select NEVER NULL
def information_schema EVENTS LAST_ALTERED 18 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
def information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema EVENTS ON_COMPLETION 16 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select NEVER NULL
+def information_schema EVENTS ON_COMPLETION 16 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) select NEVER NULL
def information_schema EVENTS ORIGINATOR 21 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(10) select NEVER NULL
-def information_schema EVENTS SQL_MODE 12 NULL NO varchar 8192 24576 NULL NULL NULL utf8 utf8_general_ci varchar(8192) select NEVER NULL
+def information_schema EVENTS SQL_MODE 12 NULL NO varchar 8192 24576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8192) select NEVER NULL
def information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema EVENTS STATUS 15 NULL NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select NEVER NULL
-def information_schema EVENTS TIME_ZONE 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema EVENTS STATUS 15 NULL NO varchar 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(18) select NEVER NULL
+def information_schema EVENTS TIME_ZONE 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
@@ -132,61 +132,61 @@ def information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL N
def information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema FILES ENGINE 10 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema FILES ENGINE 10 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema FILES EXTENT_SIZE 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select NEVER NULL
+def information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(255) select NEVER NULL
def information_schema FILES FILE_ID 1 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema FILES FILE_NAME 2 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema FILES FILE_TYPE 3 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
+def information_schema FILES FILE_NAME 2 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema FILES FILE_TYPE 3 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
def information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
def information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
def information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select NEVER NULL
-def information_schema FILES STATUS 37 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema FILES TABLE_CATALOG 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) select NEVER NULL
+def information_schema FILES STATUS 37 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema FILES TABLE_CATALOG 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema GEOMETRY_COLUMNS COORD_DIMENSION 11 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema GEOMETRY_COLUMNS GEOMETRY_TYPE 10 NULL NO int NULL NULL 10 0 NULL NULL NULL int(7) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_TABLE_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_TABLE_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema GEOMETRY_COLUMNS MAX_PPR 12 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select NEVER NULL
def information_schema GEOMETRY_COLUMNS SRID 13 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) select NEVER NULL
def information_schema GEOMETRY_COLUMNS STORAGE_TYPE 9 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select NEVER NULL
-def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema INDEX_STATISTICS INDEX_NAME 3 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select NEVER NULL
+def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema INDEX_STATISTICS INDEX_NAME 3 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) select NEVER NULL
def information_schema INDEX_STATISTICS ROWS_READ 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
-def information_schema INDEX_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select NEVER NULL
-def information_schema INDEX_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select NEVER NULL
-def information_schema KEYWORDS WORD 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema INDEX_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) select NEVER NULL
+def information_schema INDEX_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) select NEVER NULL
+def information_schema KEYWORDS WORD 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema KEY_CACHES BLOCK_SIZE 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema KEY_CACHES DIRTY_BLOCKS 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema KEY_CACHES FULL_SIZE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema KEY_CACHES KEY_CACHE_NAME 1 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select NEVER NULL
+def information_schema KEY_CACHES KEY_CACHE_NAME 1 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) select NEVER NULL
def information_schema KEY_CACHES READS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema KEY_CACHES READ_REQUESTS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema KEY_CACHES SEGMENTS 2 NULL YES int NULL NULL 10 0 NULL NULL NULL int(3) unsigned select NEVER NULL
@@ -195,38 +195,38 @@ def information_schema KEY_CACHES UNUSED_BLOCKS 7 NULL NO bigint NULL NULL 20 0
def information_schema KEY_CACHES USED_BLOCKS 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema KEY_CACHES WRITES 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema KEY_CACHES WRITE_REQUESTS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(10) select NEVER NULL
def information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(10) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema OPTIMIZER_TRACE INSUFFICIENT_PRIVILEGES 4 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) select NEVER NULL
def information_schema OPTIMIZER_TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(20) select NEVER NULL
-def information_schema OPTIMIZER_TRACE QUERY 1 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema OPTIMIZER_TRACE TRACE 2 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
+def information_schema OPTIMIZER_TRACE QUERY 1 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema OPTIMIZER_TRACE TRACE 2 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
def information_schema PARAMETERS CHARACTER_MAXIMUM_LENGTH 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
def information_schema PARAMETERS CHARACTER_OCTET_LENGTH 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
-def information_schema PARAMETERS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PARAMETERS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PARAMETERS DATA_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PARAMETERS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PARAMETERS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PARAMETERS DATA_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PARAMETERS DATETIME_PRECISION 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema PARAMETERS DTD_IDENTIFIER 15 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
+def information_schema PARAMETERS DTD_IDENTIFIER 15 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
def information_schema PARAMETERS NUMERIC_PRECISION 10 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
def information_schema PARAMETERS NUMERIC_SCALE 11 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
def information_schema PARAMETERS ORDINAL_POSITION 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
-def information_schema PARAMETERS PARAMETER_MODE 5 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select NEVER NULL
-def information_schema PARAMETERS PARAMETER_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PARAMETERS ROUTINE_TYPE 16 NULL NO varchar 9 27 NULL NULL NULL utf8 utf8_general_ci varchar(9) select NEVER NULL
-def information_schema PARAMETERS SPECIFIC_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema PARAMETERS SPECIFIC_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PARAMETERS PARAMETER_MODE 5 NULL YES varchar 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(5) select NEVER NULL
+def information_schema PARAMETERS PARAMETER_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PARAMETERS ROUTINE_TYPE 16 NULL NO varchar 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(9) select NEVER NULL
+def information_schema PARAMETERS SPECIFIC_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema PARAMETERS SPECIFIC_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PARTITIONS AVG_ROW_LENGTH 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
@@ -235,42 +235,42 @@ def information_schema PARTITIONS DATA_FREE 18 NULL NO bigint NULL NULL 20 0 NUL
def information_schema PARTITIONS DATA_LENGTH 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema PARTITIONS INDEX_LENGTH 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema PARTITIONS NODEGROUP 24 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select NEVER NULL
-def information_schema PARTITIONS PARTITION_COMMENT 23 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select NEVER NULL
-def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PARTITIONS NODEGROUP 24 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) select NEVER NULL
+def information_schema PARTITIONS PARTITION_COMMENT 23 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(18) select NEVER NULL
+def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select NEVER NULL
-def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) select NEVER NULL
+def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PARTITIONS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema PARTITIONS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PARTITIONS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema PARTITIONS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PARTITIONS TABLE_ROWS 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema PARTITIONS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PARTITIONS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) select NEVER NULL
-def information_schema PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select NEVER NULL
-def information_schema PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) select NEVER NULL
-def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) select NEVER NULL
-def information_schema PROCESSLIST COMMAND 5 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select NEVER NULL
-def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) select NEVER NULL
+def information_schema PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select NEVER NULL
+def information_schema PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) select NEVER NULL
+def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) select NEVER NULL
+def information_schema PROCESSLIST COMMAND 5 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select NEVER NULL
+def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PROCESSLIST EXAMINED_ROWS 15 NULL NO int NULL NULL 10 0 NULL NULL NULL int(7) select NEVER NULL
-def information_schema PROCESSLIST HOST 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PROCESSLIST HOST 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PROCESSLIST ID 1 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
+def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
def information_schema PROCESSLIST INFO_BINARY 17 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob select NEVER NULL
def information_schema PROCESSLIST MAX_MEMORY_USED 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(7) select NEVER NULL
def information_schema PROCESSLIST MAX_STAGE 11 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select NEVER NULL
@@ -278,179 +278,180 @@ def information_schema PROCESSLIST MEMORY_USED 13 NULL NO bigint NULL NULL 19 0
def information_schema PROCESSLIST PROGRESS 12 NULL NO decimal NULL NULL 7 3 NULL NULL NULL decimal(7,3) select NEVER NULL
def information_schema PROCESSLIST QUERY_ID 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
def information_schema PROCESSLIST STAGE 10 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) select NEVER NULL
-def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema PROCESSLIST TID 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
def information_schema PROCESSLIST TIME 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(7) select NEVER NULL
def information_schema PROCESSLIST TIME_MS 9 NULL NO decimal NULL NULL 22 3 NULL NULL NULL decimal(22,3) select NEVER NULL
-def information_schema PROCESSLIST USER 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema PROCESSLIST USER 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema ROUTINES CHARACTER_MAXIMUM_LENGTH 7 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
def information_schema ROUTINES CHARACTER_OCTET_LENGTH 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
-def information_schema ROUTINES CHARACTER_SET_CLIENT 29 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema ROUTINES CHARACTER_SET_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES COLLATION_CONNECTION 30 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema ROUTINES COLLATION_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES CHARACTER_SET_CLIENT 29 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema ROUTINES CHARACTER_SET_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES COLLATION_CONNECTION 30 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema ROUTINES COLLATION_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema ROUTINES CREATED 24 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema ROUTINES DATABASE_COLLATION 31 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema ROUTINES DATA_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES DATABASE_COLLATION 31 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema ROUTINES DATA_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema ROUTINES DATETIME_PRECISION 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema ROUTINES DEFINER 28 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) select NEVER NULL
-def information_schema ROUTINES DTD_IDENTIFIER 14 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema ROUTINES EXTERNAL_LANGUAGE 18 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES EXTERNAL_NAME 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES IS_DETERMINISTIC 20 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
+def information_schema ROUTINES DEFINER 28 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) select NEVER NULL
+def information_schema ROUTINES DTD_IDENTIFIER 14 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema ROUTINES EXTERNAL_LANGUAGE 18 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES EXTERNAL_NAME 17 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES IS_DETERMINISTIC 20 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
def information_schema ROUTINES LAST_ALTERED 25 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
def information_schema ROUTINES NUMERIC_PRECISION 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
def information_schema ROUTINES NUMERIC_SCALE 10 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) select NEVER NULL
-def information_schema ROUTINES PARAMETER_STYLE 19 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) select NEVER NULL
-def information_schema ROUTINES ROUTINE_BODY 15 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) select NEVER NULL
-def information_schema ROUTINES ROUTINE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema ROUTINES ROUTINE_COMMENT 27 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema ROUTINES ROUTINE_DEFINITION 16 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema ROUTINES ROUTINE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES ROUTINE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES ROUTINE_TYPE 5 NULL NO varchar 13 39 NULL NULL NULL utf8 utf8_general_ci varchar(13) select NEVER NULL
-def information_schema ROUTINES SECURITY_TYPE 23 NULL NO varchar 7 21 NULL NULL NULL utf8 utf8_general_ci varchar(7) select NEVER NULL
-def information_schema ROUTINES SPECIFIC_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES SQL_DATA_ACCESS 21 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema ROUTINES SQL_MODE 26 NULL NO varchar 8192 24576 NULL NULL NULL utf8 utf8_general_ci varchar(8192) select NEVER NULL
-def information_schema ROUTINES SQL_PATH 22 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SCHEMATA CATALOG_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema SCHEMATA SCHEMA_COMMENT 6 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select NEVER NULL
-def information_schema SCHEMATA SCHEMA_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select NEVER NULL
-def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SESSION_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SPATIAL_REF_SYS AUTH_NAME 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
+def information_schema ROUTINES PARAMETER_STYLE 19 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) select NEVER NULL
+def information_schema ROUTINES ROUTINE_BODY 15 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) select NEVER NULL
+def information_schema ROUTINES ROUTINE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema ROUTINES ROUTINE_COMMENT 27 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema ROUTINES ROUTINE_DEFINITION 16 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema ROUTINES ROUTINE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES ROUTINE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES ROUTINE_TYPE 5 NULL NO varchar 13 39 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(13) select NEVER NULL
+def information_schema ROUTINES SECURITY_TYPE 23 NULL NO varchar 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(7) select NEVER NULL
+def information_schema ROUTINES SPECIFIC_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES SQL_DATA_ACCESS 21 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema ROUTINES SQL_MODE 26 NULL NO varchar 8192 24576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8192) select NEVER NULL
+def information_schema ROUTINES SQL_PATH 22 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SCHEMATA CATALOG_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema SCHEMATA SCHEMA_COMMENT 6 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select NEVER NULL
+def information_schema SCHEMATA SCHEMA_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) select NEVER NULL
+def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SESSION_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SPATIAL_REF_SYS AUTH_NAME 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
def information_schema SPATIAL_REF_SYS AUTH_SRID 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(5) select NEVER NULL
def information_schema SPATIAL_REF_SYS SRID 1 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) select NEVER NULL
-def information_schema SPATIAL_REF_SYS SRTEXT 4 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SQL_FUNCTIONS FUNCTION 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema SPATIAL_REF_SYS SRTEXT 4 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SQL_FUNCTIONS FUNCTION 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
-def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) select NEVER NULL
-def information_schema STATISTICS COLUMN_NAME 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select NEVER NULL
-def information_schema STATISTICS INDEX_COMMENT 16 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select NEVER NULL
-def information_schema STATISTICS INDEX_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema STATISTICS INDEX_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema STATISTICS INDEX_TYPE 14 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select NEVER NULL
+def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1) select NEVER NULL
+def information_schema STATISTICS COLUMN_NAME 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select NEVER NULL
+def information_schema STATISTICS IGNORED 17 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema STATISTICS INDEX_COMMENT 16 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select NEVER NULL
+def information_schema STATISTICS INDEX_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema STATISTICS INDEX_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema STATISTICS INDEX_TYPE 14 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select NEVER NULL
def information_schema STATISTICS NON_UNIQUE 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(1) select NEVER NULL
-def information_schema STATISTICS NULLABLE 13 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select NEVER NULL
+def information_schema STATISTICS NULLABLE 13 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) select NEVER NULL
def information_schema STATISTICS SEQ_IN_INDEX 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(2) select NEVER NULL
def information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(3) select NEVER NULL
-def information_schema STATISTICS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema STATISTICS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema STATISTICS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SYSTEM_VARIABLES DEFAULT_VALUE 5 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema SYSTEM_VARIABLES GLOBAL_VALUE 3 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_PATH 15 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE 11 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) select NEVER NULL
-def information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE 10 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) select NEVER NULL
-def information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE 9 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) select NEVER NULL
-def information_schema SYSTEM_VARIABLES READ_ONLY 13 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema SYSTEM_VARIABLES SESSION_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_COMMENT 8 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_SCOPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema STATISTICS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema STATISTICS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema STATISTICS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SYSTEM_VARIABLES DEFAULT_VALUE 5 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE 3 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_PATH 15 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE 11 NULL YES varchar 21 63 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(21) select NEVER NULL
+def information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE 10 NULL YES varchar 21 63 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(21) select NEVER NULL
+def information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE 9 NULL YES varchar 21 63 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(21) select NEVER NULL
+def information_schema SYSTEM_VARIABLES READ_ONLY 13 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema SYSTEM_VARIABLES SESSION_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_COMMENT 8 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_SCOPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
-def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
+def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLES MAX_INDEX_LENGTH 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select NEVER NULL
-def information_schema TABLES TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema TABLES TABLE_COMMENT 21 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema TABLES TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) select NEVER NULL
+def information_schema TABLES TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema TABLES TABLE_COMMENT 21 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema TABLES TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema TABLES TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLES TABLE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLES TEMPORARY 23 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) select NEVER NULL
+def information_schema TABLES TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLES TABLE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLES TEMPORARY 23 NULL YES varchar 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1) select NEVER NULL
def information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select NEVER NULL
def information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLESPACES AUTOEXTEND_SIZE 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema TABLESPACES ENGINE 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema TABLESPACES ENGINE 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema TABLESPACES EXTENT_SIZE 5 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema TABLESPACES MAXIMUM_SIZE 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema TABLESPACES NODEGROUP_ID 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
-def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select NEVER NULL
-def information_schema TABLESPACES TABLESPACE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select NEVER NULL
-def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema TABLE_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
+def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select NEVER NULL
+def information_schema TABLESPACES TABLESPACE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) select NEVER NULL
+def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema TABLE_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
def information_schema TABLE_STATISTICS ROWS_CHANGED 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema TABLE_STATISTICS ROWS_CHANGED_X_INDEXES 5 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema TABLE_STATISTICS ROWS_READ 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
-def information_schema TABLE_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select NEVER NULL
-def information_schema TABLE_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select NEVER NULL
-def information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
+def information_schema TABLE_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) select NEVER NULL
+def information_schema TABLE_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) select NEVER NULL
+def information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
def information_schema TRIGGERS ACTION_ORDER 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) select NEVER NULL
-def information_schema TRIGGERS ACTION_ORIENTATION 11 NULL NO varchar 9 27 NULL NULL NULL utf8 utf8_general_ci varchar(9) select NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
-def information_schema TRIGGERS ACTION_TIMING 12 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) select NEVER NULL
-def information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema TRIGGERS COLLATION_CONNECTION 21 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
+def information_schema TRIGGERS ACTION_ORIENTATION 11 NULL NO varchar 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(9) select NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
+def information_schema TRIGGERS ACTION_TIMING 12 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) select NEVER NULL
+def information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema TRIGGERS COLLATION_CONNECTION 21 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
def information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL 2 NULL NULL datetime(2) select NEVER NULL
-def information_schema TRIGGERS DATABASE_COLLATION 22 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema TRIGGERS DEFINER 19 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) select NEVER NULL
-def information_schema TRIGGERS EVENT_MANIPULATION 4 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) select NEVER NULL
-def information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TRIGGERS SQL_MODE 18 NULL NO varchar 8192 24576 NULL NULL NULL utf8 utf8_general_ci varchar(8192) select NEVER NULL
-def information_schema TRIGGERS TRIGGER_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema TRIGGERS TRIGGER_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema TRIGGERS TRIGGER_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema USER_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) select NEVER NULL
-def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
+def information_schema TRIGGERS DATABASE_COLLATION 22 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema TRIGGERS DEFINER 19 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) select NEVER NULL
+def information_schema TRIGGERS EVENT_MANIPULATION 4 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) select NEVER NULL
+def information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TRIGGERS SQL_MODE 18 NULL NO varchar 8192 24576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8192) select NEVER NULL
+def information_schema TRIGGERS TRIGGER_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema TRIGGERS TRIGGER_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema TRIGGERS TRIGGER_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema USER_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) select NEVER NULL
+def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
def information_schema USER_STATISTICS ACCESS_DENIED 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema USER_STATISTICS BINLOG_BYTES_WRITTEN 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
def information_schema USER_STATISTICS BUSY_TIME 5 NULL NO double NULL NULL 21 NULL NULL NULL NULL double select NEVER NULL
@@ -475,18 +476,18 @@ def information_schema USER_STATISTICS SELECT_COMMANDS 15 NULL NO bigint NULL NU
def information_schema USER_STATISTICS TOTAL_CONNECTIONS 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select NEVER NULL
def information_schema USER_STATISTICS TOTAL_SSL_CONNECTIONS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select NEVER NULL
def information_schema USER_STATISTICS UPDATE_COMMANDS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select NEVER NULL
-def information_schema USER_STATISTICS USER 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select NEVER NULL
-def information_schema VIEWS ALGORITHM 11 NULL NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select NEVER NULL
-def information_schema VIEWS CHARACTER_SET_CLIENT 9 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema VIEWS CHECK_OPTION 5 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) select NEVER NULL
-def information_schema VIEWS COLLATION_CONNECTION 10 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select NEVER NULL
-def information_schema VIEWS DEFINER 7 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) select NEVER NULL
-def information_schema VIEWS IS_UPDATABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) select NEVER NULL
-def information_schema VIEWS SECURITY_TYPE 8 NULL NO varchar 7 21 NULL NULL NULL utf8 utf8_general_ci varchar(7) select NEVER NULL
-def information_schema VIEWS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select NEVER NULL
-def information_schema VIEWS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema VIEWS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select NEVER NULL
-def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select NEVER NULL
+def information_schema USER_STATISTICS USER 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select NEVER NULL
+def information_schema VIEWS ALGORITHM 11 NULL NO varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) select NEVER NULL
+def information_schema VIEWS CHARACTER_SET_CLIENT 9 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema VIEWS CHECK_OPTION 5 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) select NEVER NULL
+def information_schema VIEWS COLLATION_CONNECTION 10 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select NEVER NULL
+def information_schema VIEWS DEFINER 7 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) select NEVER NULL
+def information_schema VIEWS IS_UPDATABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) select NEVER NULL
+def information_schema VIEWS SECURITY_TYPE 8 NULL NO varchar 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(7) select NEVER NULL
+def information_schema VIEWS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select NEVER NULL
+def information_schema VIEWS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema VIEWS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select NEVER NULL
+def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select NEVER NULL
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
@@ -502,7 +503,7 @@ 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
+1.0000 longtext utf8mb3 utf8mb3_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -514,7 +515,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
-3.0000 varchar utf8 utf8_general_ci
+3.0000 varchar utf8mb3 utf8mb3_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -550,34 +551,34 @@ 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)
+3.0000 information_schema ALL_PLUGINS PLUGIN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_STATUS varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema ALL_PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ALL_PLUGINS PLUGIN_LICENSE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS LOAD_OPTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_MATURITY varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema APPLICABLE_ROLES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema APPLICABLE_ROLES ROLE_NAME varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 information_schema APPLICABLE_ROLES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema APPLICABLE_ROLES IS_DEFAULT varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8mb3 utf8mb3_general_ci varchar(60)
NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHECK_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHECK_CONSTRAINTS LEVEL varchar 6 18 utf8 utf8_general_ci varchar(6)
-1.0000 information_schema CHECK_CONSTRAINTS CHECK_CLAUSE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema CLIENT_STATISTICS CLIENT varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS LEVEL varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+1.0000 information_schema CHECK_CONSTRAINTS CHECK_CLAUSE longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema CLIENT_STATISTICS CLIENT varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema CLIENT_STATISTICS TOTAL_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS CONCURRENT_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS CONNECTED_TIME bigint NULL NULL NULL NULL bigint(21)
@@ -602,85 +603,85 @@ NULL information_schema CLIENT_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NU
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)
+3.0000 information_schema COLLATIONS COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
-3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS DATETIME_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema COLUMNS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS EXTRA varchar 80 240 utf8 utf8_general_ci varchar(80)
-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 COLUMNS IS_GENERATED varchar 6 18 utf8 utf8_general_ci varchar(6)
-1.0000 information_schema COLUMNS GENERATION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-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)
-3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
+3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLUMNS COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema COLUMNS EXTRA varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 1024 3072 utf8mb3 utf8mb3_general_ci varchar(1024)
+3.0000 information_schema COLUMNS IS_GENERATED varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+1.0000 information_schema COLUMNS GENERATION_EXPRESSION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ENABLED_ROLES ROLE_NAME varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+3.0000 information_schema ENGINES COMMENT varchar 160 480 utf8mb3 utf8mb3_general_ci varchar(160)
+3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ENGINES XA varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8mb3 utf8mb3_general_ci varchar(9)
NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
-3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192)
+3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8mb3 utf8mb3_general_ci varchar(256)
+3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8mb3 utf8mb3_general_ci varchar(18)
+3.0000 information_schema EVENTS SQL_MODE varchar 8192 24576 utf8mb3 utf8mb3_general_ci varchar(8192)
NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
+3.0000 information_schema EVENTS STATUS varchar 18 54 utf8mb3 utf8mb3_general_ci varchar(18)
+3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema EVENTS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema EVENTS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema EVENTS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema EVENTS CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema EVENTS COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema EVENTS DATABASE_COLLATION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES FILE_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES FILE_NAME varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
@@ -695,7 +696,7 @@ NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL date
NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -706,31 +707,31 @@ NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
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)
+3.0000 information_schema FILES STATUS varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema FILES EXTRA varchar 255 765 utf8mb3 utf8mb3_general_ci varchar(255)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN varchar 64 192 utf8mb3 utf8mb3_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 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 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)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema INDEX_STATISTICS TABLE_SCHEMA varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
+3.0000 information_schema INDEX_STATISTICS TABLE_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
+3.0000 information_schema INDEX_STATISTICS INDEX_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
NULL information_schema INDEX_STATISTICS ROWS_READ bigint NULL NULL NULL NULL bigint(21)
-3.0000 information_schema KEYWORDS WORD varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_CACHES KEY_CACHE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
+3.0000 information_schema KEYWORDS WORD varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_CACHES KEY_CACHE_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
NULL information_schema KEY_CACHES SEGMENTS int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES SEGMENT_NUMBER int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES FULL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -742,50 +743,50 @@ NULL information_schema KEY_CACHES READ_REQUESTS bigint NULL NULL NULL NULL bigi
NULL information_schema KEY_CACHES READS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema KEY_CACHES WRITE_REQUESTS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema KEY_CACHES WRITES bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema OPTIMIZER_TRACE QUERY longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema OPTIMIZER_TRACE TRACE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema OPTIMIZER_TRACE QUERY longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema OPTIMIZER_TRACE TRACE longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
NULL information_schema OPTIMIZER_TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE int NULL NULL NULL NULL int(20)
NULL information_schema OPTIMIZER_TRACE INSUFFICIENT_PRIVILEGES tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 information_schema PARAMETERS SPECIFIC_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema PARAMETERS SPECIFIC_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARAMETERS SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARAMETERS SPECIFIC_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema PARAMETERS SPECIFIC_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARAMETERS SPECIFIC_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema PARAMETERS ORDINAL_POSITION int NULL NULL NULL NULL int(21)
-3.0000 information_schema PARAMETERS PARAMETER_MODE varchar 5 15 utf8 utf8_general_ci varchar(5)
-3.0000 information_schema PARAMETERS PARAMETER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARAMETERS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARAMETERS PARAMETER_MODE varchar 5 15 utf8mb3 utf8mb3_general_ci varchar(5)
+3.0000 information_schema PARAMETERS PARAMETER_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARAMETERS DATA_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema PARAMETERS CHARACTER_MAXIMUM_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS CHARACTER_OCTET_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS NUMERIC_PRECISION int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS NUMERIC_SCALE int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS DATETIME_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARAMETERS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARAMETERS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PARAMETERS DTD_IDENTIFIER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema PARAMETERS ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARAMETERS CHARACTER_SET_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARAMETERS COLLATION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema PARAMETERS DTD_IDENTIFIER longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema PARAMETERS ROUTINE_TYPE varchar 9 27 utf8mb3 utf8mb3_general_ci varchar(9)
+3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 18 54 utf8mb3 utf8mb3_general_ci varchar(18)
+3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -796,30 +797,30 @@ NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL date
NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
-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 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)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema PLUGINS PLUGIN_LICENSE varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PLUGINS LOAD_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_MATURITY varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema PLUGINS PLUGIN_LICENSE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema PLUGINS LOAD_OPTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_MATURITY varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+3.0000 information_schema PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
NULL information_schema PROCESSLIST ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema PROCESSLIST USER varchar 128 384 utf8 utf8_general_ci varchar(128)
-3.0000 information_schema PROCESSLIST HOST varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
+3.0000 information_schema PROCESSLIST USER varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 information_schema PROCESSLIST HOST varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
NULL information_schema PROCESSLIST TIME int NULL NULL NULL NULL int(7)
-3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
NULL information_schema PROCESSLIST TIME_MS decimal NULL NULL NULL NULL decimal(22,3)
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)
@@ -830,106 +831,107 @@ 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)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 13 39 utf8 utf8_general_ci varchar(13)
-3.0000 information_schema ROUTINES DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 13 39 utf8mb3 utf8mb3_general_ci varchar(13)
+3.0000 information_schema ROUTINES DATA_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema ROUTINES CHARACTER_MAXIMUM_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES CHARACTER_OCTET_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES NUMERIC_PRECISION int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES NUMERIC_SCALE int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES DATETIME_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema ROUTINES CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema ROUTINES DTD_IDENTIFIER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
+3.0000 information_schema ROUTINES CHARACTER_SET_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES COLLATION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema ROUTINES DTD_IDENTIFIER longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8mb3 utf8mb3_general_ci varchar(7)
NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema ROUTINES SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192)
-1.0000 information_schema ROUTINES ROUTINE_COMMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema ROUTINES COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 SCHEMATA SCHEMA_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
-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 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 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema ROUTINES SQL_MODE varchar 8192 24576 utf8mb3 utf8mb3_general_ci varchar(8192)
+1.0000 information_schema ROUTINES ROUTINE_COMMENT longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ROUTINES DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema ROUTINES COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema SCHEMATA SCHEMA_COMMENT varchar 1024 3072 utf8mb3 utf8mb3_general_ci varchar(1024)
+3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_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)
+3.0000 information_schema SPATIAL_REF_SYS AUTH_NAME varchar 512 1536 utf8mb3 utf8mb3_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 SQL_FUNCTIONS FUNCTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-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)
+3.0000 information_schema SPATIAL_REF_SYS SRTEXT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SQL_FUNCTIONS FUNCTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
-3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
-3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
+3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8mb3 utf8mb3_general_ci varchar(1)
NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
-3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(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 SYSTEM_VARIABLES GLOBAL_VALUE_PATH varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
-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)
-3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
+3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8mb3 utf8mb3_general_ci varchar(1024)
+3.0000 information_schema STATISTICS IGNORED varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES SESSION_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES DEFAULT_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_SCOPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_COMMENT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE varchar 21 63 utf8mb3 utf8mb3_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE varchar 21 63 utf8mb3 utf8mb3_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE varchar 21 63 utf8mb3 utf8mb3_general_ci varchar(21)
+1.0000 information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema SYSTEM_VARIABLES READ_ONLY varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE_PATH varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema TABLES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -940,65 +942,65 @@ NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(
NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
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)
+3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8mb3 utf8mb3_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 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 TABLES CREATE_OPTIONS varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema TABLES TABLE_COMMENT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
NULL information_schema TABLES MAX_INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES TEMPORARY varchar 1 3 utf8 utf8_general_ci varchar(1)
-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)
-3.0000 information_schema TABLESPACES TABLESPACE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLESPACES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLES TEMPORARY varchar 1 3 utf8mb3 utf8mb3_general_ci varchar(1)
+3.0000 information_schema TABLESPACES TABLESPACE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLESPACES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLESPACES TABLESPACE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLESPACES LOGFILE_GROUP_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema TABLESPACES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLESPACES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLESPACES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLESPACES NODEGROUP_ID bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLESPACES TABLESPACE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 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)
-3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TABLE_STATISTICS TABLE_SCHEMA varchar 192 576 utf8 utf8_general_ci varchar(192)
-3.0000 information_schema TABLE_STATISTICS TABLE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
+3.0000 information_schema TABLESPACES TABLESPACE_COMMENT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema TABLE_STATISTICS TABLE_SCHEMA varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
+3.0000 information_schema TABLE_STATISTICS TABLE_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
NULL information_schema TABLE_STATISTICS ROWS_READ bigint NULL NULL NULL NULL bigint(21)
NULL information_schema TABLE_STATISTICS ROWS_CHANGED bigint NULL NULL NULL NULL bigint(21)
NULL information_schema TABLE_STATISTICS ROWS_CHANGED_X_INDEXES bigint NULL NULL NULL NULL bigint(21)
-3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
-1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
+1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8mb3 utf8mb3_general_ci varchar(9)
+3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime(2)
-3.0000 information_schema TRIGGERS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192)
-3.0000 information_schema TRIGGERS DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-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 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)
-3.0000 information_schema USER_STATISTICS USER varchar 128 384 utf8 utf8_general_ci varchar(128)
+3.0000 information_schema TRIGGERS SQL_MODE varchar 8192 24576 utf8mb3 utf8mb3_general_ci varchar(8192)
+3.0000 information_schema TRIGGERS DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema USER_STATISTICS USER varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
NULL information_schema USER_STATISTICS TOTAL_CONNECTIONS int NULL NULL NULL NULL int(11)
NULL information_schema USER_STATISTICS CONCURRENT_CONNECTIONS int NULL NULL NULL NULL int(11)
NULL information_schema USER_STATISTICS CONNECTED_TIME int NULL NULL NULL NULL int(11)
@@ -1023,14 +1025,14 @@ NULL information_schema USER_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NULL
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)
-1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-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 VIEWS ALGORITHM varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema VIEWS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema VIEWS DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8mb3 utf8mb3_general_ci varchar(7)
+3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema VIEWS ALGORITHM varchar 10 30 utf8mb3 utf8mb3_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 16ccc0ddbc7..622f839901f 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,39 +3,39 @@ 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 IS_GENERATED GENERATION_EXPRESSION
-def information_schema ALL_PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema ALL_PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema APPLICABLE_ROLES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) NEVER NULL
-def information_schema APPLICABLE_ROLES IS_DEFAULT 4 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema APPLICABLE_ROLES IS_GRANTABLE 3 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema APPLICABLE_ROLES ROLE_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) NEVER NULL
-def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema CHARACTER_SETS DESCRIPTION 3 NULL NO varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60) NEVER NULL
+def information_schema ALL_PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema ALL_PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema APPLICABLE_ROLES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) NEVER NULL
+def information_schema APPLICABLE_ROLES IS_DEFAULT 4 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema APPLICABLE_ROLES IS_GRANTABLE 3 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema APPLICABLE_ROLES ROLE_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) NEVER NULL
+def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema CHARACTER_SETS DESCRIPTION 3 NULL NO varchar 60 180 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(60) NEVER NULL
def information_schema CHARACTER_SETS MAXLEN 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(3) NEVER NULL
-def information_schema CHECK_CONSTRAINTS CHECK_CLAUSE 6 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema CHECK_CONSTRAINTS LEVEL 5 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) NEVER NULL
-def information_schema CHECK_CONSTRAINTS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema CHECK_CONSTRAINTS CHECK_CLAUSE 6 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema CHECK_CONSTRAINTS LEVEL 5 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) NEVER NULL
+def information_schema CHECK_CONSTRAINTS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema CLIENT_STATISTICS ACCESS_DENIED 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema CLIENT_STATISTICS BINLOG_BYTES_WRITTEN 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema CLIENT_STATISTICS BUSY_TIME 5 NULL NO double NULL NULL 21 NULL NULL NULL NULL double NEVER NULL
def information_schema CLIENT_STATISTICS BYTES_RECEIVED 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema CLIENT_STATISTICS BYTES_SENT 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
-def information_schema CLIENT_STATISTICS CLIENT 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema CLIENT_STATISTICS CLIENT 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema CLIENT_STATISTICS COMMIT_TRANSACTIONS 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema CLIENT_STATISTICS CONCURRENT_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema CLIENT_STATISTICS CONNECTED_TIME 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
@@ -55,74 +55,74 @@ def information_schema CLIENT_STATISTICS SELECT_COMMANDS 15 NULL NO bigint NULL
def information_schema CLIENT_STATISTICS TOTAL_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema CLIENT_STATISTICS TOTAL_SSL_CONNECTIONS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema CLIENT_STATISTICS UPDATE_COMMANDS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
-def information_schema COLLATIONS CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema COLLATIONS COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
+def information_schema COLLATIONS CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema COLLATIONS COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
def information_schema COLLATIONS ID 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(11) NEVER NULL
-def information_schema COLLATIONS IS_COMPILED 5 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema COLLATIONS IS_DEFAULT 4 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
+def information_schema COLLATIONS IS_COMPILED 5 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema COLLATIONS IS_DEFAULT 4 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
def information_schema COLLATIONS SORTLEN 6 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(3) NEVER NULL
-def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
+def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
def information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema COLUMNS CHARACTER_SET_NAME 14 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema COLUMNS COLLATION_NAME 15 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema COLUMNS COLUMN_COMMENT 20 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) NEVER NULL
-def information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema COLUMNS COLUMN_KEY 17 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema COLUMNS COLUMN_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema COLUMNS COLUMN_TYPE 16 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema COLUMNS DATA_TYPE 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema COLUMNS CHARACTER_SET_NAME 14 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema COLUMNS COLLATION_NAME 15 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema COLUMNS COLUMN_COMMENT 20 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) NEVER NULL
+def information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema COLUMNS COLUMN_KEY 17 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema COLUMNS COLUMN_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema COLUMNS COLUMN_TYPE 16 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema COLUMNS DATA_TYPE 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema COLUMNS DATETIME_PRECISION 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema COLUMNS EXTRA 18 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema COLUMNS GENERATION_EXPRESSION 22 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema COLUMNS IS_GENERATED 21 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) NEVER NULL
-def information_schema COLUMNS IS_NULLABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
+def information_schema COLUMNS EXTRA 18 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema COLUMNS GENERATION_EXPRESSION 22 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema COLUMNS IS_GENERATED 21 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) NEVER NULL
+def information_schema COLUMNS IS_NULLABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
def information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema COLUMNS ORDINAL_POSITION 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema COLUMNS PRIVILEGES 19 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema COLUMNS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema COLUMNS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema COLUMNS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema COLUMN_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) NEVER NULL
-def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ENABLED_ROLES ROLE_NAME 1 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) NEVER NULL
-def information_schema ENGINES COMMENT 3 NULL NO varchar 160 480 NULL NULL NULL utf8 utf8_general_ci varchar(160) NEVER NULL
-def information_schema ENGINES ENGINE 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema ENGINES SUPPORT 2 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) NEVER NULL
-def information_schema ENGINES TRANSACTIONS 4 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema ENGINES XA 5 NULL YES varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema EVENTS CHARACTER_SET_CLIENT 22 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema EVENTS COLLATION_CONNECTION 23 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
+def information_schema COLUMNS PRIVILEGES 19 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema COLUMNS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema COLUMNS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema COLUMNS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema COLUMN_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) NEVER NULL
+def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ENABLED_ROLES ROLE_NAME 1 NULL YES varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) NEVER NULL
+def information_schema ENGINES COMMENT 3 NULL NO varchar 160 480 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(160) NEVER NULL
+def information_schema ENGINES ENGINE 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema ENGINES SUPPORT 2 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) NEVER NULL
+def information_schema ENGINES TRANSACTIONS 4 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema ENGINES XA 5 NULL YES varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema EVENTS CHARACTER_SET_CLIENT 22 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema EVENTS COLLATION_CONNECTION 23 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
def information_schema EVENTS CREATED 17 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema EVENTS DATABASE_COLLATION 24 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema EVENTS DEFINER 4 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) NEVER NULL
+def information_schema EVENTS DATABASE_COLLATION 24 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema EVENTS DEFINER 4 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) NEVER NULL
def information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema EVENTS EVENT_BODY 6 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) NEVER NULL
-def information_schema EVENTS EVENT_CATALOG 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema EVENTS EVENT_COMMENT 20 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema EVENTS EVENT_DEFINITION 7 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema EVENTS EVENT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema EVENTS EVENT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema EVENTS EVENT_TYPE 8 NULL NO varchar 9 27 NULL NULL NULL utf8 utf8_general_ci varchar(9) NEVER NULL
+def information_schema EVENTS EVENT_BODY 6 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) NEVER NULL
+def information_schema EVENTS EVENT_CATALOG 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema EVENTS EVENT_COMMENT 20 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema EVENTS EVENT_DEFINITION 7 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema EVENTS EVENT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema EVENTS EVENT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema EVENTS EVENT_TYPE 8 NULL NO varchar 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(9) NEVER NULL
def information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) NEVER NULL
-def information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL NULL utf8 utf8_general_ci varchar(256) NEVER NULL
+def information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(18) NEVER NULL
+def information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) NEVER NULL
def information_schema EVENTS LAST_ALTERED 18 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema EVENTS ON_COMPLETION 16 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) NEVER NULL
+def information_schema EVENTS ON_COMPLETION 16 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) NEVER NULL
def information_schema EVENTS ORIGINATOR 21 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(10) NEVER NULL
-def information_schema EVENTS SQL_MODE 12 NULL NO varchar 8192 24576 NULL NULL NULL utf8 utf8_general_ci varchar(8192) NEVER NULL
+def information_schema EVENTS SQL_MODE 12 NULL NO varchar 8192 24576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8192) NEVER NULL
def information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema EVENTS STATUS 15 NULL NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) NEVER NULL
-def information_schema EVENTS TIME_ZONE 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema EVENTS STATUS 15 NULL NO varchar 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(18) NEVER NULL
+def information_schema EVENTS TIME_ZONE 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
@@ -132,61 +132,61 @@ def information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL N
def information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema FILES ENGINE 10 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema FILES ENGINE 10 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema FILES EXTENT_SIZE 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) NEVER NULL
+def information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(255) NEVER NULL
def information_schema FILES FILE_ID 1 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema FILES FILE_NAME 2 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema FILES FILE_TYPE 3 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
+def information_schema FILES FILE_NAME 2 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema FILES FILE_TYPE 3 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
def information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
def information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) NEVER NULL
-def information_schema FILES STATUS 37 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema FILES TABLE_CATALOG 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) NEVER NULL
+def information_schema FILES STATUS 37 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema FILES TABLE_CATALOG 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema GEOMETRY_COLUMNS COORD_DIMENSION 11 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema GEOMETRY_COLUMNS GEOMETRY_TYPE 10 NULL NO int NULL NULL 10 0 NULL NULL NULL int(7) NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_TABLE_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_TABLE_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema GEOMETRY_COLUMNS MAX_PPR 12 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) NEVER NULL
def information_schema GEOMETRY_COLUMNS SRID 13 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) NEVER NULL
def information_schema GEOMETRY_COLUMNS STORAGE_TYPE 9 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) NEVER NULL
-def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema INDEX_STATISTICS INDEX_NAME 3 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) NEVER NULL
+def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema INDEX_STATISTICS INDEX_NAME 3 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) NEVER NULL
def information_schema INDEX_STATISTICS ROWS_READ 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
-def information_schema INDEX_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) NEVER NULL
-def information_schema INDEX_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) NEVER NULL
-def information_schema KEYWORDS WORD 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema INDEX_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) NEVER NULL
+def information_schema INDEX_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) NEVER NULL
+def information_schema KEYWORDS WORD 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema KEY_CACHES BLOCK_SIZE 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema KEY_CACHES DIRTY_BLOCKS 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema KEY_CACHES FULL_SIZE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema KEY_CACHES KEY_CACHE_NAME 1 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) NEVER NULL
+def information_schema KEY_CACHES KEY_CACHE_NAME 1 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) NEVER NULL
def information_schema KEY_CACHES READS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema KEY_CACHES READ_REQUESTS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema KEY_CACHES SEGMENTS 2 NULL YES int NULL NULL 10 0 NULL NULL NULL int(3) unsigned NEVER NULL
@@ -195,38 +195,38 @@ def information_schema KEY_CACHES UNUSED_BLOCKS 7 NULL NO bigint NULL NULL 20 0
def information_schema KEY_CACHES USED_BLOCKS 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema KEY_CACHES WRITES 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema KEY_CACHES WRITE_REQUESTS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(10) NEVER NULL
def information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(10) NEVER NULL
-def information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema OPTIMIZER_TRACE INSUFFICIENT_PRIVILEGES 4 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) NEVER NULL
def information_schema OPTIMIZER_TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(20) NEVER NULL
-def information_schema OPTIMIZER_TRACE QUERY 1 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema OPTIMIZER_TRACE TRACE 2 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
+def information_schema OPTIMIZER_TRACE QUERY 1 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema OPTIMIZER_TRACE TRACE 2 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
def information_schema PARAMETERS CHARACTER_MAXIMUM_LENGTH 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
def information_schema PARAMETERS CHARACTER_OCTET_LENGTH 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
-def information_schema PARAMETERS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PARAMETERS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PARAMETERS DATA_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PARAMETERS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PARAMETERS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PARAMETERS DATA_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PARAMETERS DATETIME_PRECISION 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema PARAMETERS DTD_IDENTIFIER 15 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
+def information_schema PARAMETERS DTD_IDENTIFIER 15 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
def information_schema PARAMETERS NUMERIC_PRECISION 10 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
def information_schema PARAMETERS NUMERIC_SCALE 11 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
def information_schema PARAMETERS ORDINAL_POSITION 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
-def information_schema PARAMETERS PARAMETER_MODE 5 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) NEVER NULL
-def information_schema PARAMETERS PARAMETER_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PARAMETERS ROUTINE_TYPE 16 NULL NO varchar 9 27 NULL NULL NULL utf8 utf8_general_ci varchar(9) NEVER NULL
-def information_schema PARAMETERS SPECIFIC_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema PARAMETERS SPECIFIC_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PARAMETERS PARAMETER_MODE 5 NULL YES varchar 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(5) NEVER NULL
+def information_schema PARAMETERS PARAMETER_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PARAMETERS ROUTINE_TYPE 16 NULL NO varchar 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(9) NEVER NULL
+def information_schema PARAMETERS SPECIFIC_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema PARAMETERS SPECIFIC_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PARTITIONS AVG_ROW_LENGTH 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
@@ -235,42 +235,42 @@ def information_schema PARTITIONS DATA_FREE 18 NULL NO bigint NULL NULL 20 0 NUL
def information_schema PARTITIONS DATA_LENGTH 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema PARTITIONS INDEX_LENGTH 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema PARTITIONS NODEGROUP 24 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) NEVER NULL
-def information_schema PARTITIONS PARTITION_COMMENT 23 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) NEVER NULL
-def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PARTITIONS NODEGROUP 24 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) NEVER NULL
+def information_schema PARTITIONS PARTITION_COMMENT 23 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(18) NEVER NULL
+def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) NEVER NULL
-def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) NEVER NULL
+def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PARTITIONS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema PARTITIONS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PARTITIONS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema PARTITIONS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PARTITIONS TABLE_ROWS 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema PARTITIONS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PARTITIONS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8 utf8_general_ci varchar(12) NEVER NULL
-def information_schema PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) NEVER NULL
-def information_schema PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8 utf8_general_ci varchar(80) NEVER NULL
-def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8 utf8_general_ci varchar(20) NEVER NULL
-def information_schema PROCESSLIST COMMAND 5 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) NEVER NULL
-def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PLUGINS LOAD_OPTION 11 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PLUGINS PLUGIN_AUTH_VERSION 13 NULL YES varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema PLUGINS PLUGIN_LICENSE 10 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema PLUGINS PLUGIN_MATURITY 12 NULL NO varchar 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(12) NEVER NULL
+def information_schema PLUGINS PLUGIN_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema PLUGINS PLUGIN_STATUS 3 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) NEVER NULL
+def information_schema PLUGINS PLUGIN_TYPE 4 NULL NO varchar 80 240 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(80) NEVER NULL
+def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema PLUGINS PLUGIN_VERSION 2 NULL NO varchar 20 60 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(20) NEVER NULL
+def information_schema PROCESSLIST COMMAND 5 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) NEVER NULL
+def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PROCESSLIST EXAMINED_ROWS 15 NULL NO int NULL NULL 10 0 NULL NULL NULL int(7) NEVER NULL
-def information_schema PROCESSLIST HOST 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PROCESSLIST HOST 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PROCESSLIST ID 1 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
+def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
def information_schema PROCESSLIST INFO_BINARY 17 NULL YES blob 65535 65535 NULL NULL NULL NULL NULL blob NEVER NULL
def information_schema PROCESSLIST MAX_MEMORY_USED 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(7) NEVER NULL
def information_schema PROCESSLIST MAX_STAGE 11 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) NEVER NULL
@@ -278,179 +278,180 @@ def information_schema PROCESSLIST MEMORY_USED 13 NULL NO bigint NULL NULL 19 0
def information_schema PROCESSLIST PROGRESS 12 NULL NO decimal NULL NULL 7 3 NULL NULL NULL decimal(7,3) NEVER NULL
def information_schema PROCESSLIST QUERY_ID 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
def information_schema PROCESSLIST STAGE 10 NULL NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(2) NEVER NULL
-def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema PROCESSLIST TID 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
def information_schema PROCESSLIST TIME 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(7) NEVER NULL
def information_schema PROCESSLIST TIME_MS 9 NULL NO decimal NULL NULL 22 3 NULL NULL NULL decimal(22,3) NEVER NULL
-def information_schema PROCESSLIST USER 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema PROCESSLIST USER 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema ROUTINES CHARACTER_MAXIMUM_LENGTH 7 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
def information_schema ROUTINES CHARACTER_OCTET_LENGTH 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
-def information_schema ROUTINES CHARACTER_SET_CLIENT 29 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema ROUTINES CHARACTER_SET_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES COLLATION_CONNECTION 30 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema ROUTINES COLLATION_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES CHARACTER_SET_CLIENT 29 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema ROUTINES CHARACTER_SET_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES COLLATION_CONNECTION 30 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema ROUTINES COLLATION_NAME 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema ROUTINES CREATED 24 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema ROUTINES DATABASE_COLLATION 31 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema ROUTINES DATA_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES DATABASE_COLLATION 31 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema ROUTINES DATA_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema ROUTINES DATETIME_PRECISION 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema ROUTINES DEFINER 28 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) NEVER NULL
-def information_schema ROUTINES DTD_IDENTIFIER 14 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema ROUTINES EXTERNAL_LANGUAGE 18 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES EXTERNAL_NAME 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES IS_DETERMINISTIC 20 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
+def information_schema ROUTINES DEFINER 28 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) NEVER NULL
+def information_schema ROUTINES DTD_IDENTIFIER 14 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema ROUTINES EXTERNAL_LANGUAGE 18 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES EXTERNAL_NAME 17 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES IS_DETERMINISTIC 20 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
def information_schema ROUTINES LAST_ALTERED 25 NULL NO datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def information_schema ROUTINES NUMERIC_PRECISION 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
def information_schema ROUTINES NUMERIC_SCALE 10 NULL YES int NULL NULL 10 0 NULL NULL NULL int(21) NEVER NULL
-def information_schema ROUTINES PARAMETER_STYLE 19 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) NEVER NULL
-def information_schema ROUTINES ROUTINE_BODY 15 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) NEVER NULL
-def information_schema ROUTINES ROUTINE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema ROUTINES ROUTINE_COMMENT 27 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema ROUTINES ROUTINE_DEFINITION 16 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema ROUTINES ROUTINE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES ROUTINE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES ROUTINE_TYPE 5 NULL NO varchar 13 39 NULL NULL NULL utf8 utf8_general_ci varchar(13) NEVER NULL
-def information_schema ROUTINES SECURITY_TYPE 23 NULL NO varchar 7 21 NULL NULL NULL utf8 utf8_general_ci varchar(7) NEVER NULL
-def information_schema ROUTINES SPECIFIC_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES SQL_DATA_ACCESS 21 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema ROUTINES SQL_MODE 26 NULL NO varchar 8192 24576 NULL NULL NULL utf8 utf8_general_ci varchar(8192) NEVER NULL
-def information_schema ROUTINES SQL_PATH 22 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SCHEMATA CATALOG_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema SCHEMATA SCHEMA_COMMENT 6 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) NEVER NULL
-def information_schema SCHEMATA SCHEMA_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) NEVER NULL
-def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SESSION_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SPATIAL_REF_SYS AUTH_NAME 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
+def information_schema ROUTINES PARAMETER_STYLE 19 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) NEVER NULL
+def information_schema ROUTINES ROUTINE_BODY 15 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) NEVER NULL
+def information_schema ROUTINES ROUTINE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema ROUTINES ROUTINE_COMMENT 27 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema ROUTINES ROUTINE_DEFINITION 16 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema ROUTINES ROUTINE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES ROUTINE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES ROUTINE_TYPE 5 NULL NO varchar 13 39 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(13) NEVER NULL
+def information_schema ROUTINES SECURITY_TYPE 23 NULL NO varchar 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(7) NEVER NULL
+def information_schema ROUTINES SPECIFIC_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES SQL_DATA_ACCESS 21 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema ROUTINES SQL_MODE 26 NULL NO varchar 8192 24576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8192) NEVER NULL
+def information_schema ROUTINES SQL_PATH 22 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SCHEMATA CATALOG_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema SCHEMATA SCHEMA_COMMENT 6 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) NEVER NULL
+def information_schema SCHEMATA SCHEMA_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) NEVER NULL
+def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SESSION_STATUS VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SPATIAL_REF_SYS AUTH_NAME 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
def information_schema SPATIAL_REF_SYS AUTH_SRID 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(5) NEVER NULL
def information_schema SPATIAL_REF_SYS SRID 1 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) NEVER NULL
-def information_schema SPATIAL_REF_SYS SRTEXT 4 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SQL_FUNCTIONS FUNCTION 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema SPATIAL_REF_SYS SRTEXT 4 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SQL_FUNCTIONS FUNCTION 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
-def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) NEVER NULL
-def information_schema STATISTICS COLUMN_NAME 8 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) NEVER NULL
-def information_schema STATISTICS INDEX_COMMENT 16 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) NEVER NULL
-def information_schema STATISTICS INDEX_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema STATISTICS INDEX_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema STATISTICS INDEX_TYPE 14 NULL NO varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) NEVER NULL
+def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1) NEVER NULL
+def information_schema STATISTICS COLUMN_NAME 8 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) NEVER NULL
+def information_schema STATISTICS IGNORED 17 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema STATISTICS INDEX_COMMENT 16 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) NEVER NULL
+def information_schema STATISTICS INDEX_NAME 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema STATISTICS INDEX_SCHEMA 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema STATISTICS INDEX_TYPE 14 NULL NO varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) NEVER NULL
def information_schema STATISTICS NON_UNIQUE 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(1) NEVER NULL
-def information_schema STATISTICS NULLABLE 13 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) NEVER NULL
+def information_schema STATISTICS NULLABLE 13 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) NEVER NULL
def information_schema STATISTICS SEQ_IN_INDEX 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(2) NEVER NULL
def information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(3) NEVER NULL
-def information_schema STATISTICS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema STATISTICS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema STATISTICS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SYSTEM_VARIABLES DEFAULT_VALUE 5 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema SYSTEM_VARIABLES GLOBAL_VALUE 3 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_PATH 15 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE 11 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) NEVER NULL
-def information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE 10 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) NEVER NULL
-def information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE 9 NULL YES varchar 21 63 NULL NULL NULL utf8 utf8_general_ci varchar(21) NEVER NULL
-def information_schema SYSTEM_VARIABLES READ_ONLY 13 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema SYSTEM_VARIABLES SESSION_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_COMMENT 8 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_SCOPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema SYSTEM_VARIABLES VARIABLE_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema STATISTICS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema STATISTICS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema STATISTICS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SYSTEM_VARIABLES DEFAULT_VALUE 5 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE 3 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SYSTEM_VARIABLES GLOBAL_VALUE_PATH 15 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE 11 NULL YES varchar 21 63 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(21) NEVER NULL
+def information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE 10 NULL YES varchar 21 63 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(21) NEVER NULL
+def information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE 9 NULL YES varchar 21 63 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(21) NEVER NULL
+def information_schema SYSTEM_VARIABLES READ_ONLY 13 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema SYSTEM_VARIABLES SESSION_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_COMMENT 8 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_SCOPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema SYSTEM_VARIABLES VARIABLE_TYPE 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
+def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLES MAX_INDEX_LENGTH 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) NEVER NULL
-def information_schema TABLES TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema TABLES TABLE_COMMENT 21 NULL NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema TABLES TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) NEVER NULL
+def information_schema TABLES TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema TABLES TABLE_COMMENT 21 NULL NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema TABLES TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema TABLES TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLES TABLE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLES TEMPORARY 23 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) NEVER NULL
+def information_schema TABLES TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLES TABLE_TYPE 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLES TEMPORARY 23 NULL YES varchar 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1) NEVER NULL
def information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLESPACES AUTOEXTEND_SIZE 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema TABLESPACES ENGINE 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema TABLESPACES ENGINE 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema TABLESPACES EXTENT_SIZE 5 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema TABLESPACES MAXIMUM_SIZE 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema TABLESPACES NODEGROUP_ID 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def information_schema TABLESPACES TABLESPACE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) NEVER NULL
-def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema TABLE_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def information_schema TABLESPACES TABLESPACE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) NEVER NULL
+def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema TABLE_PRIVILEGES TABLE_NAME 4 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
def information_schema TABLE_STATISTICS ROWS_CHANGED 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema TABLE_STATISTICS ROWS_CHANGED_X_INDEXES 5 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema TABLE_STATISTICS ROWS_READ 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
-def information_schema TABLE_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) NEVER NULL
-def information_schema TABLE_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) NEVER NULL
-def information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
+def information_schema TABLE_STATISTICS TABLE_NAME 2 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) NEVER NULL
+def information_schema TABLE_STATISTICS TABLE_SCHEMA 1 NULL NO varchar 192 576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(192) NEVER NULL
+def information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
def information_schema TRIGGERS ACTION_ORDER 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(4) NEVER NULL
-def information_schema TRIGGERS ACTION_ORIENTATION 11 NULL NO varchar 9 27 NULL NULL NULL utf8 utf8_general_ci varchar(9) NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
-def information_schema TRIGGERS ACTION_TIMING 12 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) NEVER NULL
-def information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema TRIGGERS COLLATION_CONNECTION 21 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
+def information_schema TRIGGERS ACTION_ORIENTATION 11 NULL NO varchar 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(9) NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
+def information_schema TRIGGERS ACTION_TIMING 12 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) NEVER NULL
+def information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema TRIGGERS COLLATION_CONNECTION 21 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
def information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL 2 NULL NULL datetime(2) NEVER NULL
-def information_schema TRIGGERS DATABASE_COLLATION 22 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema TRIGGERS DEFINER 19 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) NEVER NULL
-def information_schema TRIGGERS EVENT_MANIPULATION 4 NULL NO varchar 6 18 NULL NULL NULL utf8 utf8_general_ci varchar(6) NEVER NULL
-def information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TRIGGERS SQL_MODE 18 NULL NO varchar 8192 24576 NULL NULL NULL utf8 utf8_general_ci varchar(8192) NEVER NULL
-def information_schema TRIGGERS TRIGGER_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema TRIGGERS TRIGGER_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema TRIGGERS TRIGGER_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema USER_PRIVILEGES GRANTEE 1 NULL NO varchar 190 570 NULL NULL NULL utf8 utf8_general_ci varchar(190) NEVER NULL
-def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
+def information_schema TRIGGERS DATABASE_COLLATION 22 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema TRIGGERS DEFINER 19 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) NEVER NULL
+def information_schema TRIGGERS EVENT_MANIPULATION 4 NULL NO varchar 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(6) NEVER NULL
+def information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TRIGGERS SQL_MODE 18 NULL NO varchar 8192 24576 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8192) NEVER NULL
+def information_schema TRIGGERS TRIGGER_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema TRIGGERS TRIGGER_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema TRIGGERS TRIGGER_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema USER_PRIVILEGES GRANTEE 1 NULL NO varchar 385 1155 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(385) NEVER NULL
+def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
def information_schema USER_STATISTICS ACCESS_DENIED 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema USER_STATISTICS BINLOG_BYTES_WRITTEN 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
def information_schema USER_STATISTICS BUSY_TIME 5 NULL NO double NULL NULL 21 NULL NULL NULL NULL double NEVER NULL
@@ -475,18 +476,18 @@ def information_schema USER_STATISTICS SELECT_COMMANDS 15 NULL NO bigint NULL NU
def information_schema USER_STATISTICS TOTAL_CONNECTIONS 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def information_schema USER_STATISTICS TOTAL_SSL_CONNECTIONS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
def information_schema USER_STATISTICS UPDATE_COMMANDS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) NEVER NULL
-def information_schema USER_STATISTICS USER 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) NEVER NULL
-def information_schema VIEWS ALGORITHM 11 NULL NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) NEVER NULL
-def information_schema VIEWS CHARACTER_SET_CLIENT 9 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema VIEWS CHECK_OPTION 5 NULL NO varchar 8 24 NULL NULL NULL utf8 utf8_general_ci varchar(8) NEVER NULL
-def information_schema VIEWS COLLATION_CONNECTION 10 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) NEVER NULL
-def information_schema VIEWS DEFINER 7 NULL NO varchar 189 567 NULL NULL NULL utf8 utf8_general_ci varchar(189) NEVER NULL
-def information_schema VIEWS IS_UPDATABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8 utf8_general_ci varchar(3) NEVER NULL
-def information_schema VIEWS SECURITY_TYPE 8 NULL NO varchar 7 21 NULL NULL NULL utf8 utf8_general_ci varchar(7) NEVER NULL
-def information_schema VIEWS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def information_schema VIEWS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema VIEWS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
-def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext NEVER NULL
+def information_schema USER_STATISTICS USER 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) NEVER NULL
+def information_schema VIEWS ALGORITHM 11 NULL NO varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) NEVER NULL
+def information_schema VIEWS CHARACTER_SET_CLIENT 9 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema VIEWS CHECK_OPTION 5 NULL NO varchar 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(8) NEVER NULL
+def information_schema VIEWS COLLATION_CONNECTION 10 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) NEVER NULL
+def information_schema VIEWS DEFINER 7 NULL NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(384) NEVER NULL
+def information_schema VIEWS IS_UPDATABLE 6 NULL NO varchar 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(3) NEVER NULL
+def information_schema VIEWS SECURITY_TYPE 8 NULL NO varchar 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(7) NEVER NULL
+def information_schema VIEWS TABLE_CATALOG 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def information_schema VIEWS TABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema VIEWS TABLE_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
+def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext NEVER NULL
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
@@ -502,7 +503,7 @@ 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
+1.0000 longtext utf8mb3 utf8mb3_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -514,7 +515,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
-3.0000 varchar utf8 utf8_general_ci
+3.0000 varchar utf8mb3 utf8mb3_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -550,34 +551,34 @@ 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)
+3.0000 information_schema ALL_PLUGINS PLUGIN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_STATUS varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema ALL_PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ALL_PLUGINS PLUGIN_LICENSE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema ALL_PLUGINS LOAD_OPTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ALL_PLUGINS PLUGIN_MATURITY varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+3.0000 information_schema ALL_PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema APPLICABLE_ROLES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema APPLICABLE_ROLES ROLE_NAME varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 information_schema APPLICABLE_ROLES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema APPLICABLE_ROLES IS_DEFAULT varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8mb3 utf8mb3_general_ci varchar(60)
NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHECK_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema CHECK_CONSTRAINTS LEVEL varchar 6 18 utf8 utf8_general_ci varchar(6)
-1.0000 information_schema CHECK_CONSTRAINTS CHECK_CLAUSE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema CLIENT_STATISTICS CLIENT varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema CHECK_CONSTRAINTS LEVEL varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+1.0000 information_schema CHECK_CONSTRAINTS CHECK_CLAUSE longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema CLIENT_STATISTICS CLIENT varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema CLIENT_STATISTICS TOTAL_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS CONCURRENT_CONNECTIONS bigint NULL NULL NULL NULL bigint(21)
NULL information_schema CLIENT_STATISTICS CONNECTED_TIME bigint NULL NULL NULL NULL bigint(21)
@@ -602,85 +603,85 @@ NULL information_schema CLIENT_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NU
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)
+3.0000 information_schema COLLATIONS COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11)
-3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3)
+3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema COLUMNS DATETIME_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema COLUMNS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32)
-1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema COLUMNS EXTRA varchar 80 240 utf8 utf8_general_ci varchar(80)
-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 COLUMNS IS_GENERATED varchar 6 18 utf8 utf8_general_ci varchar(6)
-1.0000 information_schema COLUMNS GENERATION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-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)
-3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES XA varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
+3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema COLUMNS COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema COLUMNS EXTRA varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 1024 3072 utf8mb3 utf8mb3_general_ci varchar(1024)
+3.0000 information_schema COLUMNS IS_GENERATED varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+1.0000 information_schema COLUMNS GENERATION_EXPRESSION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ENABLED_ROLES ROLE_NAME varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 information_schema ENGINES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ENGINES SUPPORT varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+3.0000 information_schema ENGINES COMMENT varchar 160 480 utf8mb3 utf8mb3_general_ci varchar(160)
+3.0000 information_schema ENGINES TRANSACTIONS varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ENGINES XA varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ENGINES SAVEPOINTS varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema EVENTS EVENT_CATALOG varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema EVENTS TIME_ZONE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_BODY varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+1.0000 information_schema EVENTS EVENT_DEFINITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema EVENTS EVENT_TYPE varchar 9 27 utf8mb3 utf8mb3_general_ci varchar(9)
NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256)
-3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192)
+3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8mb3 utf8mb3_general_ci varchar(256)
+3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8mb3 utf8mb3_general_ci varchar(18)
+3.0000 information_schema EVENTS SQL_MODE varchar 8192 24576 utf8mb3 utf8mb3_general_ci varchar(8192)
NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime
NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8 utf8_general_ci varchar(12)
+3.0000 information_schema EVENTS STATUS varchar 18 54 utf8mb3 utf8mb3_general_ci varchar(18)
+3.0000 information_schema EVENTS ON_COMPLETION varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
NULL information_schema EVENTS CREATED datetime NULL NULL NULL NULL datetime
NULL information_schema EVENTS LAST_ALTERED datetime NULL NULL NULL NULL datetime
NULL information_schema EVENTS LAST_EXECUTED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema EVENTS EVENT_COMMENT varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema EVENTS ORIGINATOR bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema EVENTS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema EVENTS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema EVENTS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
+3.0000 information_schema EVENTS CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema EVENTS COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema EVENTS DATABASE_COLLATION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
NULL information_schema FILES FILE_ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES FILE_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES FILE_NAME varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema FILES FILE_TYPE varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema FILES TABLESPACE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_CATALOG varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES LOGFILE_GROUP_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema FILES LOGFILE_GROUP_NUMBER bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema FILES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema FILES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema FILES FULLTEXT_KEYS varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema FILES DELETED_ROWS bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES UPDATE_COUNT bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES FREE_EXTENTS bigint NULL NULL NULL NULL bigint(4)
@@ -695,7 +696,7 @@ NULL information_schema FILES LAST_ACCESS_TIME datetime NULL NULL NULL NULL date
NULL information_schema FILES RECOVER_TIME bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES TRANSACTION_COUNTER bigint NULL NULL NULL NULL bigint(4)
NULL information_schema FILES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema FILES ROW_FORMAT varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
NULL information_schema FILES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema FILES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema FILES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -706,31 +707,31 @@ NULL information_schema FILES CREATE_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema FILES UPDATE_TIME datetime NULL NULL NULL NULL datetime
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)
+3.0000 information_schema FILES STATUS varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema FILES EXTRA varchar 255 765 utf8mb3 utf8mb3_general_ci varchar(255)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS F_GEOMETRY_COLUMN varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GEOMETRY_COLUMNS G_GEOMETRY_COLUMN varchar 64 192 utf8mb3 utf8mb3_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 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 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)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema INDEX_STATISTICS TABLE_SCHEMA varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
+3.0000 information_schema INDEX_STATISTICS TABLE_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
+3.0000 information_schema INDEX_STATISTICS INDEX_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
NULL information_schema INDEX_STATISTICS ROWS_READ bigint NULL NULL NULL NULL bigint(21)
-3.0000 information_schema KEYWORDS WORD varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_CACHES KEY_CACHE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
+3.0000 information_schema KEYWORDS WORD varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_CACHES KEY_CACHE_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
NULL information_schema KEY_CACHES SEGMENTS int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES SEGMENT_NUMBER int NULL NULL NULL NULL int(3) unsigned
NULL information_schema KEY_CACHES FULL_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -742,50 +743,50 @@ NULL information_schema KEY_CACHES READ_REQUESTS bigint NULL NULL NULL NULL bigi
NULL information_schema KEY_CACHES READS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema KEY_CACHES WRITE_REQUESTS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema KEY_CACHES WRITES bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10)
NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema OPTIMIZER_TRACE QUERY longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema OPTIMIZER_TRACE TRACE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema OPTIMIZER_TRACE QUERY longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema OPTIMIZER_TRACE TRACE longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
NULL information_schema OPTIMIZER_TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE int NULL NULL NULL NULL int(20)
NULL information_schema OPTIMIZER_TRACE INSUFFICIENT_PRIVILEGES tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 information_schema PARAMETERS SPECIFIC_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema PARAMETERS SPECIFIC_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARAMETERS SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARAMETERS SPECIFIC_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema PARAMETERS SPECIFIC_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARAMETERS SPECIFIC_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema PARAMETERS ORDINAL_POSITION int NULL NULL NULL NULL int(21)
-3.0000 information_schema PARAMETERS PARAMETER_MODE varchar 5 15 utf8 utf8_general_ci varchar(5)
-3.0000 information_schema PARAMETERS PARAMETER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARAMETERS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARAMETERS PARAMETER_MODE varchar 5 15 utf8mb3 utf8mb3_general_ci varchar(5)
+3.0000 information_schema PARAMETERS PARAMETER_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARAMETERS DATA_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema PARAMETERS CHARACTER_MAXIMUM_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS CHARACTER_OCTET_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS NUMERIC_PRECISION int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS NUMERIC_SCALE int NULL NULL NULL NULL int(21)
NULL information_schema PARAMETERS DATETIME_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARAMETERS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARAMETERS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PARAMETERS DTD_IDENTIFIER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema PARAMETERS ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema PARAMETERS CHARACTER_SET_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARAMETERS COLLATION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema PARAMETERS DTD_IDENTIFIER longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema PARAMETERS ROUTINE_TYPE varchar 9 27 utf8mb3 utf8mb3_general_ci varchar(9)
+3.0000 information_schema PARTITIONS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema PARTITIONS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARTITIONS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARTITIONS PARTITION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PARTITIONS SUBPARTITION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema PARTITIONS PARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 18 54 utf8 utf8_general_ci varchar(18)
-3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8 utf8_general_ci varchar(12)
-1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema PARTITIONS PARTITION_METHOD varchar 18 54 utf8mb3 utf8mb3_general_ci varchar(18)
+3.0000 information_schema PARTITIONS SUBPARTITION_METHOD varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+1.0000 information_schema PARTITIONS PARTITION_EXPRESSION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema PARTITIONS SUBPARTITION_EXPRESSION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema PARTITIONS PARTITION_DESCRIPTION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
NULL information_schema PARTITIONS TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema PARTITIONS AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema PARTITIONS DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -796,30 +797,30 @@ NULL information_schema PARTITIONS CREATE_TIME datetime NULL NULL NULL NULL date
NULL information_schema PARTITIONS UPDATE_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema PARTITIONS CHECK_TIME datetime NULL NULL NULL NULL datetime
NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8 utf8_general_ci varchar(12)
-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 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)
-3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8 utf8_general_ci varchar(20)
-3.0000 information_schema PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema PLUGINS PLUGIN_LICENSE varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema PLUGINS LOAD_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PLUGINS PLUGIN_MATURITY varchar 12 36 utf8 utf8_general_ci varchar(12)
-3.0000 information_schema PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema PARTITIONS PARTITION_COMMENT varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema PARTITIONS NODEGROUP varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+3.0000 information_schema PARTITIONS TABLESPACE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_STATUS varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema PLUGINS PLUGIN_TYPE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema PLUGINS PLUGIN_TYPE_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_LIBRARY varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_LIBRARY_VERSION varchar 20 60 utf8mb3 utf8mb3_general_ci varchar(20)
+3.0000 information_schema PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema PLUGINS PLUGIN_LICENSE varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
+3.0000 information_schema PLUGINS LOAD_OPTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PLUGINS PLUGIN_MATURITY varchar 12 36 utf8mb3 utf8mb3_general_ci varchar(12)
+3.0000 information_schema PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8mb3 utf8mb3_general_ci varchar(80)
NULL information_schema PROCESSLIST ID bigint NULL NULL NULL NULL bigint(4)
-3.0000 information_schema PROCESSLIST USER varchar 128 384 utf8 utf8_general_ci varchar(128)
-3.0000 information_schema PROCESSLIST HOST varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8 utf8_general_ci varchar(16)
+3.0000 information_schema PROCESSLIST USER varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 information_schema PROCESSLIST HOST varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PROCESSLIST DB varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema PROCESSLIST COMMAND varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
NULL information_schema PROCESSLIST TIME int NULL NULL NULL NULL int(7)
-3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
+3.0000 information_schema PROCESSLIST STATE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema PROCESSLIST INFO longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
NULL information_schema PROCESSLIST TIME_MS decimal NULL NULL NULL NULL decimal(22,3)
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)
@@ -830,106 +831,107 @@ 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)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 13 39 utf8 utf8_general_ci varchar(13)
-3.0000 information_schema ROUTINES DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 13 39 utf8mb3 utf8mb3_general_ci varchar(13)
+3.0000 information_schema ROUTINES DATA_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema ROUTINES CHARACTER_MAXIMUM_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES CHARACTER_OCTET_LENGTH int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES NUMERIC_PRECISION int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES NUMERIC_SCALE int NULL NULL NULL NULL int(21)
NULL information_schema ROUTINES DATETIME_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema ROUTINES CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-1.0000 information_schema ROUTINES DTD_IDENTIFIER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8)
-1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
+3.0000 information_schema ROUTINES CHARACTER_SET_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES COLLATION_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema ROUTINES DTD_IDENTIFIER longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8mb3 utf8mb3_general_ci varchar(7)
NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime
NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime
-3.0000 information_schema ROUTINES SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192)
-1.0000 information_schema ROUTINES ROUTINE_COMMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema ROUTINES DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema ROUTINES COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
-3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 SCHEMATA SCHEMA_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
-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 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 2048 6144 utf8 utf8_general_ci varchar(2048)
+3.0000 information_schema ROUTINES SQL_MODE varchar 8192 24576 utf8mb3 utf8mb3_general_ci varchar(8192)
+1.0000 information_schema ROUTINES ROUTINE_COMMENT longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema ROUTINES DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema ROUTINES COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema SCHEMATA SCHEMA_COMMENT varchar 1024 3072 utf8mb3 utf8mb3_general_ci varchar(1024)
+3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8mb3 utf8mb3_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)
+3.0000 information_schema SPATIAL_REF_SYS AUTH_NAME varchar 512 1536 utf8mb3 utf8mb3_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 SQL_FUNCTIONS FUNCTION varchar 64 192 utf8 utf8_general_ci varchar(64)
-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)
+3.0000 information_schema SPATIAL_REF_SYS SRTEXT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SQL_FUNCTIONS FUNCTION varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1)
-3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2)
-3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1)
+3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8mb3 utf8mb3_general_ci varchar(1)
NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21)
NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
-3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10)
-3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(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 SYSTEM_VARIABLES GLOBAL_VALUE_PATH varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
-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)
-3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
+3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8mb3 utf8mb3_general_ci varchar(16)
+3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8mb3 utf8mb3_general_ci varchar(1024)
+3.0000 information_schema STATISTICS IGNORED varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES SESSION_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE_ORIGIN varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES DEFAULT_VALUE varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_SCOPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES VARIABLE_COMMENT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MIN_VALUE varchar 21 63 utf8mb3 utf8mb3_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_MAX_VALUE varchar 21 63 utf8mb3 utf8mb3_general_ci varchar(21)
+3.0000 information_schema SYSTEM_VARIABLES NUMERIC_BLOCK_SIZE varchar 21 63 utf8mb3 utf8mb3_general_ci varchar(21)
+1.0000 information_schema SYSTEM_VARIABLES ENUM_VALUE_LIST longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema SYSTEM_VARIABLES READ_ONLY varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema SYSTEM_VARIABLES COMMAND_LINE_ARGUMENT varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema SYSTEM_VARIABLES GLOBAL_VALUE_PATH varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema TABLES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
@@ -940,65 +942,65 @@ NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(
NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime
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)
+3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8mb3 utf8mb3_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 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 TABLES CREATE_OPTIONS varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema TABLES TABLE_COMMENT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
NULL information_schema TABLES MAX_INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLES TEMPORARY varchar 1 3 utf8 utf8_general_ci varchar(1)
-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)
-3.0000 information_schema TABLESPACES TABLESPACE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLESPACES LOGFILE_GROUP_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TABLES TEMPORARY varchar 1 3 utf8mb3 utf8mb3_general_ci varchar(1)
+3.0000 information_schema TABLESPACES TABLESPACE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLESPACES ENGINE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLESPACES TABLESPACE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLESPACES LOGFILE_GROUP_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema TABLESPACES EXTENT_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLESPACES AUTOEXTEND_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLESPACES MAXIMUM_SIZE bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema TABLESPACES NODEGROUP_ID bigint NULL NULL NULL NULL bigint(21) unsigned
-3.0000 information_schema TABLESPACES TABLESPACE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-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 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)
-3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TABLE_STATISTICS TABLE_SCHEMA varchar 192 576 utf8 utf8_general_ci varchar(192)
-3.0000 information_schema TABLE_STATISTICS TABLE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
+3.0000 information_schema TABLESPACES TABLESPACE_COMMENT varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema TABLE_STATISTICS TABLE_SCHEMA varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
+3.0000 information_schema TABLE_STATISTICS TABLE_NAME varchar 192 576 utf8mb3 utf8mb3_general_ci varchar(192)
NULL information_schema TABLE_STATISTICS ROWS_READ bigint NULL NULL NULL NULL bigint(21)
NULL information_schema TABLE_STATISTICS ROWS_CHANGED bigint NULL NULL NULL NULL bigint(21)
NULL information_schema TABLE_STATISTICS ROWS_CHANGED_X_INDEXES bigint NULL NULL NULL NULL bigint(21)
-3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
+3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4)
-1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9)
-3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3)
+1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8mb3 utf8mb3_general_ci varchar(9)
+3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8mb3 utf8mb3_general_ci varchar(6)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime(2)
-3.0000 information_schema TRIGGERS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192)
-3.0000 information_schema TRIGGERS DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-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 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)
-3.0000 information_schema USER_STATISTICS USER varchar 128 384 utf8 utf8_general_ci varchar(128)
+3.0000 information_schema TRIGGERS SQL_MODE varchar 8192 24576 utf8mb3 utf8mb3_general_ci varchar(8192)
+3.0000 information_schema TRIGGERS DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 385 1155 utf8mb3 utf8mb3_general_ci varchar(385)
+3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema USER_STATISTICS USER varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
NULL information_schema USER_STATISTICS TOTAL_CONNECTIONS int NULL NULL NULL NULL int(11)
NULL information_schema USER_STATISTICS CONCURRENT_CONNECTIONS int NULL NULL NULL NULL int(11)
NULL information_schema USER_STATISTICS CONNECTED_TIME int NULL NULL NULL NULL int(11)
@@ -1023,14 +1025,14 @@ NULL information_schema USER_STATISTICS ACCESS_DENIED bigint NULL NULL NULL NULL
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)
-1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
-3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8)
-3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
-3.0000 information_schema VIEWS DEFINER varchar 189 567 utf8 utf8_general_ci varchar(189)
-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 VIEWS ALGORITHM varchar 10 30 utf8 utf8_general_ci varchar(10)
+3.0000 information_schema VIEWS TABLE_CATALOG varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
+3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8mb3 utf8mb3_general_ci longtext
+3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8mb3 utf8mb3_general_ci varchar(8)
+3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8mb3 utf8mb3_general_ci varchar(3)
+3.0000 information_schema VIEWS DEFINER varchar 384 1152 utf8mb3 utf8mb3_general_ci varchar(384)
+3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8mb3 utf8mb3_general_ci varchar(7)
+3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8mb3 utf8mb3_general_ci varchar(32)
+3.0000 information_schema VIEWS ALGORITHM varchar 10 30 utf8mb3 utf8mb3_general_ci varchar(10)
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 f5f134bd7a7..ef4832cdb8a 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
@@ -2,171 +2,171 @@ SELECT * FROM information_schema.columns
WHERE table_schema = 'mysql'
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 IS_GENERATED GENERATION_EXPRESSION
-def mysql columns_priv Column_name 5 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql columns_priv Column_priv 7 '' NO set 31 93 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references NEVER NULL
-def mysql columns_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql columns_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-def mysql columns_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql columns_priv Column_name 5 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql columns_priv Column_priv 7 '' NO set 31 93 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References') select,insert,update,references NEVER NULL
+def mysql columns_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql columns_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql columns_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql columns_priv User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
+def mysql columns_priv User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
def mysql column_stats avg_frequency 8 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references NEVER NULL
def mysql column_stats avg_length 7 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
+def mysql column_stats column_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql column_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
def mysql column_stats histogram 11 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) select,insert,update,references NEVER NULL
def mysql column_stats hist_size 9 NULL YES tinyint NULL NULL 3 0 NULL NULL NULL tinyint(3) unsigned select,insert,update,references NEVER NULL
-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 NEVER NULL
+def mysql column_stats hist_type 10 NULL YES enum 14 42 NULL NULL NULL utf8mb3 utf8mb3_bin enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') select,insert,update,references NEVER NULL
def mysql column_stats max_value 5 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) select,insert,update,references NEVER NULL
def mysql column_stats min_value 4 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) select,insert,update,references NEVER NULL
def mysql column_stats nulls_ratio 6 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-def mysql db Create_routine_priv 18 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Create_tmp_table_priv 14 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Create_view_priv 16 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql db Delete_history_priv 23 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Delete_priv 7 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Drop_priv 9 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Event_priv 21 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Execute_priv 20 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Grant_priv 10 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-def mysql db Index_priv 12 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Insert_priv 5 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Lock_tables_priv 15 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db References_priv 11 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-def mysql db Select_priv 4 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-def mysql db User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
+def mysql column_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql db Alter_priv 13 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Alter_routine_priv 19 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Create_priv 8 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Create_routine_priv 18 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Create_tmp_table_priv 14 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Create_view_priv 16 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql db Delete_history_priv 23 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Delete_priv 7 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Drop_priv 9 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Event_priv 21 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Execute_priv 20 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Grant_priv 10 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql db Index_priv 12 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Insert_priv 5 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Lock_tables_priv 15 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db References_priv 11 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Select_priv 4 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Show_view_priv 17 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Trigger_priv 22 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db Update_priv 6 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql db User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
def mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references NEVER NULL
def mysql event body_utf8 22 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references NEVER NULL
-def mysql event character_set_client 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references NEVER NULL
-def mysql event collation_connection 20 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references NEVER NULL
-def mysql event comment 16 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) select,insert,update,references NEVER NULL
+def mysql event character_set_client 19 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references NEVER NULL
+def mysql event collation_connection 20 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references NEVER NULL
+def mysql event comment 16 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql event db 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql event db_collation 21 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references NEVER NULL
-def mysql event definer 4 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) select,insert,update,references NEVER NULL
+def mysql event db 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql event db_collation 21 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references NEVER NULL
+def mysql event definer 4 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) select,insert,update,references NEVER NULL
def mysql event ends 12 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select,insert,update,references NEVER NULL
def mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select,insert,update,references NEVER NULL
-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 NEVER NULL
+def mysql event interval_field 7 NULL YES enum 18 54 NULL NULL NULL utf8mb3 utf8mb3_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 NEVER NULL
def mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select,insert,update,references NEVER NULL
def mysql event modified 9 '0000-00-00 00:00:00' NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references NEVER NULL
-def mysql event name 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references NEVER NULL
-def mysql event on_completion 14 'DROP' NO enum 8 24 NULL NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') select,insert,update,references NEVER NULL
+def mysql event name 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI select,insert,update,references NEVER NULL
+def mysql event on_completion 14 'DROP' NO enum 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('DROP','PRESERVE') select,insert,update,references NEVER NULL
def mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references NEVER NULL
-def mysql event sql_mode 15 '' NO set 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') select,insert,update,references NEVER NULL
+def mysql event sql_mode 15 '' NO set 561 1683 NULL NULL NULL utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') select,insert,update,references NEVER NULL
def mysql event starts 11 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select,insert,update,references NEVER NULL
-def mysql event status 13 'ENABLED' NO enum 18 54 NULL NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NEVER NULL
+def mysql event status 13 'ENABLED' NO enum 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') select,insert,update,references NEVER NULL
def mysql event time_zone 18 'SYSTEM' NO char 64 64 NULL NULL NULL latin1 latin1_swedish_ci char(64) select,insert,update,references NEVER NULL
-def mysql func dl 3 '' NO char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references NEVER NULL
-def mysql func name 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql func dl 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references NEVER NULL
+def mysql func name 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
def mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) select,insert,update,references NEVER NULL
-def mysql func type 4 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references NEVER NULL
-def mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references NEVER NULL
-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 NEVER NULL
+def mysql func type 4 NULL NO enum 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('function','aggregate') select,insert,update,references NEVER NULL
+def mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext select,insert,update,references NEVER NULL
+def mysql general_log command_type 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NEVER NULL
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(6) select,insert,update,references NEVER NULL
def mysql general_log server_id 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references NEVER NULL
def mysql general_log thread_id 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select,insert,update,references NEVER NULL
-def mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references NEVER NULL
-def mysql global_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
+def mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext select,insert,update,references NEVER NULL
+def mysql global_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
def mysql global_priv Priv 3 '{}' NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb4 utf8mb4_bin longtext select,insert,update,references NEVER NULL
-def mysql global_priv User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
+def mysql global_priv User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
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 NEVER NULL
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 NEVER NULL
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 NEVER NULL
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 NEVER NULL
-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 NEVER NULL
+def mysql help_category name 2 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) UNI select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql help_category url 4 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text select,insert,update,references NEVER NULL
+def mysql help_category url 4 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text select,insert,update,references NEVER NULL
def mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references NEVER NULL
-def mysql help_keyword name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references NEVER NULL
+def mysql help_keyword name 2 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) UNI select,insert,update,references NEVER NULL
def mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references NEVER NULL
def mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references NEVER NULL
-def mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text select,insert,update,references NEVER NULL
-def mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text select,insert,update,references NEVER NULL
+def mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text select,insert,update,references NEVER NULL
+def mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text select,insert,update,references NEVER NULL
def mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned select,insert,update,references NEVER NULL
def mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references NEVER NULL
-def mysql help_topic name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references NEVER NULL
-def mysql help_topic url 6 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text select,insert,update,references NEVER NULL
+def mysql help_topic name 2 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) UNI select,insert,update,references NEVER NULL
+def mysql help_topic url 6 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text select,insert,update,references NEVER NULL
def mysql index_stats avg_frequency 5 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) select,insert,update,references NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
+def mysql index_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
+def mysql index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql innodb_index_stats database_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql innodb_index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
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 NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
+def mysql innodb_index_stats stat_description 8 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(1024) select,insert,update,references NEVER NULL
+def mysql innodb_index_stats stat_name 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql innodb_index_stats table_name 2 NULL NO varchar 199 597 NULL NULL NULL utf8 utf8_bin varchar(199) PRI select,insert,update,references NEVER NULL
+def mysql innodb_index_stats table_name 2 NULL NO varchar 199 597 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(199) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-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 NEVER NULL
+def mysql innodb_table_stats database_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
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 NEVER NULL
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 NEVER NULL
-def mysql innodb_table_stats table_name 2 NULL NO varchar 199 597 NULL NULL NULL utf8 utf8_bin varchar(199) PRI select,insert,update,references NEVER NULL
-def mysql plugin dl 2 '' NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references NEVER NULL
-def mysql plugin name 1 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) PRI select,insert,update,references NEVER NULL
-def mysql proc aggregate 21 'NONE' NO enum 5 15 NULL NULL NULL utf8 utf8_general_ci enum('NONE','GROUP') select,insert,update,references NEVER NULL
+def mysql innodb_table_stats table_name 2 NULL NO varchar 199 597 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(199) PRI select,insert,update,references NEVER NULL
+def mysql plugin dl 2 '' NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references NEVER NULL
+def mysql plugin name 1 '' NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql proc aggregate 21 'NONE' NO enum 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('NONE','GROUP') select,insert,update,references NEVER NULL
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references NEVER NULL
def mysql proc body_utf8 20 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references NEVER NULL
-def mysql proc character_set_client 17 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references NEVER NULL
-def mysql proc collation_connection 18 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references NEVER NULL
-def mysql proc comment 16 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_bin text select,insert,update,references NEVER NULL
+def mysql proc character_set_client 17 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references NEVER NULL
+def mysql proc collation_connection 18 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references NEVER NULL
+def mysql proc comment 16 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_bin text select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql proc db 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql proc db_collation 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references NEVER NULL
-def mysql proc definer 12 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) select,insert,update,references NEVER NULL
-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 NEVER NULL
-def mysql proc language 5 'SQL' NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references NEVER NULL
+def mysql proc db 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql proc db_collation 19 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references NEVER NULL
+def mysql proc definer 12 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) select,insert,update,references NEVER NULL
+def mysql proc is_deterministic 7 'NO' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references NEVER NULL
+def mysql proc language 5 'SQL' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('SQL') select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql proc name 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references NEVER NULL
+def mysql proc name 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI select,insert,update,references NEVER NULL
def mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob select,insert,update,references NEVER NULL
def mysql proc returns 10 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references NEVER NULL
-def mysql proc security_type 8 'DEFINER' NO enum 7 21 NULL NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references NEVER NULL
-def mysql proc specific_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references NEVER NULL
-def mysql proc sql_data_access 6 'CONTAINS_SQL' NO enum 17 51 NULL NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NEVER NULL
-def mysql proc sql_mode 15 '' NO set 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') select,insert,update,references NEVER NULL
-def mysql proc type 3 NULL NO enum 12 36 NULL NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI select,insert,update,references NEVER NULL
-def mysql procs_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql procs_priv Grantor 6 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL select,insert,update,references NEVER NULL
-def mysql procs_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
-def mysql procs_priv Routine_type 5 NULL NO enum 12 36 NULL NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI select,insert,update,references NEVER NULL
+def mysql proc security_type 8 'DEFINER' NO enum 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('INVOKER','DEFINER') select,insert,update,references NEVER NULL
+def mysql proc specific_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL
+def mysql proc sql_data_access 6 'CONTAINS_SQL' NO enum 17 51 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references NEVER NULL
+def mysql proc sql_mode 15 '' NO set 561 1683 NULL NULL NULL utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') select,insert,update,references NEVER NULL
+def mysql proc type 3 NULL NO enum 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI select,insert,update,references NEVER NULL
+def mysql procs_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql procs_priv Grantor 6 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) MUL select,insert,update,references NEVER NULL
+def mysql procs_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql procs_priv Proc_priv 7 '' NO set 27 81 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references NEVER NULL
+def mysql procs_priv Routine_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI select,insert,update,references NEVER NULL
+def mysql procs_priv Routine_type 5 NULL NO enum 12 36 NULL NULL NULL utf8mb3 utf8mb3_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql procs_priv User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
-def mysql proxies_priv Grantor 6 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL select,insert,update,references NEVER NULL
-def mysql proxies_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-def mysql proxies_priv Proxied_host 3 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-def mysql proxies_priv Proxied_user 4 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
+def mysql procs_priv User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
+def mysql proxies_priv Grantor 6 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) MUL select,insert,update,references NEVER NULL
+def mysql proxies_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql proxies_priv Proxied_host 3 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql proxies_priv Proxied_user 4 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql proxies_priv User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
+def mysql proxies_priv User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) select,insert,update,references NEVER NULL
-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 NEVER NULL
-def mysql roles_mapping Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-def mysql roles_mapping Role 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
-def mysql roles_mapping User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
-def mysql servers Db 3 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references NEVER NULL
-def mysql servers Host 2 '' NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select,insert,update,references NEVER NULL
-def mysql servers Owner 9 '' NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references NEVER NULL
-def mysql servers Password 5 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references NEVER NULL
+def mysql roles_mapping Admin_option 4 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') select,insert,update,references NEVER NULL
+def mysql roles_mapping Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql roles_mapping Role 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
+def mysql roles_mapping User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
+def mysql servers Db 3 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL
+def mysql servers Host 2 '' NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) select,insert,update,references NEVER NULL
+def mysql servers Owner 9 '' NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references NEVER NULL
+def mysql servers Password 5 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL
def mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(4) select,insert,update,references NEVER NULL
-def mysql servers Server_name 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references NEVER NULL
-def mysql servers Socket 7 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references NEVER NULL
-def mysql servers Username 4 '' NO char 80 240 NULL NULL NULL utf8 utf8_general_ci char(80) select,insert,update,references NEVER NULL
-def mysql servers Wrapper 8 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references NEVER NULL
-def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references NEVER NULL
+def mysql servers Server_name 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI select,insert,update,references NEVER NULL
+def mysql servers Socket 7 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL
+def mysql servers Username 4 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(128) select,insert,update,references NEVER NULL
+def mysql servers Wrapper 8 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) select,insert,update,references NEVER NULL
+def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references NEVER NULL
def mysql slow_log insert_id 9 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql slow_log last_insert_id 8 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL 6 NULL NULL time(6) select,insert,update,references NEVER NULL
@@ -175,31 +175,31 @@ def mysql slow_log rows_affected 13 NULL NO int NULL NULL 10 0 NULL NULL NULL in
def mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql slow_log server_id 10 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references NEVER NULL
-def mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references NEVER NULL
+def mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext select,insert,update,references NEVER NULL
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(6) select,insert,update,references NEVER NULL
def mysql slow_log thread_id 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select,insert,update,references NEVER NULL
-def mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext select,insert,update,references NEVER NULL
-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 NEVER NULL
-def mysql tables_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql tables_priv Grantor 5 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL select,insert,update,references NEVER NULL
-def mysql tables_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references NEVER NULL
-def mysql tables_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references NEVER NULL
-def mysql tables_priv Table_priv 7 '' NO set 121 363 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') select,insert,update,references NEVER NULL
+def mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext select,insert,update,references NEVER NULL
+def mysql tables_priv Column_priv 8 '' NO set 31 93 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References') select,insert,update,references NEVER NULL
+def mysql tables_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql tables_priv Grantor 5 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) MUL select,insert,update,references NEVER NULL
+def mysql tables_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI select,insert,update,references NEVER NULL
+def mysql tables_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI select,insert,update,references NEVER NULL
+def mysql tables_priv Table_priv 7 '' NO set 121 363 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') select,insert,update,references NEVER NULL
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 NEVER NULL
-def mysql tables_priv User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI select,insert,update,references NEVER NULL
+def mysql tables_priv User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI select,insert,update,references NEVER NULL
def mysql table_stats cardinality 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select,insert,update,references NEVER NULL
-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 NEVER NULL
-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 NEVER NULL
+def mysql table_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
+def mysql table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI select,insert,update,references NEVER NULL
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 NEVER NULL
-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 NEVER NULL
+def mysql time_zone Use_leap_seconds 2 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('Y','N') select,insert,update,references NEVER NULL
def mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) PRI select,insert,update,references NEVER NULL
-def mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references NEVER NULL
+def mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI select,insert,update,references NEVER NULL
def mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references NEVER NULL
def mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references NEVER NULL
def mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) PRI select,insert,update,references NEVER NULL
def mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references NEVER NULL
-def mysql time_zone_transition_type Abbreviation 5 '' NO char 8 24 NULL NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references NEVER NULL
+def mysql time_zone_transition_type Abbreviation 5 '' NO char 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(8) select,insert,update,references NEVER NULL
def mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(3) unsigned select,insert,update,references NEVER NULL
def mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references NEVER NULL
def mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI select,insert,update,references NEVER NULL
@@ -207,7 +207,7 @@ def mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 1
def mysql transaction_registry begin_timestamp 3 '0000-00-00 00:00:00.000000' NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) MUL select,insert,update,references NEVER NULL
def mysql transaction_registry commit_id 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned UNI select,insert,update,references NEVER NULL
def mysql transaction_registry commit_timestamp 4 '0000-00-00 00:00:00.000000' NO timestamp NULL NULL NULL NULL 6 NULL NULL timestamp(6) MUL select,insert,update,references NEVER NULL
-def mysql transaction_registry isolation_level 5 NULL NO enum 16 48 NULL NULL NULL utf8 utf8_bin enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') select,insert,update,references NEVER NULL
+def mysql transaction_registry isolation_level 5 NULL NO enum 16 48 NULL NULL NULL utf8mb3 utf8mb3_bin enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') select,insert,update,references NEVER NULL
def mysql transaction_registry transaction_id 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned PRI select,insert,update,references NEVER NULL
def mysql user Alter_priv 17 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user Alter_routine_priv 28 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
@@ -226,7 +226,7 @@ def mysql user Event_priv 30 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_s
def mysql user Execute_priv 22 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user File_priv 13 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user Grant_priv 14 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
-def mysql user Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references NEVER NULL
+def mysql user Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references NEVER NULL
def mysql user Index_priv 16 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user Insert_priv 5 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user is_role 45 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
@@ -253,7 +253,7 @@ def mysql user ssl_type 34 NULL YES varchar 9 9 NULL NULL NULL latin1 latin1_swe
def mysql user Super_priv 19 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user Trigger_priv 31 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
def mysql user Update_priv 6 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) select,insert,update,references NEVER NULL
-def mysql user User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) select,insert,update,references NEVER NULL
+def mysql user User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references NEVER NULL
def mysql user x509_issuer 36 '' NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb4 utf8mb4_bin longtext select,insert,update,references NEVER NULL
def mysql user x509_subject 37 '' NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb4 utf8mb4_bin longtext select,insert,update,references NEVER NULL
##########################################################################
@@ -274,9 +274,9 @@ COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
1.0000 varbinary NULL NULL
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
+1.0000 text utf8mb3 utf8mb3_bin
+1.0000 mediumtext utf8mb3 utf8mb3_general_ci
+1.0000 text utf8mb3 utf8mb3_general_ci
1.0000 longtext utf8mb4 utf8mb4_bin
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
@@ -288,13 +288,13 @@ WHERE table_schema = 'mysql'
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
-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
+3.0000 char utf8mb3 utf8mb3_bin
+3.0000 enum utf8mb3 utf8mb3_bin
+3.0000 varchar utf8mb3 utf8mb3_bin
+3.0000 char utf8mb3 utf8mb3_general_ci
+3.0000 enum utf8mb3 utf8mb3_general_ci
+3.0000 set utf8mb3 utf8mb3_general_ci
+3.0000 varchar utf8mb3 utf8mb3_general_ci
SELECT DISTINCT
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
DATA_TYPE,
@@ -329,199 +329,199 @@ FROM information_schema.columns
WHERE table_schema = 'mysql'
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 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)
+3.0000 mysql columns_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql columns_priv Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql columns_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql columns_priv Table_name char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql columns_priv Column_name char 64 192 utf8mb3 utf8mb3_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)
+3.0000 mysql columns_priv Column_priv set 31 93 utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References')
+3.0000 mysql column_stats db_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql column_stats table_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql column_stats column_name varchar 64 192 utf8mb3 utf8mb3_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')
+3.0000 mysql column_stats hist_type enum 14 42 utf8mb3 utf8mb3_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 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')
-3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Delete_history_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-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)
+3.0000 mysql db Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql db Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql db User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql db Select_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Insert_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Update_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Delete_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Drop_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Grant_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db References_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Index_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Alter_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Lock_tables_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_view_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Show_view_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_routine_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Alter_routine_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Execute_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Event_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Trigger_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Delete_history_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql event db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql event name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 141 423 utf8 utf8_bin char(141)
+3.0000 mysql event definer varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
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')
+3.0000 mysql event interval_field enum 18 54 utf8mb3 utf8mb3_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')
NULL mysql event created timestamp NULL NULL NULL NULL timestamp
NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
NULL mysql event starts datetime NULL NULL NULL NULL datetime
NULL mysql event ends datetime NULL NULL NULL NULL datetime
-3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
-3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
-3.0000 mysql event sql_mode set 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
-3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql event status enum 18 54 utf8mb3 utf8mb3_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
+3.0000 mysql event on_completion enum 8 24 utf8mb3 utf8mb3_general_ci enum('DROP','PRESERVE')
+3.0000 mysql event sql_mode set 561 1683 utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
+3.0000 mysql event comment char 64 192 utf8mb3 utf8mb3_bin char(64)
NULL mysql event originator int NULL NULL NULL NULL int(10) unsigned
1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
-3.0000 mysql event character_set_client char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql event collation_connection char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql event db_collation char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql event character_set_client char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql event collation_connection char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql event db_collation char 32 96 utf8mb3 utf8mb3_bin char(32)
1.0000 mysql event body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql func name char 64 192 utf8mb3 utf8mb3_bin char(64)
NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
+3.0000 mysql func dl char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql func type enum 9 27 utf8mb3 utf8mb3_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
+1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8mb3 utf8mb3_general_ci mediumtext
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
-3.0000 mysql global_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql global_priv User char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql general_log command_type varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8mb3 utf8mb3_general_ci mediumtext
+3.0000 mysql global_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql global_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
1.0000 mysql global_priv Priv longtext 4294967295 4294967295 utf8mb4 utf8mb4_bin longtext
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)
+3.0000 mysql help_category name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_category url text 65535 65535 utf8 utf8_general_ci text
+1.0000 mysql help_category url text 65535 65535 utf8mb3 utf8mb3_general_ci text
NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql help_keyword name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql help_topic name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic url text 65535 65535 utf8 utf8_general_ci text
-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)
+1.0000 mysql help_topic description text 65535 65535 utf8mb3 utf8mb3_general_ci text
+1.0000 mysql help_topic example text 65535 65535 utf8mb3 utf8mb3_general_ci text
+1.0000 mysql help_topic url text 65535 65535 utf8mb3 utf8mb3_general_ci text
+3.0000 mysql index_stats db_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql index_stats table_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql index_stats index_name varchar 64 192 utf8mb3 utf8mb3_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 199 597 utf8 utf8_bin varchar(199)
-3.0000 mysql innodb_index_stats index_name varchar 64 192 utf8 utf8_bin varchar(64)
+3.0000 mysql innodb_index_stats database_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql innodb_index_stats table_name varchar 199 597 utf8mb3 utf8mb3_bin varchar(199)
+3.0000 mysql innodb_index_stats index_name varchar 64 192 utf8mb3 utf8mb3_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)
+3.0000 mysql innodb_index_stats stat_name varchar 64 192 utf8mb3 utf8mb3_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 199 597 utf8 utf8_bin varchar(199)
+3.0000 mysql innodb_index_stats stat_description varchar 1024 3072 utf8mb3 utf8mb3_bin varchar(1024)
+3.0000 mysql innodb_table_stats database_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql innodb_table_stats table_name varchar 199 597 utf8mb3 utf8mb3_bin varchar(199)
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)
-3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc type enum 12 36 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
-3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
-3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
-3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
-3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
+3.0000 mysql plugin name varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 mysql plugin dl varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 mysql proc db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql proc name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql proc type enum 12 36 utf8mb3 utf8mb3_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
+3.0000 mysql proc specific_name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql proc language enum 3 9 utf8mb3 utf8mb3_general_ci enum('SQL')
+3.0000 mysql proc sql_data_access enum 17 51 utf8mb3 utf8mb3_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
+3.0000 mysql proc is_deterministic enum 3 9 utf8mb3 utf8mb3_general_ci enum('YES','NO')
+3.0000 mysql proc security_type enum 7 21 utf8mb3 utf8mb3_general_ci enum('INVOKER','DEFINER')
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 141 423 utf8 utf8_bin char(141)
+3.0000 mysql proc definer varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
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 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
-1.0000 mysql proc comment text 65535 65535 utf8 utf8_bin text
-3.0000 mysql proc character_set_client char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql proc collation_connection char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql proc db_collation char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql proc sql_mode set 561 1683 utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
+1.0000 mysql proc comment text 65535 65535 utf8mb3 utf8mb3_bin text
+3.0000 mysql proc character_set_client char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql proc collation_connection char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql proc db_collation char 32 96 utf8mb3 utf8mb3_bin char(32)
1.0000 mysql proc body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc aggregate enum 5 15 utf8 utf8_general_ci enum('NONE','GROUP')
-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 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 12 36 utf8 utf8_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
-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')
+3.0000 mysql proc aggregate enum 5 15 utf8mb3 utf8mb3_general_ci enum('NONE','GROUP')
+3.0000 mysql procs_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql procs_priv Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql procs_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql procs_priv Routine_name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql procs_priv Routine_type enum 12 36 utf8mb3 utf8mb3_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
+3.0000 mysql procs_priv Grantor varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
+3.0000 mysql procs_priv Proc_priv set 27 81 utf8mb3 utf8mb3_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 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 80 240 utf8 utf8_bin char(80)
+3.0000 mysql proxies_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql proxies_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql proxies_priv Proxied_host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql proxies_priv Proxied_user char 128 384 utf8mb3 utf8mb3_bin char(128)
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql proxies_priv Grantor char 141 423 utf8 utf8_bin char(141)
+3.0000 mysql proxies_priv Grantor varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
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 varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
-3.0000 mysql servers Db 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)
+3.0000 mysql roles_mapping Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql roles_mapping User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql roles_mapping Role char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql roles_mapping Admin_option enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql servers Server_name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Host varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 mysql servers Db char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Username char 128 384 utf8mb3 utf8mb3_general_ci char(128)
+3.0000 mysql servers Password char 64 192 utf8mb3 utf8mb3_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)
-3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Owner varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 mysql servers Socket char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Wrapper char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Owner varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp(6)
-1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8mb3 utf8mb3_general_ci mediumtext
NULL mysql slow_log query_time time NULL NULL NULL NULL time(6)
NULL mysql slow_log lock_time time NULL NULL NULL NULL time(6)
NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
-3.0000 mysql slow_log db varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 mysql slow_log db varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
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
+1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8mb3 utf8mb3_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 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 141 423 utf8 utf8_bin char(141)
+3.0000 mysql tables_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql tables_priv Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql tables_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql tables_priv Table_name char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql tables_priv Grantor varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql tables_priv Table_priv set 121 363 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows')
-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)
+3.0000 mysql tables_priv Table_priv set 121 363 utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows')
+3.0000 mysql tables_priv Column_priv set 31 93 utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References')
+3.0000 mysql table_stats db_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql table_stats table_name varchar 64 192 utf8mb3 utf8mb3_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')
+3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8mb3 utf8mb3_general_ci enum('Y','N')
NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
-3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql time_zone_name Name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
@@ -530,14 +530,14 @@ NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10
NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
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 time_zone_transition_type Abbreviation char 8 24 utf8mb3 utf8mb3_general_ci char(8)
NULL mysql transaction_registry transaction_id bigint NULL NULL NULL NULL bigint(20) unsigned
NULL mysql transaction_registry commit_id bigint NULL NULL NULL NULL bigint(20) unsigned
NULL mysql transaction_registry begin_timestamp timestamp NULL NULL NULL NULL timestamp(6)
NULL mysql transaction_registry commit_timestamp timestamp NULL NULL NULL NULL timestamp(6)
-3.0000 mysql transaction_registry isolation_level enum 16 48 utf8 utf8_bin enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE')
-3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql user User char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql transaction_registry isolation_level enum 16 48 utf8mb3 utf8mb3_bin enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE')
+3.0000 mysql user Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql user User char 128 384 utf8mb3 utf8mb3_bin char(128)
1.0000 mysql user Password longtext 4294967295 4294967295 utf8mb4 utf8mb4_bin longtext
1.0000 mysql user Select_priv varchar 1 1 latin1 latin1_swedish_ci varchar(1)
1.0000 mysql user Insert_priv varchar 1 1 latin1 latin1_swedish_ci varchar(1)
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 0a375faf072..1a794c2828d 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
@@ -2,157 +2,157 @@ SELECT * FROM information_schema.columns
WHERE table_schema = 'mysql'
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 IS_GENERATED GENERATION_EXPRESSION
-def mysql columns_priv Column_name 5 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql columns_priv Column_priv 7 '' NO set 31 93 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') NEVER NULL
-def mysql columns_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql columns_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql columns_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
+def mysql columns_priv Column_name 5 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql columns_priv Column_priv 7 '' NO set 31 93 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References') NEVER NULL
+def mysql columns_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql columns_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql columns_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
def mysql columns_priv Timestamp 6 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL
-def mysql columns_priv User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
+def mysql columns_priv User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
def mysql column_stats avg_frequency 8 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) NEVER NULL
def mysql column_stats avg_length 7 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) NEVER NULL
-def mysql column_stats column_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
-def mysql column_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
+def mysql column_stats column_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
+def mysql column_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
def mysql column_stats histogram 11 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) NEVER NULL
def mysql column_stats hist_size 9 NULL YES tinyint NULL NULL 3 0 NULL NULL NULL tinyint(3) unsigned NEVER NULL
-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') NEVER NULL
+def mysql column_stats hist_type 10 NULL YES enum 14 42 NULL NULL NULL utf8mb3 utf8mb3_bin enum('SINGLE_PREC_HB','DOUBLE_PREC_HB') NEVER NULL
def mysql column_stats max_value 5 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) NEVER NULL
def mysql column_stats min_value 4 NULL YES varbinary 255 255 NULL NULL NULL NULL NULL varbinary(255) NEVER NULL
def mysql column_stats nulls_ratio 6 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) NEVER NULL
-def mysql column_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
-def mysql db Alter_priv 13 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Alter_routine_priv 19 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Create_priv 8 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Create_routine_priv 18 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Create_tmp_table_priv 14 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Create_view_priv 16 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql db Delete_history_priv 23 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Delete_priv 7 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Drop_priv 9 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Event_priv 21 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Execute_priv 20 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Grant_priv 10 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql db Index_priv 12 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Insert_priv 5 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Lock_tables_priv 15 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db References_priv 11 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Select_priv 4 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Show_view_priv 17 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Trigger_priv 22 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db Update_priv 6 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql db User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
+def mysql column_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
+def mysql db Alter_priv 13 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Alter_routine_priv 19 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Create_priv 8 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Create_routine_priv 18 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Create_tmp_table_priv 14 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Create_view_priv 16 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql db Delete_history_priv 23 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Delete_priv 7 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Drop_priv 9 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Event_priv 21 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Execute_priv 20 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Grant_priv 10 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql db Index_priv 12 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Insert_priv 5 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Lock_tables_priv 15 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db References_priv 11 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Select_priv 4 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Show_view_priv 17 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Trigger_priv 22 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db Update_priv 6 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql db User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
def mysql event body 3 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob NEVER NULL
def mysql event body_utf8 22 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob NEVER NULL
-def mysql event character_set_client 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) NEVER NULL
-def mysql event collation_connection 20 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) NEVER NULL
-def mysql event comment 16 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) NEVER NULL
+def mysql event character_set_client 19 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) NEVER NULL
+def mysql event collation_connection 20 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) NEVER NULL
+def mysql event comment 16 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) NEVER NULL
def mysql event created 8 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL
-def mysql event db 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql event db_collation 21 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) NEVER NULL
-def mysql event definer 4 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) NEVER NULL
+def mysql event db 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql event db_collation 21 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) NEVER NULL
+def mysql event definer 4 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) NEVER NULL
def mysql event ends 12 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def mysql event execute_at 5 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-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') NEVER NULL
+def mysql event interval_field 7 NULL YES enum 18 54 NULL NULL NULL utf8mb3 utf8mb3_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') NEVER NULL
def mysql event interval_value 6 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql event last_executed 10 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
def mysql event modified 9 '0000-00-00 00:00:00' NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp NEVER NULL
-def mysql event name 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI NEVER NULL
-def mysql event on_completion 14 'DROP' NO enum 8 24 NULL NULL NULL utf8 utf8_general_ci enum('DROP','PRESERVE') NEVER NULL
+def mysql event name 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI NEVER NULL
+def mysql event on_completion 14 'DROP' NO enum 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('DROP','PRESERVE') NEVER NULL
def mysql event originator 17 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned NEVER NULL
-def mysql event sql_mode 15 '' NO set 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NEVER NULL
+def mysql event sql_mode 15 '' NO set 561 1683 NULL NULL NULL utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NEVER NULL
def mysql event starts 11 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime NEVER NULL
-def mysql event status 13 'ENABLED' NO enum 18 54 NULL NULL NULL utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NEVER NULL
+def mysql event status 13 'ENABLED' NO enum 18 54 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NEVER NULL
def mysql event time_zone 18 'SYSTEM' NO char 64 64 NULL NULL NULL latin1 latin1_swedish_ci char(64) NEVER NULL
-def mysql func dl 3 '' NO char 128 384 NULL NULL NULL utf8 utf8_bin char(128) NEVER NULL
-def mysql func name 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
+def mysql func dl 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) NEVER NULL
+def mysql func name 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
def mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) NEVER NULL
-def mysql func type 4 NULL NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('function','aggregate') NEVER NULL
-def mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext NEVER NULL
-def mysql general_log command_type 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) NEVER NULL
+def mysql func type 4 NULL NO enum 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('function','aggregate') NEVER NULL
+def mysql general_log argument 6 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext NEVER NULL
+def mysql general_log command_type 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) NEVER NULL
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(6) NEVER NULL
def mysql general_log server_id 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned NEVER NULL
def mysql general_log thread_id 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext NEVER NULL
-def mysql global_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
+def mysql general_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext NEVER NULL
+def mysql global_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
def mysql global_priv Priv 3 '{}' NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb4 utf8mb4_bin longtext NEVER NULL
-def mysql global_priv User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
+def mysql global_priv User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
def mysql gtid_slave_pos domain_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
def mysql gtid_slave_pos seq_no 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned NEVER NULL
def mysql gtid_slave_pos server_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned NEVER NULL
def mysql gtid_slave_pos sub_id 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned PRI NEVER NULL
def mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned PRI NEVER NULL
-def mysql help_category name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI NEVER NULL
+def mysql help_category name 2 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) UNI NEVER NULL
def mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned NEVER NULL
-def mysql help_category url 4 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text NEVER NULL
+def mysql help_category url 4 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text NEVER NULL
def mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
-def mysql help_keyword name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI NEVER NULL
+def mysql help_keyword name 2 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) UNI NEVER NULL
def mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
def mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
-def mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text NEVER NULL
-def mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text NEVER NULL
+def mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text NEVER NULL
+def mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text NEVER NULL
def mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL NULL smallint(5) unsigned NEVER NULL
def mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
-def mysql help_topic name 2 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) UNI NEVER NULL
-def mysql help_topic url 6 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text NEVER NULL
+def mysql help_topic name 2 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) UNI NEVER NULL
+def mysql help_topic url 6 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_general_ci text NEVER NULL
def mysql index_stats avg_frequency 5 NULL YES decimal NULL NULL 12 4 NULL NULL NULL decimal(12,4) NEVER NULL
-def mysql index_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
-def mysql index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
+def mysql index_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
+def mysql index_stats index_name 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
def mysql index_stats prefix_arity 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned PRI NEVER NULL
-def mysql index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
-def mysql plugin dl 2 '' NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) NEVER NULL
-def mysql plugin name 1 '' NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) PRI NEVER NULL
-def mysql proc aggregate 21 'NONE' NO enum 5 15 NULL NULL NULL utf8 utf8_general_ci enum('NONE','GROUP') NEVER NULL
+def mysql index_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
+def mysql plugin dl 2 '' NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) NEVER NULL
+def mysql plugin name 1 '' NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) PRI NEVER NULL
+def mysql proc aggregate 21 'NONE' NO enum 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('NONE','GROUP') NEVER NULL
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob NEVER NULL
def mysql proc body_utf8 20 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob NEVER NULL
-def mysql proc character_set_client 17 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) NEVER NULL
-def mysql proc collation_connection 18 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) NEVER NULL
-def mysql proc comment 16 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_bin text NEVER NULL
+def mysql proc character_set_client 17 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) NEVER NULL
+def mysql proc collation_connection 18 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) NEVER NULL
+def mysql proc comment 16 NULL NO text 65535 65535 NULL NULL NULL utf8mb3 utf8mb3_bin text NEVER NULL
def mysql proc created 13 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL
-def mysql proc db 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql proc db_collation 19 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) NEVER NULL
-def mysql proc definer 12 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) NEVER NULL
-def mysql proc is_deterministic 7 'NO' NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') NEVER NULL
-def mysql proc language 5 'SQL' NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('SQL') NEVER NULL
+def mysql proc db 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql proc db_collation 19 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) NEVER NULL
+def mysql proc definer 12 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) NEVER NULL
+def mysql proc is_deterministic 7 'NO' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') NEVER NULL
+def mysql proc language 5 'SQL' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('SQL') NEVER NULL
def mysql proc modified 14 '0000-00-00 00:00:00' NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp NEVER NULL
-def mysql proc name 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI NEVER NULL
+def mysql proc name 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI NEVER NULL
def mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL NULL blob NEVER NULL
def mysql proc returns 10 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob NEVER NULL
-def mysql proc security_type 8 'DEFINER' NO enum 7 21 NULL NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') NEVER NULL
-def mysql proc specific_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) NEVER NULL
-def mysql proc sql_data_access 6 'CONTAINS_SQL' NO enum 17 51 NULL NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NEVER NULL
-def mysql proc sql_mode 15 '' NO set 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NEVER NULL
-def mysql proc type 3 NULL NO enum 12 36 NULL NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI NEVER NULL
-def mysql procs_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql procs_priv Grantor 6 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL NEVER NULL
-def mysql procs_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql procs_priv Proc_priv 7 '' NO set 27 81 NULL NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') NEVER NULL
-def mysql procs_priv Routine_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI NEVER NULL
-def mysql procs_priv Routine_type 5 NULL NO enum 12 36 NULL NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI NEVER NULL
+def mysql proc security_type 8 'DEFINER' NO enum 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('INVOKER','DEFINER') NEVER NULL
+def mysql proc specific_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) NEVER NULL
+def mysql proc sql_data_access 6 'CONTAINS_SQL' NO enum 17 51 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NEVER NULL
+def mysql proc sql_mode 15 '' NO set 561 1683 NULL NULL NULL utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL') NEVER NULL
+def mysql proc type 3 NULL NO enum 12 36 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI NEVER NULL
+def mysql procs_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql procs_priv Grantor 6 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) MUL NEVER NULL
+def mysql procs_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql procs_priv Proc_priv 7 '' NO set 27 81 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Execute','Alter Routine','Grant') NEVER NULL
+def mysql procs_priv Routine_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI NEVER NULL
+def mysql procs_priv Routine_type 5 NULL NO enum 12 36 NULL NULL NULL utf8mb3 utf8mb3_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') PRI NEVER NULL
def mysql procs_priv Timestamp 8 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL
-def mysql procs_priv User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
-def mysql proxies_priv Grantor 6 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL NEVER NULL
-def mysql proxies_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql proxies_priv Proxied_host 3 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql proxies_priv Proxied_user 4 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
+def mysql procs_priv User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
+def mysql proxies_priv Grantor 6 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) MUL NEVER NULL
+def mysql proxies_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql proxies_priv Proxied_host 3 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql proxies_priv Proxied_user 4 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
def mysql proxies_priv Timestamp 7 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL
-def mysql proxies_priv User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
+def mysql proxies_priv User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) NEVER NULL
-def mysql roles_mapping Admin_option 4 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') NEVER NULL
-def mysql roles_mapping Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql roles_mapping Role 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
-def mysql roles_mapping User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
-def mysql servers Db 3 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) NEVER NULL
-def mysql servers Host 2 '' NO varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) NEVER NULL
-def mysql servers Owner 9 '' NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
-def mysql servers Password 5 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) NEVER NULL
+def mysql roles_mapping Admin_option 4 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('N','Y') NEVER NULL
+def mysql roles_mapping Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql roles_mapping Role 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
+def mysql roles_mapping User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
+def mysql servers Db 3 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) NEVER NULL
+def mysql servers Host 2 '' NO varchar 2048 6144 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(2048) NEVER NULL
+def mysql servers Owner 9 '' NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
+def mysql servers Password 5 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) NEVER NULL
def mysql servers Port 6 0 NO int NULL NULL 10 0 NULL NULL NULL int(4) NEVER NULL
-def mysql servers Server_name 1 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI NEVER NULL
-def mysql servers Socket 7 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) NEVER NULL
-def mysql servers Username 4 '' NO char 80 240 NULL NULL NULL utf8 utf8_general_ci char(80) NEVER NULL
-def mysql servers Wrapper 8 '' NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) NEVER NULL
-def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) NEVER NULL
+def mysql servers Server_name 1 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI NEVER NULL
+def mysql servers Socket 7 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) NEVER NULL
+def mysql servers Username 4 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(128) NEVER NULL
+def mysql servers Wrapper 8 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) NEVER NULL
+def mysql slow_log db 7 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) NEVER NULL
def mysql slow_log insert_id 9 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql slow_log last_insert_id 8 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql slow_log lock_time 4 NULL NO time NULL NULL NULL NULL 6 NULL NULL time(6) NEVER NULL
@@ -161,31 +161,31 @@ def mysql slow_log rows_affected 13 NULL NO int NULL NULL 10 0 NULL NULL NULL in
def mysql slow_log rows_examined 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql slow_log rows_sent 5 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql slow_log server_id 10 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned NEVER NULL
-def mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext NEVER NULL
+def mysql slow_log sql_text 11 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext NEVER NULL
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(6) NEVER NULL
def mysql slow_log thread_id 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8 utf8_general_ci mediumtext NEVER NULL
-def mysql tables_priv Column_priv 8 '' NO set 31 93 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') NEVER NULL
-def mysql tables_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql tables_priv Grantor 5 '' NO char 141 423 NULL NULL NULL utf8 utf8_bin char(141) MUL NEVER NULL
-def mysql tables_priv Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI NEVER NULL
-def mysql tables_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) PRI NEVER NULL
-def mysql tables_priv Table_priv 7 '' NO set 121 363 NULL NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') NEVER NULL
+def mysql slow_log user_host 2 NULL NO mediumtext 16777215 16777215 NULL NULL NULL utf8mb3 utf8mb3_general_ci mediumtext NEVER NULL
+def mysql tables_priv Column_priv 8 '' NO set 31 93 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References') NEVER NULL
+def mysql tables_priv Db 2 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql tables_priv Grantor 5 '' NO varchar 384 1152 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(384) MUL NEVER NULL
+def mysql tables_priv Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) PRI NEVER NULL
+def mysql tables_priv Table_name 4 '' NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin char(64) PRI NEVER NULL
+def mysql tables_priv Table_priv 7 '' NO set 121 363 NULL NULL NULL utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows') NEVER NULL
def mysql tables_priv Timestamp 6 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() NEVER NULL
-def mysql tables_priv User 3 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) PRI NEVER NULL
+def mysql tables_priv User 3 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) PRI NEVER NULL
def mysql table_stats cardinality 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned NEVER NULL
-def mysql table_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
-def mysql table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_bin varchar(64) PRI NEVER NULL
+def mysql table_stats db_name 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
+def mysql table_stats table_name 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(64) PRI NEVER NULL
def mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI auto_increment NEVER NULL
-def mysql time_zone Use_leap_seconds 2 'N' NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('Y','N') NEVER NULL
+def mysql time_zone Use_leap_seconds 2 'N' NO enum 1 3 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('Y','N') NEVER NULL
def mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) PRI NEVER NULL
-def mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) PRI NEVER NULL
+def mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(64) PRI NEVER NULL
def mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned NEVER NULL
def mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
def mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) PRI NEVER NULL
def mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned NEVER NULL
-def mysql time_zone_transition_type Abbreviation 5 '' NO char 8 24 NULL NULL NULL utf8 utf8_general_ci char(8) NEVER NULL
+def mysql time_zone_transition_type Abbreviation 5 '' NO char 8 24 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(8) NEVER NULL
def mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(3) unsigned NEVER NULL
def mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) NEVER NULL
def mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned PRI NEVER NULL
@@ -207,7 +207,7 @@ def mysql user Event_priv 30 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_s
def mysql user Execute_priv 22 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
def mysql user File_priv 13 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
def mysql user Grant_priv 14 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
-def mysql user Host 1 '' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) NEVER NULL
+def mysql user Host 1 '' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) NEVER NULL
def mysql user Index_priv 16 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
def mysql user Insert_priv 5 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
def mysql user is_role 45 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
@@ -234,7 +234,7 @@ def mysql user ssl_type 34 NULL YES varchar 9 9 NULL NULL NULL latin1 latin1_swe
def mysql user Super_priv 19 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
def mysql user Trigger_priv 31 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
def mysql user Update_priv 6 NULL YES varchar 1 1 NULL NULL NULL latin1 latin1_swedish_ci varchar(1) NEVER NULL
-def mysql user User 2 '' NO char 80 240 NULL NULL NULL utf8 utf8_bin char(80) NEVER NULL
+def mysql user User 2 '' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) NEVER NULL
def mysql user x509_issuer 36 '' NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb4 utf8mb4_bin longtext NEVER NULL
def mysql user x509_subject 37 '' NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb4 utf8mb4_bin longtext NEVER NULL
Warnings:
@@ -259,9 +259,9 @@ COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
1.0000 varbinary NULL NULL
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
+1.0000 text utf8mb3 utf8mb3_bin
+1.0000 mediumtext utf8mb3 utf8mb3_general_ci
+1.0000 text utf8mb3 utf8mb3_general_ci
1.0000 longtext utf8mb4 utf8mb4_bin
Warnings:
Warning 1286 Unknown storage engine 'InnoDB'
@@ -277,13 +277,13 @@ WHERE table_schema = 'mysql'
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
-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
+3.0000 char utf8mb3 utf8mb3_bin
+3.0000 enum utf8mb3 utf8mb3_bin
+3.0000 varchar utf8mb3 utf8mb3_bin
+3.0000 char utf8mb3 utf8mb3_general_ci
+3.0000 enum utf8mb3 utf8mb3_general_ci
+3.0000 set utf8mb3 utf8mb3_general_ci
+3.0000 varchar utf8mb3 utf8mb3_general_ci
Warnings:
Warning 1286 Unknown storage engine 'InnoDB'
Warning 1286 Unknown storage engine 'InnoDB'
@@ -326,185 +326,185 @@ FROM information_schema.columns
WHERE table_schema = 'mysql'
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 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)
+3.0000 mysql columns_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql columns_priv Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql columns_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql columns_priv Table_name char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql columns_priv Column_name char 64 192 utf8mb3 utf8mb3_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)
+3.0000 mysql columns_priv Column_priv set 31 93 utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References')
+3.0000 mysql column_stats db_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql column_stats table_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql column_stats column_name varchar 64 192 utf8mb3 utf8mb3_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')
+3.0000 mysql column_stats hist_type enum 14 42 utf8mb3 utf8mb3_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 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')
-3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Event_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Trigger_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-3.0000 mysql db Delete_history_priv enum 1 3 utf8 utf8_general_ci enum('N','Y')
-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)
+3.0000 mysql db Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql db Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql db User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql db Select_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Insert_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Update_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Delete_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Drop_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Grant_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db References_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Index_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Alter_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Lock_tables_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_view_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Show_view_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Create_routine_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Alter_routine_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Execute_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Event_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Trigger_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql db Delete_history_priv enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql event db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql event name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
1.0000 mysql event body longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql event definer char 141 423 utf8 utf8_bin char(141)
+3.0000 mysql event definer varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
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')
+3.0000 mysql event interval_field enum 18 54 utf8mb3 utf8mb3_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')
NULL mysql event created timestamp NULL NULL NULL NULL timestamp
NULL mysql event modified timestamp NULL NULL NULL NULL timestamp
NULL mysql event last_executed datetime NULL NULL NULL NULL datetime
NULL mysql event starts datetime NULL NULL NULL NULL datetime
NULL mysql event ends datetime NULL NULL NULL NULL datetime
-3.0000 mysql event status enum 18 54 utf8 utf8_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
-3.0000 mysql event on_completion enum 8 24 utf8 utf8_general_ci enum('DROP','PRESERVE')
-3.0000 mysql event sql_mode set 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
-3.0000 mysql event comment char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql event status enum 18 54 utf8mb3 utf8mb3_general_ci enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
+3.0000 mysql event on_completion enum 8 24 utf8mb3 utf8mb3_general_ci enum('DROP','PRESERVE')
+3.0000 mysql event sql_mode set 561 1683 utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
+3.0000 mysql event comment char 64 192 utf8mb3 utf8mb3_bin char(64)
NULL mysql event originator int NULL NULL NULL NULL int(10) unsigned
1.0000 mysql event time_zone char 64 64 latin1 latin1_swedish_ci char(64)
-3.0000 mysql event character_set_client char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql event collation_connection char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql event db_collation char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql event character_set_client char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql event collation_connection char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql event db_collation char 32 96 utf8mb3 utf8mb3_bin char(32)
1.0000 mysql event body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql func name char 64 192 utf8 utf8_bin char(64)
+3.0000 mysql func name char 64 192 utf8mb3 utf8mb3_bin char(64)
NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128)
-3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate')
+3.0000 mysql func dl char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql func type enum 9 27 utf8mb3 utf8mb3_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
+1.0000 mysql general_log user_host mediumtext 16777215 16777215 utf8mb3 utf8mb3_general_ci mediumtext
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
-3.0000 mysql global_priv Host char 60 180 utf8 utf8_bin char(60)
-3.0000 mysql global_priv User char 80 240 utf8 utf8_bin char(80)
+3.0000 mysql general_log command_type varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+1.0000 mysql general_log argument mediumtext 16777215 16777215 utf8mb3 utf8mb3_general_ci mediumtext
+3.0000 mysql global_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql global_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
1.0000 mysql global_priv Priv longtext 4294967295 4294967295 utf8mb4 utf8mb4_bin longtext
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)
+3.0000 mysql help_category name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_category url text 65535 65535 utf8 utf8_general_ci text
+1.0000 mysql help_category url text 65535 65535 utf8mb3 utf8mb3_general_ci text
NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql help_keyword name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned
-3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql help_topic name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned
-1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text
-1.0000 mysql help_topic url text 65535 65535 utf8 utf8_general_ci text
-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)
+1.0000 mysql help_topic description text 65535 65535 utf8mb3 utf8mb3_general_ci text
+1.0000 mysql help_topic example text 65535 65535 utf8mb3 utf8mb3_general_ci text
+1.0000 mysql help_topic url text 65535 65535 utf8mb3 utf8mb3_general_ci text
+3.0000 mysql index_stats db_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql index_stats table_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql index_stats index_name varchar 64 192 utf8mb3 utf8mb3_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)
-3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc type enum 12 36 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
-3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL')
-3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
-3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO')
-3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER')
+3.0000 mysql plugin name varchar 64 192 utf8mb3 utf8mb3_general_ci varchar(64)
+3.0000 mysql plugin dl varchar 128 384 utf8mb3 utf8mb3_general_ci varchar(128)
+3.0000 mysql proc db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql proc name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql proc type enum 12 36 utf8mb3 utf8mb3_general_ci enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
+3.0000 mysql proc specific_name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql proc language enum 3 9 utf8mb3 utf8mb3_general_ci enum('SQL')
+3.0000 mysql proc sql_data_access enum 17 51 utf8mb3 utf8mb3_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
+3.0000 mysql proc is_deterministic enum 3 9 utf8mb3 utf8mb3_general_ci enum('YES','NO')
+3.0000 mysql proc security_type enum 7 21 utf8mb3 utf8mb3_general_ci enum('INVOKER','DEFINER')
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 141 423 utf8 utf8_bin char(141)
+3.0000 mysql proc definer varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
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 561 1683 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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
-1.0000 mysql proc comment text 65535 65535 utf8 utf8_bin text
-3.0000 mysql proc character_set_client char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql proc collation_connection char 32 96 utf8 utf8_bin char(32)
-3.0000 mysql proc db_collation char 32 96 utf8 utf8_bin char(32)
+3.0000 mysql proc sql_mode set 561 1683 utf8mb3 utf8mb3_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','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT','TIME_ROUND_FRACTIONAL')
+1.0000 mysql proc comment text 65535 65535 utf8mb3 utf8mb3_bin text
+3.0000 mysql proc character_set_client char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql proc collation_connection char 32 96 utf8mb3 utf8mb3_bin char(32)
+3.0000 mysql proc db_collation char 32 96 utf8mb3 utf8mb3_bin char(32)
1.0000 mysql proc body_utf8 longblob 4294967295 4294967295 NULL NULL longblob
-3.0000 mysql proc aggregate enum 5 15 utf8 utf8_general_ci enum('NONE','GROUP')
-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 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 12 36 utf8 utf8_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
-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')
+3.0000 mysql proc aggregate enum 5 15 utf8mb3 utf8mb3_general_ci enum('NONE','GROUP')
+3.0000 mysql procs_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql procs_priv Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql procs_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql procs_priv Routine_name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql procs_priv Routine_type enum 12 36 utf8mb3 utf8mb3_bin enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY')
+3.0000 mysql procs_priv Grantor varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
+3.0000 mysql procs_priv Proc_priv set 27 81 utf8mb3 utf8mb3_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 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 80 240 utf8 utf8_bin char(80)
+3.0000 mysql proxies_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql proxies_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql proxies_priv Proxied_host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql proxies_priv Proxied_user char 128 384 utf8mb3 utf8mb3_bin char(128)
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
-3.0000 mysql proxies_priv Grantor char 141 423 utf8 utf8_bin char(141)
+3.0000 mysql proxies_priv Grantor varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
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 varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
-3.0000 mysql servers Db 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)
+3.0000 mysql roles_mapping Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql roles_mapping User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql roles_mapping Role char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql roles_mapping Admin_option enum 1 3 utf8mb3 utf8mb3_general_ci enum('N','Y')
+3.0000 mysql servers Server_name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Host varchar 2048 6144 utf8mb3 utf8mb3_general_ci varchar(2048)
+3.0000 mysql servers Db char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Username char 128 384 utf8mb3 utf8mb3_general_ci char(128)
+3.0000 mysql servers Password char 64 192 utf8mb3 utf8mb3_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)
-3.0000 mysql servers Wrapper char 64 192 utf8 utf8_general_ci char(64)
-3.0000 mysql servers Owner varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 mysql servers Socket char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Wrapper char 64 192 utf8mb3 utf8mb3_general_ci char(64)
+3.0000 mysql servers Owner varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
NULL mysql slow_log start_time timestamp NULL NULL NULL NULL timestamp(6)
-1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8 utf8_general_ci mediumtext
+1.0000 mysql slow_log user_host mediumtext 16777215 16777215 utf8mb3 utf8mb3_general_ci mediumtext
NULL mysql slow_log query_time time NULL NULL NULL NULL time(6)
NULL mysql slow_log lock_time time NULL NULL NULL NULL time(6)
NULL mysql slow_log rows_sent int NULL NULL NULL NULL int(11)
NULL mysql slow_log rows_examined int NULL NULL NULL NULL int(11)
-3.0000 mysql slow_log db varchar 512 1536 utf8 utf8_general_ci varchar(512)
+3.0000 mysql slow_log db varchar 512 1536 utf8mb3 utf8mb3_general_ci varchar(512)
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
+1.0000 mysql slow_log sql_text mediumtext 16777215 16777215 utf8mb3 utf8mb3_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 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 141 423 utf8 utf8_bin char(141)
+3.0000 mysql tables_priv Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql tables_priv Db char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql tables_priv User char 128 384 utf8mb3 utf8mb3_bin char(128)
+3.0000 mysql tables_priv Table_name char 64 192 utf8mb3 utf8mb3_bin char(64)
+3.0000 mysql tables_priv Grantor varchar 384 1152 utf8mb3 utf8mb3_bin varchar(384)
NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp
-3.0000 mysql tables_priv Table_priv set 121 363 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows')
-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)
+3.0000 mysql tables_priv Table_priv set 121 363 utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger','Delete versioning rows')
+3.0000 mysql tables_priv Column_priv set 31 93 utf8mb3 utf8mb3_general_ci set('Select','Insert','Update','References')
+3.0000 mysql table_stats db_name varchar 64 192 utf8mb3 utf8mb3_bin varchar(64)
+3.0000 mysql table_stats table_name varchar 64 192 utf8mb3 utf8mb3_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')
+3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8mb3 utf8mb3_general_ci enum('Y','N')
NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20)
NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11)
-3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64)
+3.0000 mysql time_zone_name Name char 64 192 utf8mb3 utf8mb3_general_ci char(64)
NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned
NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20)
@@ -513,9 +513,9 @@ NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10
NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned
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 80 240 utf8 utf8_bin char(80)
+3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8mb3 utf8mb3_general_ci char(8)
+3.0000 mysql user Host char 255 765 utf8mb3 utf8mb3_bin char(255)
+3.0000 mysql user User char 128 384 utf8mb3 utf8mb3_bin char(128)
1.0000 mysql user Password longtext 4294967295 4294967295 utf8mb4 utf8mb4_bin longtext
1.0000 mysql user Select_priv varchar 1 1 latin1 latin1_swedish_ci varchar(1)
1.0000 mysql user Insert_priv varchar 1 1 latin1 latin1_swedish_ci varchar(1)
diff --git a/mysql-test/suite/funcs_1/r/is_engines.result b/mysql-test/suite/funcs_1/r/is_engines.result
index 949fa93f83d..09f163a3491 100644
--- a/mysql-test/suite/funcs_1/r/is_engines.result
+++ b/mysql-test/suite/funcs_1/r/is_engines.result
@@ -43,7 +43,7 @@ ENGINES CREATE TEMPORARY TABLE `ENGINES` (
`TRANSACTIONS` varchar(3),
`XA` varchar(3),
`SAVEPOINTS` varchar(3)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.ENGINES;
Field Type Null Key Default Extra
ENGINE varchar(64) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_events.result b/mysql-test/suite/funcs_1/r/is_events.result
index 09bd4e804a1..adaa0dc6679 100644
--- a/mysql-test/suite/funcs_1/r/is_events.result
+++ b/mysql-test/suite/funcs_1/r/is_events.result
@@ -31,7 +31,7 @@ Field Type Null Key Default Extra
EVENT_CATALOG varchar(64) NO NULL
EVENT_SCHEMA varchar(64) NO NULL
EVENT_NAME varchar(64) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
TIME_ZONE varchar(64) NO NULL
EVENT_BODY varchar(8) NO NULL
EVENT_DEFINITION longtext NO NULL
@@ -58,7 +58,7 @@ EVENTS CREATE TEMPORARY TABLE `EVENTS` (
`EVENT_CATALOG` varchar(64) NOT NULL,
`EVENT_SCHEMA` varchar(64) NOT NULL,
`EVENT_NAME` varchar(64) NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`TIME_ZONE` varchar(64) NOT NULL,
`EVENT_BODY` varchar(8) NOT NULL,
`EVENT_DEFINITION` longtext NOT NULL,
@@ -79,13 +79,13 @@ EVENTS CREATE TEMPORARY TABLE `EVENTS` (
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.EVENTS;
Field Type Null Key Default Extra
EVENT_CATALOG varchar(64) NO NULL
EVENT_SCHEMA varchar(64) NO NULL
EVENT_NAME varchar(64) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
TIME_ZONE varchar(64) NO NULL
EVENT_BODY varchar(8) NO NULL
EVENT_DEFINITION longtext NO NULL
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 6b4f3712d4e..7edebe8a8cb 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
@@ -55,7 +55,7 @@ KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
`REFERENCED_TABLE_SCHEMA` varchar(64),
`REFERENCED_TABLE_NAME` varchar(64),
`REFERENCED_COLUMN_NAME` varchar(64)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.KEY_COLUMN_USAGE;
Field Type Null Key Default Extra
CONSTRAINT_CATALOG varchar(512) NO NULL
@@ -144,6 +144,7 @@ def mysql PRIMARY def mysql time_zone_transition_type Time_zone_id
def mysql PRIMARY def mysql time_zone_transition_type Transition_type_id
def mysql commit_id def mysql transaction_registry commit_id
def mysql PRIMARY def mysql transaction_registry transaction_id
+def sys PRIMARY def sys sys_config variable
########################################################################################
# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information
########################################################################################
diff --git a/mysql-test/suite/funcs_1/r/is_key_column_usage_embedded.result b/mysql-test/suite/funcs_1/r/is_key_column_usage_embedded.result
index b21498a4a83..59b1212407f 100644
--- a/mysql-test/suite/funcs_1/r/is_key_column_usage_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_key_column_usage_embedded.result
@@ -55,7 +55,7 @@ KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` (
`REFERENCED_TABLE_SCHEMA` varchar(64),
`REFERENCED_TABLE_NAME` varchar(64),
`REFERENCED_COLUMN_NAME` varchar(64)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.KEY_COLUMN_USAGE;
Field Type Null Key Default Extra
CONSTRAINT_CATALOG varchar(512) NO NULL
@@ -144,6 +144,7 @@ def mysql PRIMARY def mysql time_zone_transition_type Time_zone_id
def mysql PRIMARY def mysql time_zone_transition_type Transition_type_id
def mysql commit_id def mysql transaction_registry commit_id
def mysql PRIMARY def mysql transaction_registry transaction_id
+def sys PRIMARY def sys sys_config variable
########################################################################################
# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information
########################################################################################
diff --git a/mysql-test/suite/funcs_1/r/is_routines.result b/mysql-test/suite/funcs_1/r/is_routines.result
index 2b268d78ee7..ba43686ac7e 100644
--- a/mysql-test/suite/funcs_1/r/is_routines.result
+++ b/mysql-test/suite/funcs_1/r/is_routines.result
@@ -56,7 +56,7 @@ CREATED datetime NO NULL
LAST_ALTERED datetime NO NULL
SQL_MODE varchar(8192) NO NULL
ROUTINE_COMMENT longtext NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -90,11 +90,11 @@ ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
`LAST_ALTERED` datetime NOT NULL,
`SQL_MODE` varchar(8192) NOT NULL,
`ROUTINE_COMMENT` longtext NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.ROUTINES;
Field Type Null Key Default Extra
SPECIFIC_NAME varchar(64) NO NULL
@@ -124,7 +124,7 @@ CREATED datetime NO NULL
LAST_ALTERED datetime NO NULL
SQL_MODE varchar(8192) NO NULL
ROUTINE_COMMENT longtext NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -188,16 +188,16 @@ TO 'testuser2'@'localhost';
GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost';
FLUSH PRIVILEGES;
connect testuser1, localhost, testuser1, , db_datadict;
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
sp_6_408002_1 def db_datadict sp_6_408002_1 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
connect testuser2, localhost, testuser2, , db_datadict;
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
connect testuser3, localhost, testuser3, , test;
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
connection default;
disconnect testuser1;
diff --git a/mysql-test/suite/funcs_1/r/is_routines_embedded.result b/mysql-test/suite/funcs_1/r/is_routines_embedded.result
index eefd2826eb6..19e9494386e 100644
--- a/mysql-test/suite/funcs_1/r/is_routines_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_routines_embedded.result
@@ -56,7 +56,7 @@ CREATED datetime NO NULL
LAST_ALTERED datetime NO NULL
SQL_MODE varchar(8192) NO NULL
ROUTINE_COMMENT longtext NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -90,11 +90,11 @@ ROUTINES CREATE TEMPORARY TABLE `ROUTINES` (
`LAST_ALTERED` datetime NOT NULL,
`SQL_MODE` varchar(8192) NOT NULL,
`ROUTINE_COMMENT` longtext NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.ROUTINES;
Field Type Null Key Default Extra
SPECIFIC_NAME varchar(64) NO NULL
@@ -124,7 +124,7 @@ CREATED datetime NO NULL
LAST_ALTERED datetime NO NULL
SQL_MODE varchar(8192) NO NULL
ROUTINE_COMMENT longtext NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -188,7 +188,7 @@ TO 'testuser2'@'localhost';
GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost';
FLUSH PRIVILEGES;
connect testuser1, localhost, testuser1, , db_datadict;
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
sp_6_408002_1 def db_datadict sp_6_408002_1 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN
SELECT * FROM db_datadict.res_6_408002_1;
@@ -196,15 +196,15 @@ END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh
sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN
SELECT * FROM db_datadict_2.res_6_408002_2;
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
-check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'THREAD_POOL_SIZE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
-check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
+add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'THREAD_POOL_SIZE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert') AND TRIGGER_SCHEMA != 'sys'; SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA != 'sys'; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
AddGeometryColumn def mysql AddGeometryColumn PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' ADD ', geometry_column,' GEOMETRY REF_SYSTEM_ID=', t_srid); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end NULL NULL SQL NO CONTAINS SQL NULL INVOKER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss mariadb.sys@localhost latin1 latin1_swedish_ci latin1_swedish_ci
DropGeometryColumn def mysql DropGeometryColumn PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' DROP ', geometry_column); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end NULL NULL SQL NO CONTAINS SQL NULL INVOKER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss mariadb.sys@localhost latin1 latin1_swedish_ci latin1_swedish_ci
connect testuser2, localhost, testuser2, , db_datadict;
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
sp_6_408002_1 def db_datadict sp_6_408002_1 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN
SELECT * FROM db_datadict.res_6_408002_1;
@@ -212,15 +212,15 @@ END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh
sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN
SELECT * FROM db_datadict_2.res_6_408002_2;
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
-check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'THREAD_POOL_SIZE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
-check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
+add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'THREAD_POOL_SIZE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert') AND TRIGGER_SCHEMA != 'sys'; SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA != 'sys'; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
AddGeometryColumn def mysql AddGeometryColumn PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' ADD ', geometry_column,' GEOMETRY REF_SYSTEM_ID=', t_srid); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end NULL NULL SQL NO CONTAINS SQL NULL INVOKER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss mariadb.sys@localhost latin1 latin1_swedish_ci latin1_swedish_ci
DropGeometryColumn def mysql DropGeometryColumn PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' DROP ', geometry_column); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end NULL NULL SQL NO CONTAINS SQL NULL INVOKER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss mariadb.sys@localhost latin1 latin1_swedish_ci latin1_swedish_ci
connect testuser3, localhost, testuser3, , test;
-SELECT * FROM information_schema.routines;
+SELECT * FROM information_schema.routines where routine_schema <> 'sys';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
sp_6_408002_1 def db_datadict sp_6_408002_1 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN
SELECT * FROM db_datadict.res_6_408002_1;
@@ -228,9 +228,9 @@ END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh
sp_6_408002_2 def db_datadict_2 sp_6_408002_2 PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN
SELECT * FROM db_datadict_2.res_6_408002_2;
END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
-check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'THREAD_POOL_SIZE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert'); SELECT * FROM INFORMATION_SCHEMA.ROUTINES; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.proc, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
-check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8 utf8_general_ci latin1_swedish_ci
+add_suppression def mtr add_suppression PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); FLUSH NO_WRITE_TO_BINLOG TABLE test_suppressions; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+check_testcase def mtr check_testcase PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name NOT IN ('timestamp') AND variable_name not like "Last_IO_Err*" AND variable_name != 'INNODB_IBUF_MAX_SIZE' AND variable_name != 'INNODB_USE_NATIVE_AIO' AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP' AND variable_name not like 'GTID%POS' AND variable_name != 'GTID_BINLOG_STATE' AND variable_name != 'THREAD_POOL_SIZE' ORDER BY variable_name; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY BINARY SCHEMA_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mtr_wsrep_notify', 'wsrep_schema') ORDER BY BINARY SCHEMA_NAME; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' ORDER BY columns_in_mysql; SELECT * FROM INFORMATION_SCHEMA.EVENTS; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_NAME NOT IN ('gs_insert', 'ts_insert') AND TRIGGER_SCHEMA != 'sys'; SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA != 'sys'; SHOW STATUS LIKE 'slave_open_temp_tables'; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.plugin, mysql.procs_priv, mysql.roles_mapping, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.global_priv; SELECT * FROM INFORMATION_SCHEMA.PLUGINS; select * from information_schema.session_variables where variable_name = 'debug_sync'; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
+check_warnings def mtr check_warnings PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0, SQL_SAFE_UPDATES=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost utf8mb3 utf8mb3_general_ci latin1_swedish_ci
AddGeometryColumn def mysql AddGeometryColumn PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL begin
set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' ADD ', geometry_column,' GEOMETRY REF_SYSTEM_ID=', t_srid); PREPARE ls from @qwe; execute ls; deallocate prepare ls; end NULL NULL SQL NO CONTAINS SQL NULL INVOKER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss mariadb.sys@localhost latin1 latin1_swedish_ci latin1_swedish_ci
DropGeometryColumn def mysql DropGeometryColumn PROCEDURE NULL NULL NULL NULL NULL NULL NULL NULL SQL begin
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 119eda6d7af..16f36ff7227 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(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
PRIVILEGE_TYPE varchar(64) NO NULL
@@ -36,15 +36,15 @@ IS_GRANTABLE varchar(3) NO NULL
SHOW CREATE TABLE information_schema.SCHEMA_PRIVILEGES;
Table Create Table
SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
- `GRANTEE` varchar(190) NOT NULL,
+ `GRANTEE` varchar(385) NOT NULL,
`TABLE_CATALOG` varchar(512) NOT NULL,
`TABLE_SCHEMA` varchar(64) NOT NULL,
`PRIVILEGE_TYPE` varchar(64) NOT NULL,
`IS_GRANTABLE` varchar(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.SCHEMA_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
PRIVILEGE_TYPE varchar(64) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_schemata.result b/mysql-test/suite/funcs_1/r/is_schemata.result
index 0c72e8b1a0d..9c797149d4a 100644
--- a/mysql-test/suite/funcs_1/r/is_schemata.result
+++ b/mysql-test/suite/funcs_1/r/is_schemata.result
@@ -43,7 +43,7 @@ SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
`DEFAULT_COLLATION_NAME` varchar(32) NOT NULL,
`SQL_PATH` varchar(512),
`SCHEMA_COMMENT` varchar(1024) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.SCHEMATA;
Field Type Null Key Default Extra
CATALOG_NAME varchar(512) NO NULL
@@ -61,6 +61,7 @@ def information_schema NULL
def mtr NULL
def mysql NULL
def performance_schema NULL
+def sys NULL
def test NULL
###############################################################################
# Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information
@@ -138,7 +139,7 @@ ALTER SCHEMA db_datadict CHARACTER SET 'utf8';
SELECT schema_name, default_character_set_name
FROM information_schema.schemata WHERE schema_name = 'db_datadict';
schema_name default_character_set_name
-db_datadict utf8
+db_datadict utf8mb3
ALTER SCHEMA db_datadict CHARACTER SET 'latin1';
SELECT schema_name, default_collation_name FROM information_schema.schemata
WHERE schema_name = 'db_datadict';
diff --git a/mysql-test/suite/funcs_1/r/is_schemata_embedded.result b/mysql-test/suite/funcs_1/r/is_schemata_embedded.result
index dfb1662152c..18b84d7ebff 100644
--- a/mysql-test/suite/funcs_1/r/is_schemata_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_schemata_embedded.result
@@ -43,7 +43,7 @@ SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` (
`DEFAULT_COLLATION_NAME` varchar(32) NOT NULL,
`SQL_PATH` varchar(512),
`SCHEMA_COMMENT` varchar(1024) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.SCHEMATA;
Field Type Null Key Default Extra
CATALOG_NAME varchar(512) NO NULL
@@ -61,6 +61,7 @@ def information_schema NULL
def mtr NULL
def mysql NULL
def performance_schema NULL
+def sys NULL
def test NULL
###############################################################################
# Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information
@@ -144,7 +145,7 @@ ALTER SCHEMA db_datadict CHARACTER SET 'utf8';
SELECT schema_name, default_character_set_name
FROM information_schema.schemata WHERE schema_name = 'db_datadict';
schema_name default_character_set_name
-db_datadict utf8
+db_datadict utf8mb3
ALTER SCHEMA db_datadict CHARACTER SET 'latin1';
SELECT schema_name, default_collation_name FROM information_schema.schemata
WHERE schema_name = 'db_datadict';
diff --git a/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result
index ccf0e513d88..516d1cc04dd 100644
--- a/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result
+++ b/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result
@@ -10,7 +10,7 @@ SELECT * FROM information_schema.schemata
WHERE schema_name IN ('information_schema','mysql','test')
ORDER BY schema_name;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def mysql latin1 latin1_swedish_ci NULL
def test latin1 latin1_swedish_ci NULL
SHOW DATABASES LIKE 'information_schema';
@@ -27,7 +27,7 @@ SELECT * FROM information_schema.schemata
WHERE schema_name IN ('information_schema','mysql','test')
ORDER BY schema_name;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH SCHEMA_COMMENT
-def information_schema utf8 utf8_general_ci NULL
+def information_schema utf8mb3 utf8mb3_general_ci NULL
def test latin1 latin1_swedish_ci NULL
SHOW DATABASES LIKE 'information_schema';
Database (information_schema)
diff --git a/mysql-test/suite/funcs_1/r/is_statistics.result b/mysql-test/suite/funcs_1/r/is_statistics.result
index b920a64de30..64c679dce3d 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics.result
@@ -44,6 +44,7 @@ NULLABLE varchar(3) NO NULL
INDEX_TYPE varchar(16) NO NULL
COMMENT varchar(16) YES NULL
INDEX_COMMENT varchar(1024) NO NULL
+IGNORED varchar(3) NO NULL
SHOW CREATE TABLE information_schema.STATISTICS;
Table Create Table
STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
@@ -62,8 +63,9 @@ STATISTICS CREATE TEMPORARY TABLE `STATISTICS` (
`NULLABLE` varchar(3) NOT NULL,
`INDEX_TYPE` varchar(16) NOT NULL,
`COMMENT` varchar(16),
- `INDEX_COMMENT` varchar(1024) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+ `INDEX_COMMENT` varchar(1024) NOT NULL,
+ `IGNORED` varchar(3) NOT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.STATISTICS;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO NULL
@@ -82,6 +84,7 @@ NULLABLE varchar(3) NO NULL
INDEX_TYPE varchar(16) NO NULL
COMMENT varchar(16) YES NULL
INDEX_COMMENT varchar(1024) NO NULL
+IGNORED varchar(3) NO NULL
SELECT table_catalog, table_schema, table_name, index_schema, index_name
FROM information_schema.statistics WHERE table_catalog IS NOT NULL
ORDER BY table_schema, table_name, index_schema, index_name;
@@ -151,6 +154,7 @@ def mysql time_zone_transition mysql PRIMARY
def mysql time_zone_transition mysql PRIMARY
def mysql time_zone_transition_type mysql PRIMARY
def mysql time_zone_transition_type mysql PRIMARY
+def sys sys_config sys PRIMARY
Warnings:
Warning 1286 Unknown storage engine 'InnoDB'
Warning 1286 Unknown storage engine 'InnoDB'
@@ -182,17 +186,17 @@ ENGINE = MEMORY;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -203,7 +207,7 @@ connect testuser1, localhost, testuser1, , test;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -213,7 +217,7 @@ connect testuser2, localhost, testuser2, , test;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
SHOW GRANTS FOR 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
SHOW GRANTS FOR 'testuser2'@'localhost';
@@ -225,17 +229,17 @@ GRANT SELECT(f1,f5) ON db_datadict_2.t3 TO 'testuser1'@'localhost';
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -248,13 +252,13 @@ connection testuser1;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH
-def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH NO
+def db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -266,7 +270,7 @@ connection testuser2;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
SHOW GRANTS FOR 'testuser1'@'localhost';
ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql'
SHOW GRANTS FOR 'testuser2'@'localhost';
@@ -282,11 +286,11 @@ connection testuser1;
SELECT * FROM information_schema.statistics
WHERE table_schema LIKE 'db_datadict%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH
-def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH
-def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH
-def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH NO
+def db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH NO
+def db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH NO
+def db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO `testuser1`@`localhost`
@@ -318,9 +322,9 @@ ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1,f3);
SELECT * FROM information_schema.statistics
WHERE table_name LIKE 't1_%'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1_1 0 test PRIMARY 1 f1 A NULL NULL NULL BTREE
-def test t1_1 0 test PRIMARY 2 f3 A 0 NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1_1 0 test PRIMARY 1 f1 A NULL NULL NULL BTREE NO
+def test t1_1 0 test PRIMARY 2 f3 A 0 NULL NULL BTREE NO
ALTER TABLE test.t1_1 DROP PRIMARY KEY;
SELECT table_name FROM information_schema.statistics
WHERE table_name LIKE 't1_%';
@@ -328,8 +332,8 @@ table_name
ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1);
SELECT * FROM information_schema.statistics
WHERE table_name LIKE 't1_%';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1_1 0 test PRIMARY 1 f1 A 0 NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1_1 0 test PRIMARY 1 f1 A 0 NULL NULL BTREE NO
ALTER TABLE test.t1_1 ADD INDEX (f4);
CREATE INDEX f3_f1 ON test.t1_1 (f3,f1);
CREATE UNIQUE INDEX f4x_uni ON test.t1_1 (f4x);
@@ -341,14 +345,14 @@ CREATE INDEX f2_prefix ON test.t1_1 (f2(20));
SELECT * FROM information_schema.statistics
WHERE table_name LIKE 't1_%' AND index_name <> 'PRIMARY'
ORDER BY table_schema,table_name,index_name,seq_in_index,column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def test t1_1 1 test f2_prefix 1 f2 A NULL 20 NULL YES BTREE
-def test t1_1 1 test f3_f1 1 f3 A NULL NULL NULL BTREE
-def test t1_1 1 test f3_f1 2 f1 A NULL NULL NULL BTREE
-def test t1_1 1 test f4 1 f4 A NULL NULL NULL YES BTREE
-def test t1_1 0 test f4x_uni 1 f4x A NULL NULL NULL YES BTREE
-def test t1_1 1 test not_null 1 f3x A NULL NULL NULL YES BTREE
-def test t1_2 1 test f2_hash 1 f2 NULL 0 NULL NULL YES HASH
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def test t1_1 1 test f2_prefix 1 f2 A NULL 20 NULL YES BTREE NO
+def test t1_1 1 test f3_f1 1 f3 A NULL NULL NULL BTREE NO
+def test t1_1 1 test f3_f1 2 f1 A NULL NULL NULL BTREE NO
+def test t1_1 1 test f4 1 f4 A NULL NULL NULL YES BTREE NO
+def test t1_1 0 test f4x_uni 1 f4x A NULL NULL NULL YES BTREE NO
+def test t1_1 1 test not_null 1 f3x A NULL NULL NULL YES BTREE NO
+def test t1_2 1 test f2_hash 1 f2 NULL 0 NULL NULL YES HASH NO
DROP TABLE test.t1_2;
SELECT DISTINCT table_name FROM information_schema.statistics
WHERE table_name = 't1_1';
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_is.result b/mysql-test/suite/funcs_1/r/is_statistics_is.result
index a4fe6054d0e..7e1d3d6a3bc 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_is.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_is.result
@@ -6,12 +6,12 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'information_schema'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
connect testuser1,localhost,testuser1,,db_datadict;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'information_schema'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
connection default;
disconnect testuser1;
DROP USER testuser1@localhost;
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 40d5e125c0d..5a0e0865307 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
@@ -6,88 +6,88 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-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
-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 global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 2 User 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
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-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 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
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-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
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE NO
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE NO
connect testuser1,localhost,testuser1,,db_datadict;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
connection default;
disconnect testuser1;
DROP USER testuser1@localhost;
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 01a98e413da..651fb286454 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
@@ -6,164 +6,164 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-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
-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 global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 2 User 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
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-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 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
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-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
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE NO
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE NO
connect testuser1,localhost,testuser1,,db_datadict;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-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
-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 global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql global_priv 0 mysql PRIMARY 2 User 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
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-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 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
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-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
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE
-def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE
-def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT IGNORED
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql column_stats 0 mysql PRIMARY 3 column_name A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql global_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 1 domain_id A #CARD# NULL NULL BTREE NO
+def mysql gtid_slave_pos 0 mysql PRIMARY 2 sub_id A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 1 mysql help_topic_id 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE NO
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE NO
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql index_stats 0 mysql PRIMARY 4 prefix_arity A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 3 index_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_index_stats 0 mysql PRIMARY 4 stat_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 1 database_name A #CARD# NULL NULL BTREE NO
+def mysql innodb_table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE NO
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE NO
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE NO
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE NO
+def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE NO
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE NO
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 1 db_name A #CARD# NULL NULL BTREE NO
+def mysql table_stats 0 mysql PRIMARY 2 table_name A #CARD# NULL NULL BTREE NO
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE NO
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql begin_timestamp 1 begin_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql commit_id 1 commit_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 1 commit_timestamp A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 1 mysql commit_timestamp 2 transaction_id A #CARD# NULL NULL BTREE NO
+def mysql transaction_registry 0 mysql PRIMARY 1 transaction_id A #CARD# NULL NULL BTREE NO
connection default;
disconnect testuser1;
DROP USER testuser1@localhost;
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 5e1a9f44e7f..22b7148123d 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints.result
@@ -43,7 +43,7 @@ TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` (
`TABLE_SCHEMA` varchar(64) NOT NULL,
`TABLE_NAME` varchar(64) NOT NULL,
`CONSTRAINT_TYPE` varchar(64) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.TABLE_CONSTRAINTS;
Field Type Null Key Default Extra
CONSTRAINT_CATALOG varchar(512) NO NULL
@@ -91,6 +91,7 @@ def mysql PRIMARY mysql time_zone_transition
def mysql PRIMARY mysql time_zone_transition_type
def mysql commit_id mysql transaction_registry
def mysql PRIMARY mysql transaction_registry
+def sys PRIMARY sys sys_config
#########################################################################################
# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.TABLE_CONSTRAINTS accessible information
#########################################################################################
@@ -120,16 +121,16 @@ def db_datadict my_idx2 db_datadict t1 UNIQUE
def db_datadict PRIMARY db_datadict t1 PRIMARY KEY
def db_datadict PRIMARY db_datadict t2 PRIMARY KEY
SHOW INDEXES FROM db_datadict.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 f1 ### ### ### ### ### ### ###
-t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
-t1 0 my_idx1 1 f6 ### ### ### ### ### ### ###
-t1 0 my_idx1 2 f1 ### ### ### ### ### ### ###
-t1 0 my_idx2 1 f3 ### ### ### ### ### ### ###
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ### NO
+t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 1 f6 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 2 f1 ### ### ### ### ### ### ### NO
+t1 0 my_idx2 1 f3 ### ### ### ### ### ### ### NO
SHOW INDEXES FROM db_datadict.t2;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t2 0 PRIMARY 1 f1 ### ### ### ### ### ### ###
-t2 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 0 PRIMARY 1 f1 ### ### ### ### ### ### ### NO
+t2 0 PRIMARY 2 f2 ### ### ### ### ### ### ### NO
connect testuser1, localhost, testuser1, , db_datadict;
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
@@ -143,12 +144,12 @@ def db_datadict my_idx1 db_datadict t1 UNIQUE
def db_datadict my_idx2 db_datadict t1 UNIQUE
def db_datadict PRIMARY db_datadict t1 PRIMARY KEY
SHOW INDEXES FROM db_datadict.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 f1 ### ### ### ### ### ### ###
-t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ###
-t1 0 my_idx1 1 f6 ### ### ### ### ### ### ###
-t1 0 my_idx1 2 f1 ### ### ### ### ### ### ###
-t1 0 my_idx2 1 f3 ### ### ### ### ### ### ###
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ### NO
+t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 1 f6 ### ### ### ### ### ### ### NO
+t1 0 my_idx1 2 f1 ### ### ### ### ### ### ### NO
+t1 0 my_idx2 1 f3 ### ### ### ### ### ### ### NO
SHOW INDEXES FROM db_datadict.t2;
ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 't2'
connection default;
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 0d3e3268074..c85d3cc3d96 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(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
TABLE_NAME varchar(64) NO NULL
@@ -37,16 +37,16 @@ IS_GRANTABLE varchar(3) NO NULL
SHOW CREATE TABLE information_schema.TABLE_PRIVILEGES;
Table Create Table
TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
- `GRANTEE` varchar(190) NOT NULL,
+ `GRANTEE` varchar(385) NOT NULL,
`TABLE_CATALOG` varchar(512) NOT NULL,
`TABLE_SCHEMA` varchar(64) NOT NULL,
`TABLE_NAME` varchar(64) NOT NULL,
`PRIVILEGE_TYPE` varchar(64) NOT NULL,
`IS_GRANTABLE` varchar(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.TABLE_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
TABLE_SCHEMA varchar(64) NO NULL
TABLE_NAME varchar(64) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_tables.result b/mysql-test/suite/funcs_1/r/is_tables.result
index 010818cad3c..08e721cde1c 100644
--- a/mysql-test/suite/funcs_1/r/is_tables.result
+++ b/mysql-test/suite/funcs_1/r/is_tables.result
@@ -77,7 +77,7 @@ TABLES CREATE TEMPORARY TABLE `TABLES` (
`TABLE_COMMENT` varchar(2048) NOT NULL,
`MAX_INDEX_LENGTH` bigint(21) unsigned,
`TEMPORARY` varchar(1)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.TABLES;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO NULL
@@ -268,11 +268,11 @@ ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8;
SELECT table_name, table_collation FROM information_schema.tables
WHERE table_name = 't1_my_tablex';
table_name table_collation
-t1_my_tablex utf8_general_ci
+t1_my_tablex utf8mb3_general_ci
SELECT table_name, table_collation FROM information_schema.tables
WHERE table_name = 't1_my_tablex';
table_name table_collation
-t1_my_tablex utf8_general_ci
+t1_my_tablex utf8mb3_general_ci
ALTER TABLE db_datadict.t1_my_tablex
DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;
SELECT table_name, table_collation FROM information_schema.tables
diff --git a/mysql-test/suite/funcs_1/r/is_tables_embedded.result b/mysql-test/suite/funcs_1/r/is_tables_embedded.result
index c71414d71ff..5e9259bf557 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_embedded.result
@@ -77,7 +77,7 @@ TABLES CREATE TEMPORARY TABLE `TABLES` (
`TABLE_COMMENT` varchar(2048) NOT NULL,
`MAX_INDEX_LENGTH` bigint(21) unsigned,
`TEMPORARY` varchar(1)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.TABLES;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO NULL
@@ -276,11 +276,11 @@ ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8;
SELECT table_name, table_collation FROM information_schema.tables
WHERE table_name = 't1_my_tablex';
table_name table_collation
-t1_my_tablex utf8_general_ci
+t1_my_tablex utf8mb3_general_ci
SELECT table_name, table_collation FROM information_schema.tables
WHERE table_name = 't1_my_tablex';
table_name table_collation
-t1_my_tablex utf8_general_ci
+t1_my_tablex utf8mb3_general_ci
ALTER TABLE db_datadict.t1_my_tablex
DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;
SELECT table_name, table_collation 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 597eb002841..c18f733c86f 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_is.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_is.result
@@ -29,7 +29,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -54,7 +54,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -79,7 +79,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -104,7 +104,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -129,7 +129,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -154,7 +154,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -179,7 +179,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -204,7 +204,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -229,7 +229,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -254,7 +254,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -279,7 +279,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -304,7 +304,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -329,7 +329,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -354,7 +354,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -379,7 +379,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -404,7 +404,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -429,7 +429,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -454,7 +454,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -479,7 +479,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -504,7 +504,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -529,7 +529,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -554,7 +554,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -579,7 +579,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -604,7 +604,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -629,7 +629,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -654,7 +654,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -679,7 +679,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -704,7 +704,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -729,7 +729,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -754,7 +754,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -779,7 +779,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -804,7 +804,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -829,7 +829,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -854,7 +854,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -879,7 +879,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -904,7 +904,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -929,7 +929,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -954,7 +954,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -979,7 +979,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1004,7 +1004,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1029,7 +1029,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1054,7 +1054,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1079,7 +1079,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1104,7 +1104,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1145,7 +1145,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1170,7 +1170,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1195,7 +1195,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1220,7 +1220,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1245,7 +1245,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1270,7 +1270,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1295,7 +1295,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1320,7 +1320,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1345,7 +1345,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1370,7 +1370,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1395,7 +1395,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1420,7 +1420,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1445,7 +1445,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1470,7 +1470,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1495,7 +1495,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1520,7 +1520,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1545,7 +1545,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1570,7 +1570,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1595,7 +1595,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1620,7 +1620,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1645,7 +1645,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1670,7 +1670,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1695,7 +1695,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1720,7 +1720,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1745,7 +1745,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1770,7 +1770,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1795,7 +1795,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1820,7 +1820,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1845,7 +1845,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1870,7 +1870,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1895,7 +1895,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1920,7 +1920,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1945,7 +1945,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1970,7 +1970,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1995,7 +1995,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2020,7 +2020,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2045,7 +2045,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2070,7 +2070,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2095,7 +2095,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2120,7 +2120,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2145,7 +2145,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2170,7 +2170,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2195,7 +2195,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2220,7 +2220,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
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 597eb002841..c18f733c86f 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
@@ -29,7 +29,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -54,7 +54,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -79,7 +79,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -104,7 +104,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -129,7 +129,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -154,7 +154,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -179,7 +179,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -204,7 +204,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -229,7 +229,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -254,7 +254,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -279,7 +279,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -304,7 +304,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -329,7 +329,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -354,7 +354,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -379,7 +379,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -404,7 +404,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -429,7 +429,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -454,7 +454,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -479,7 +479,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -504,7 +504,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -529,7 +529,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -554,7 +554,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -579,7 +579,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -604,7 +604,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -629,7 +629,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -654,7 +654,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -679,7 +679,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -704,7 +704,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -729,7 +729,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -754,7 +754,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -779,7 +779,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -804,7 +804,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -829,7 +829,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -854,7 +854,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -879,7 +879,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -904,7 +904,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -929,7 +929,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -954,7 +954,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -979,7 +979,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1004,7 +1004,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1029,7 +1029,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1054,7 +1054,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1079,7 +1079,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1104,7 +1104,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1145,7 +1145,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1170,7 +1170,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1195,7 +1195,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1220,7 +1220,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1245,7 +1245,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1270,7 +1270,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1295,7 +1295,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1320,7 +1320,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1345,7 +1345,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1370,7 +1370,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1395,7 +1395,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1420,7 +1420,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1445,7 +1445,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1470,7 +1470,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1495,7 +1495,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1520,7 +1520,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1545,7 +1545,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1570,7 +1570,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1595,7 +1595,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1620,7 +1620,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1645,7 +1645,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1670,7 +1670,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1695,7 +1695,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1720,7 +1720,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1745,7 +1745,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1770,7 +1770,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1795,7 +1795,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1820,7 +1820,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1845,7 +1845,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1870,7 +1870,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1895,7 +1895,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1920,7 +1920,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1945,7 +1945,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1970,7 +1970,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1995,7 +1995,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2020,7 +2020,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2045,7 +2045,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2070,7 +2070,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2095,7 +2095,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2120,7 +2120,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2145,7 +2145,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2170,7 +2170,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2195,7 +2195,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -2220,7 +2220,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
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 be432e2422a..7cfef92c09d 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
@@ -27,7 +27,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -52,7 +52,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -77,7 +77,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -102,7 +102,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -127,7 +127,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -152,7 +152,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -177,7 +177,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -227,7 +227,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -252,7 +252,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -277,7 +277,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -302,7 +302,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -327,7 +327,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -352,7 +352,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -377,7 +377,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -402,7 +402,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -427,7 +427,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -452,7 +452,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -477,7 +477,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -502,7 +502,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -527,7 +527,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -552,7 +552,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -577,7 +577,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -602,7 +602,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -627,7 +627,7 @@ AUTO_INCREMENT 6
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -652,7 +652,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -677,7 +677,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -702,7 +702,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -727,7 +727,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -752,7 +752,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
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 01381a5e746..450f0f5fe3d 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
@@ -27,7 +27,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -52,7 +52,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -77,7 +77,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -102,7 +102,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -127,7 +127,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -152,7 +152,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -177,7 +177,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -227,7 +227,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -252,7 +252,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -277,7 +277,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -302,7 +302,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -327,7 +327,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -352,7 +352,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -377,7 +377,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -402,7 +402,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -427,7 +427,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -452,7 +452,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -477,7 +477,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -502,7 +502,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -527,7 +527,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -552,7 +552,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -577,7 +577,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -602,7 +602,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -627,7 +627,7 @@ AUTO_INCREMENT 6
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -652,7 +652,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -677,7 +677,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -702,7 +702,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -727,7 +727,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -752,7 +752,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -816,7 +816,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -841,7 +841,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -866,7 +866,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -891,7 +891,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -916,7 +916,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -941,7 +941,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -966,7 +966,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1016,7 +1016,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1041,7 +1041,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1066,7 +1066,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1091,7 +1091,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1116,7 +1116,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1141,7 +1141,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1166,7 +1166,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1191,7 +1191,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1216,7 +1216,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1241,7 +1241,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1266,7 +1266,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1291,7 +1291,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1316,7 +1316,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1341,7 +1341,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1366,7 +1366,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1391,7 +1391,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1416,7 +1416,7 @@ AUTO_INCREMENT 6
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1441,7 +1441,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1466,7 +1466,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1491,7 +1491,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1516,7 +1516,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_general_ci
+TABLE_COLLATION utf8mb3_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
@@ -1541,7 +1541,7 @@ AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
-TABLE_COLLATION utf8_bin
+TABLE_COLLATION utf8mb3_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
diff --git a/mysql-test/suite/funcs_1/r/is_triggers.result b/mysql-test/suite/funcs_1/r/is_triggers.result
index 3960588b3c5..030d469db54 100644
--- a/mysql-test/suite/funcs_1/r/is_triggers.result
+++ b/mysql-test/suite/funcs_1/r/is_triggers.result
@@ -48,7 +48,7 @@ ACTION_REFERENCE_OLD_ROW varchar(3) NO NULL
ACTION_REFERENCE_NEW_ROW varchar(3) NO NULL
CREATED datetime(2) YES NULL
SQL_MODE varchar(8192) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -73,11 +73,11 @@ TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
`ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL,
`CREATED` datetime(2),
`SQL_MODE` varchar(8192) NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.TRIGGERS;
Field Type Null Key Default Extra
TRIGGER_CATALOG varchar(512) NO NULL
@@ -98,7 +98,7 @@ ACTION_REFERENCE_OLD_ROW varchar(3) NO NULL
ACTION_REFERENCE_NEW_ROW varchar(3) NO NULL
CREATED datetime(2) YES NULL
SQL_MODE varchar(8192) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_triggers_embedded.result b/mysql-test/suite/funcs_1/r/is_triggers_embedded.result
index 6ed646c1a2c..6c02073c954 100644
--- a/mysql-test/suite/funcs_1/r/is_triggers_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_triggers_embedded.result
@@ -48,7 +48,7 @@ ACTION_REFERENCE_OLD_ROW varchar(3) NO NULL
ACTION_REFERENCE_NEW_ROW varchar(3) NO NULL
CREATED datetime(2) YES NULL
SQL_MODE varchar(8192) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
@@ -73,11 +73,11 @@ TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` (
`ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL,
`CREATED` datetime(2),
`SQL_MODE` varchar(8192) NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`DATABASE_COLLATION` varchar(32) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.TRIGGERS;
Field Type Null Key Default Extra
TRIGGER_CATALOG varchar(512) NO NULL
@@ -98,7 +98,7 @@ ACTION_REFERENCE_OLD_ROW varchar(3) NO NULL
ACTION_REFERENCE_NEW_ROW varchar(3) NO NULL
CREATED datetime(2) YES NULL
SQL_MODE varchar(8192) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
DATABASE_COLLATION varchar(32) NO NULL
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 240555bb05b..2105642e1c4 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(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
PRIVILEGE_TYPE varchar(64) NO NULL
IS_GRANTABLE varchar(3) NO NULL
SHOW CREATE TABLE information_schema.USER_PRIVILEGES;
Table Create Table
USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
- `GRANTEE` varchar(190) NOT NULL,
+ `GRANTEE` varchar(385) NOT NULL,
`TABLE_CATALOG` varchar(512) NOT NULL,
`PRIVILEGE_TYPE` varchar(64) NOT NULL,
`IS_GRANTABLE` varchar(3) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.USER_PRIVILEGES;
Field Type Null Key Default Extra
-GRANTEE varchar(190) NO NULL
+GRANTEE varchar(385) NO NULL
TABLE_CATALOG varchar(512) NO NULL
PRIVILEGE_TYPE varchar(64) NO NULL
IS_GRANTABLE varchar(3) NO NULL
diff --git a/mysql-test/suite/funcs_1/r/is_views.result b/mysql-test/suite/funcs_1/r/is_views.result
index 45cfd87f46c..61c1f87023f 100644
--- a/mysql-test/suite/funcs_1/r/is_views.result
+++ b/mysql-test/suite/funcs_1/r/is_views.result
@@ -34,7 +34,7 @@ TABLE_NAME varchar(64) NO NULL
VIEW_DEFINITION longtext NO NULL
CHECK_OPTION varchar(8) NO NULL
IS_UPDATABLE varchar(3) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
SECURITY_TYPE varchar(7) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
@@ -48,12 +48,12 @@ VIEWS CREATE TEMPORARY TABLE `VIEWS` (
`VIEW_DEFINITION` longtext NOT NULL,
`CHECK_OPTION` varchar(8) NOT NULL,
`IS_UPDATABLE` varchar(3) NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`SECURITY_TYPE` varchar(7) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`ALGORITHM` varchar(10) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.VIEWS;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO NULL
@@ -62,15 +62,14 @@ TABLE_NAME varchar(64) NO NULL
VIEW_DEFINITION longtext NO NULL
CHECK_OPTION varchar(8) NO NULL
IS_UPDATABLE varchar(3) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
SECURITY_TYPE varchar(7) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
ALGORITHM varchar(10) NO NULL
SELECT table_catalog, table_schema, table_name
-FROM information_schema.views WHERE table_catalog IS NOT NULL;
+FROM information_schema.views WHERE table_catalog <> 'def';
table_catalog table_schema table_name
-def mysql user
################################################################################
# Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information
################################################################################
diff --git a/mysql-test/suite/funcs_1/r/is_views_embedded.result b/mysql-test/suite/funcs_1/r/is_views_embedded.result
index 044c80f473b..d2fafe995de 100644
--- a/mysql-test/suite/funcs_1/r/is_views_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_views_embedded.result
@@ -34,7 +34,7 @@ TABLE_NAME varchar(64) NO NULL
VIEW_DEFINITION longtext NO NULL
CHECK_OPTION varchar(8) NO NULL
IS_UPDATABLE varchar(3) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
SECURITY_TYPE varchar(7) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
@@ -48,12 +48,12 @@ VIEWS CREATE TEMPORARY TABLE `VIEWS` (
`VIEW_DEFINITION` longtext NOT NULL,
`CHECK_OPTION` varchar(8) NOT NULL,
`IS_UPDATABLE` varchar(3) NOT NULL,
- `DEFINER` varchar(189) NOT NULL,
+ `DEFINER` varchar(384) NOT NULL,
`SECURITY_TYPE` varchar(7) NOT NULL,
`CHARACTER_SET_CLIENT` varchar(32) NOT NULL,
`COLLATION_CONNECTION` varchar(32) NOT NULL,
`ALGORITHM` varchar(10) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW COLUMNS FROM information_schema.VIEWS;
Field Type Null Key Default Extra
TABLE_CATALOG varchar(512) NO NULL
@@ -62,15 +62,14 @@ TABLE_NAME varchar(64) NO NULL
VIEW_DEFINITION longtext NO NULL
CHECK_OPTION varchar(8) NO NULL
IS_UPDATABLE varchar(3) NO NULL
-DEFINER varchar(189) NO NULL
+DEFINER varchar(384) NO NULL
SECURITY_TYPE varchar(7) NO NULL
CHARACTER_SET_CLIENT varchar(32) NO NULL
COLLATION_CONNECTION varchar(32) NO NULL
ALGORITHM varchar(10) NO NULL
SELECT table_catalog, table_schema, table_name
-FROM information_schema.views WHERE table_catalog IS NOT NULL;
+FROM information_schema.views WHERE table_catalog <> 'def';
table_catalog table_schema table_name
-def mysql user
################################################################################
# Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information
################################################################################
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 906faee4234..961c140f856 100644
--- a/mysql-test/suite/funcs_1/r/memory_func_view.result
+++ b/mysql-test/suite/funcs_1/r/memory_func_view.result
@@ -2350,7 +2350,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_varbinary_1000` using utf8) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varbinary_1000` using utf8mb3) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 98 OR select_id IS NULL) order by id;
@@ -2376,7 +2376,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_binary_30` using utf8) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_binary_30` using utf8mb3) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 97 OR select_id IS NULL) order by id;
@@ -2402,7 +2402,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_varchar_1000` using utf8) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using utf8mb3) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 96 OR select_id IS NULL) order by id;
@@ -2428,7 +2428,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_char_30` using utf8) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using utf8mb3) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 95 OR select_id IS NULL) order by id;
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 fa35ef6e7ae..4608fc8302a 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result
@@ -203,7 +203,7 @@ update t1 set f2='update 3.5.1.7';
select * from t1;
f1 f2 f3
NULL update 3.5.1.7 42
-select trigger_name from information_schema.triggers order by trigger_name;
+select trigger_name from information_schema.triggers where trigger_schema <> 'sys' order by trigger_name;
trigger_name
gs_insert
trg5_1
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 48858e8787a..7228c4cffd9 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_0407.result
@@ -237,7 +237,7 @@ Testcase 3.5.5.2:
Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned);
Create trigger trg2 before INSERT
on t1_temp for each row set new.f2=9999;
-ERROR HY000: Trigger's 't1_temp' is view, temporary table or sequence
+ERROR HY000: Trigger's 't1_temp' is a view, temporary table or sequence
drop table t1_temp;
Testcase 3.5.5.3:
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 906faee4234..961c140f856 100644
--- a/mysql-test/suite/funcs_1/r/myisam_func_view.result
+++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result
@@ -2350,7 +2350,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_varbinary_1000` using utf8) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varbinary_1000` using utf8mb3) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 98 OR select_id IS NULL) order by id;
@@ -2376,7 +2376,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_binary_30` using utf8) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_binary_30` using utf8mb3) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 97 OR select_id IS NULL) order by id;
@@ -2402,7 +2402,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_varchar_1000` using utf8) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using utf8mb3) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 96 OR select_id IS NULL) order by id;
@@ -2428,7 +2428,7 @@ NULL NULL 1
-1 -1 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 convert(`t1_values`.`my_char_30` using utf8) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using utf8mb3) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
SELECT v1.* FROM v1
WHERE v1.id IN (SELECT id FROM t1_values
WHERE select_id = 95 OR select_id IS NULL) order by id;
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 fa35ef6e7ae..4608fc8302a 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result
@@ -203,7 +203,7 @@ update t1 set f2='update 3.5.1.7';
select * from t1;
f1 f2 f3
NULL update 3.5.1.7 42
-select trigger_name from information_schema.triggers order by trigger_name;
+select trigger_name from information_schema.triggers where trigger_schema <> 'sys' order by trigger_name;
trigger_name
gs_insert
trg5_1
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 48858e8787a..7228c4cffd9 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result
@@ -237,7 +237,7 @@ Testcase 3.5.5.2:
Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned);
Create trigger trg2 before INSERT
on t1_temp for each row set new.f2=9999;
-ERROR HY000: Trigger's 't1_temp' is view, temporary table or sequence
+ERROR HY000: Trigger's 't1_temp' is a view, temporary table or sequence
drop table t1_temp;
Testcase 3.5.5.3:
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 2f89ab87580..43ce4046fba 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
@@ -42,7 +42,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW processlist;
Id User Host db Command Time State Info Progress
ID root HOST_NAME information_schema Query TIME starting SHOW processlist TIME_MS
@@ -122,7 +122,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW processlist;
Id User Host db Command Time State Info Progress
ID ddicttestuser1 HOST_NAME information_schema Query TIME starting SHOW processlist TIME_MS
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 0fc510707db..a2ef23ebfe9 100644
--- a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
@@ -42,7 +42,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW processlist;
Id User Host db Command Time State Info Progress
ID root HOST_NAME information_schema Query TIME starting SHOW processlist TIME_MS
@@ -122,7 +122,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
SHOW processlist;
Id User Host db Command Time State Info Progress
ID ddicttestuser1 HOST_NAME information_schema Query TIME starting SHOW processlist TIME_MS
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 b3ce2a44639..b0305a80b46 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
@@ -30,7 +30,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
# Ensure that the information about the own connection is correct.
#--------------------------------------------------------------------------
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 15852dae78c..7b840bd3996 100644
--- a/mysql-test/suite/funcs_1/r/processlist_val_ps.result
+++ b/mysql-test/suite/funcs_1/r/processlist_val_ps.result
@@ -30,7 +30,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` (
`QUERY_ID` bigint(4) NOT NULL,
`INFO_BINARY` blob,
`TID` bigint(4) NOT NULL
-) DEFAULT CHARSET=utf8
+) DEFAULT CHARSET=utf8mb3
# Ensure that the information about the own connection is correct.
#--------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result
index 30cbdb2c32a..1d6b631ce04 100644
--- a/mysql-test/suite/funcs_1/r/storedproc.result
+++ b/mysql-test/suite/funcs_1/r/storedproc.result
@@ -22270,8 +22270,8 @@ END//
CALL sp6 (10, 20, 30, 40, 50);
f1 f2 f3
10 30 50
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-res_t9 1 index_1 1 f1 A NULL 5 NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+res_t9 1 index_1 1 f1 A NULL 5 NULL YES BTREE NO
DROP PROCEDURE sp6;
drop table res_t9;
diff --git a/mysql-test/suite/funcs_1/t/charset_collation.test b/mysql-test/suite/funcs_1/t/charset_collation.test
index 44199c60251..d3d7a519115 100644
--- a/mysql-test/suite/funcs_1/t/charset_collation.test
+++ b/mysql-test/suite/funcs_1/t/charset_collation.test
@@ -72,7 +72,7 @@ connect (con,localhost,dbdict_test,,);
#
################################################################################
-let $char_set_condition= character_set_name IN ('utf8','latin1','binary');
+let $char_set_condition= character_set_name IN ('utf8mb3','latin1','binary');
let $collation_condition=
(collation_name LIKE CONCAT(character_set_name,'_general_ci')
OR
diff --git a/mysql-test/suite/funcs_1/t/is_columns_memory.test b/mysql-test/suite/funcs_1/t/is_columns_memory.test
index 8ec32895217..f5ed6b6e40a 100644
--- a/mysql-test/suite/funcs_1/t/is_columns_memory.test
+++ b/mysql-test/suite/funcs_1/t/is_columns_memory.test
@@ -15,6 +15,8 @@
--source include/not_embedded.inc
--source include/default_charset.inc
+--enable_prepare_warnings
+
let $engine_type= MEMORY;
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
--source suite/funcs_1/datadict/datadict_load.inc
@@ -23,4 +25,6 @@ SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
let $my_where = WHERE table_schema LIKE 'test%';
--source suite/funcs_1/datadict/columns.inc
+--disable_prepare_warnings
+
--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_columns_myisam.test b/mysql-test/suite/funcs_1/t/is_columns_myisam.test
index 9b9974044aa..97a23717b1c 100644
--- a/mysql-test/suite/funcs_1/t/is_columns_myisam.test
+++ b/mysql-test/suite/funcs_1/t/is_columns_myisam.test
@@ -15,6 +15,8 @@
--source include/not_embedded.inc
--source include/default_charset.inc
+--enable_prepare_warnings
+
let $engine_type= MyISAM;
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
--source suite/funcs_1/datadict/datadict_load.inc
@@ -23,4 +25,6 @@ SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
let $my_where = WHERE table_schema LIKE 'test%';
--source suite/funcs_1/datadict/columns.inc
+--disable_prepare_warnings
+
--source suite/funcs_1/include/cleanup.inc
diff --git a/mysql-test/suite/funcs_1/t/is_columns_myisam_embedded.test b/mysql-test/suite/funcs_1/t/is_columns_myisam_embedded.test
index bb2200604f3..3679cdebbe2 100644
--- a/mysql-test/suite/funcs_1/t/is_columns_myisam_embedded.test
+++ b/mysql-test/suite/funcs_1/t/is_columns_myisam_embedded.test
@@ -13,6 +13,7 @@
--source include/is_embedded_no_privileges.inc
let $engine_type= MyISAM;
+--enable_prepare_warnings
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
--source suite/funcs_1/datadict/datadict_load.inc
diff --git a/mysql-test/suite/funcs_1/t/myisam_views-big.test b/mysql-test/suite/funcs_1/t/myisam_views-big.test
index 21613e78b24..bf499ee789a 100644
--- a/mysql-test/suite/funcs_1/t/myisam_views-big.test
+++ b/mysql-test/suite/funcs_1/t/myisam_views-big.test
@@ -1,6 +1,6 @@
#### suite/funcs_1/t/myisam_views.test
-
---source include/no_valgrind_without_big.inc
+# Valgrind is to slow for this test
+--source include/not_valgrind.inc
# because of a pair of slow Solaris Sparc machines in pb2,
# this test is marked as big:
--source include/big_test.inc
@@ -9,6 +9,7 @@
#
# Set $engine_type
SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
+--enable_prepare_warnings
let $engine_type= myisam;
# Create some objects needed in many testcases
@@ -27,6 +28,7 @@ let $message= Attention: The nesting level @max_level in Testcase 3.3.1.A6
MyISAM(only) performance issues Bug#11948;
--source include/show_msg80.inc
SET @limit1 = 20;
+--disable_prepare_warnings
--source suite/funcs_1/views/views_master.inc
DROP DATABASE test1;
diff --git a/mysql-test/suite/funcs_1/t/storedproc.test b/mysql-test/suite/funcs_1/t/storedproc.test
index dde624bd0b9..8712919e430 100644
--- a/mysql-test/suite/funcs_1/t/storedproc.test
+++ b/mysql-test/suite/funcs_1/t/storedproc.test
@@ -10,6 +10,7 @@
#
############################################################################
+--disable_ps_protocol
--source include/default_charset.inc
set sql_mode="";
@@ -29547,3 +29548,4 @@ DROP TABLE IF EXISTS res_t1;
let $message= . +++ END OF SCRIPT +++;
--source include/show_msg80.inc
# ==============================================================================
+--enable_ps_protocol
diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc
index e49bcead9f1..19d87739b96 100644
--- a/mysql-test/suite/funcs_1/triggers/triggers_0102.inc
+++ b/mysql-test/suite/funcs_1/triggers/triggers_0102.inc
@@ -235,7 +235,7 @@ let $message= Testcase 3.5.1.7: - need to fix;
select * from t1;
update t1 set f2='update 3.5.1.7';
select * from t1;
- select trigger_name from information_schema.triggers order by trigger_name;
+ select trigger_name from information_schema.triggers where trigger_schema <> 'sys' order by trigger_name;
#Cleanup
--disable_warnings
diff --git a/mysql-test/suite/funcs_2/charset/charset_master.test b/mysql-test/suite/funcs_2/charset/charset_master.test
index 8f3ac64c753..099f44c9a02 100644
--- a/mysql-test/suite/funcs_2/charset/charset_master.test
+++ b/mysql-test/suite/funcs_2/charset/charset_master.test
@@ -38,7 +38,7 @@ if (`SELECT COUNT(*) <> 36 FROM information_schema.character_sets
'hp8' , 'keybcs2', 'koi8r' , 'koi8u' , 'latin1',
'latin2' , 'latin5' , 'latin7' , 'macce' , 'macroman',
'sjis' , 'swe7' , 'tis620' , 'ucs2' , 'ujis',
- 'utf8'
+ 'utf8mb3'
)`)
{
--skip Not all character sets required for this test are present
@@ -72,12 +72,12 @@ WHERE collation_name IN (
'ucs2_latvian_ci', 'ucs2_lithuanian_ci', 'ucs2_persian_ci', 'ucs2_polish_ci',
'ucs2_roman_ci', 'ucs2_romanian_ci', 'ucs2_slovak_ci', 'ucs2_slovenian_ci',
'ucs2_spanish2_ci', 'ucs2_spanish_ci', 'ucs2_swedish_ci', 'ucs2_turkish_ci',
-'ucs2_unicode_ci', 'ujis_bin', 'ujis_japanese_ci', 'utf8_bin',
-'utf8_czech_ci', 'utf8_danish_ci', 'utf8_estonian_ci', 'utf8_general_ci',
-'utf8_hungarian_ci', 'utf8_icelandic_ci', 'utf8_latvian_ci', 'utf8_lithuanian_ci',
-'utf8_persian_ci', 'utf8_polish_ci', 'utf8_roman_ci', 'utf8_romanian_ci',
-'utf8_slovak_ci', 'utf8_slovenian_ci', 'utf8_spanish2_ci', 'utf8_spanish_ci',
-'utf8_swedish_ci', 'utf8_turkish_ci', 'utf8_unicode_ci'
+'ucs2_unicode_ci', 'ujis_bin', 'ujis_japanese_ci', 'utf8mb3_bin',
+'utf8mb3_czech_ci', 'utf8mb3_danish_ci', 'utf8mb3_estonian_ci', 'utf8mb3_general_ci',
+'utf8mb3_hungarian_ci', 'utf8mb3_icelandic_ci', 'utf8mb3_latvian_ci', 'utf8mb3_lithuanian_ci',
+'utf8mb3_persian_ci', 'utf8mb3_polish_ci', 'utf8mb3_roman_ci', 'utf8mb3_romanian_ci',
+'utf8mb3_slovak_ci', 'utf8mb3_slovenian_ci', 'utf8mb3_spanish2_ci', 'utf8mb3_spanish_ci',
+'utf8mb3_swedish_ci', 'utf8mb3_turkish_ci', 'utf8mb3_unicode_ci'
)`)
{
--skip Not all collations required for this test are present
@@ -86,7 +86,7 @@ WHERE collation_name IN (
################################
let $check_std_csets= 1;
let $check_ucs2_csets= 1;
-let $check_utf8_csets= 1;
+let $check_utf8mb3_csets= 1;
# Bug#32784: Timeout in test "innodb_charset": InnoDB much slower
# than other handlers
@@ -104,7 +104,7 @@ SET autocommit=0;
################################
let $check_std_csets= 1;
let $check_ucs2_csets= 1;
-let $check_utf8_csets= 1;
+let $check_utf8mb3_csets= 1;
#
# Check all charsets/collation combinations
@@ -610,7 +610,7 @@ let $coll= ucs2_unicode_ci;
}
-if ($check_utf8_csets)
+if ($check_utf8mb3_csets)
{
# utf8
diff --git a/mysql-test/suite/funcs_2/r/innodb_charset.result b/mysql-test/suite/funcs_2/r/innodb_charset.result
index 1ce5972eccc..3f4e2af12e5 100644
--- a/mysql-test/suite/funcs_2/r/innodb_charset.result
+++ b/mysql-test/suite/funcs_2/r/innodb_charset.result
@@ -17563,7 +17563,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_bin;
@@ -20104,7 +20104,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
@@ -22645,7 +22645,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
@@ -25186,7 +25186,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_estonian_ci;
@@ -27727,7 +27727,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_general_ci;
@@ -30268,7 +30268,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_hungarian_ci;
@@ -32809,7 +32809,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_icelandic_ci;
@@ -35350,7 +35350,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_latvian_ci;
@@ -37891,7 +37891,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_lithuanian_ci;
@@ -40432,7 +40432,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_persian_ci;
@@ -42973,7 +42973,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_polish_ci;
@@ -45514,7 +45514,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_roman_ci;
@@ -48055,7 +48055,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_romanian_ci;
@@ -50596,7 +50596,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovak_ci;
@@ -53137,7 +53137,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovenian_ci;
@@ -55678,7 +55678,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish2_ci;
@@ -58219,7 +58219,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish_ci;
@@ -60760,7 +60760,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_swedish_ci;
@@ -63301,7 +63301,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_turkish_ci;
@@ -65842,7 +65842,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=InnoDB CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
@@ -68382,7 +68382,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_bin) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_bin # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_bin # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -70921,7 +70921,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_czech_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_czech_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_czech_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_czech_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -73460,7 +73460,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_danish_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_danish_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_danish_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_danish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -75999,7 +75999,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_estonian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_estonian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_estonian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_estonian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -78538,7 +78538,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_general_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -81077,7 +81077,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_hungarian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_hungarian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_hungarian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -83616,7 +83616,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_icelandic_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_icelandic_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_icelandic_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_icelandic_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -86155,7 +86155,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_latvian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_latvian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_latvian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_latvian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -88694,7 +88694,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_lithuanian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_lithuanian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_lithuanian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_lithuanian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -91233,7 +91233,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_persian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_persian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_persian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_persian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -93772,7 +93772,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_polish_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_polish_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_polish_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_polish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -96311,7 +96311,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_roman_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_roman_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_roman_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_roman_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -98850,7 +98850,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_romanian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_romanian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_romanian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_romanian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -101389,7 +101389,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovak_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_slovak_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_slovak_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_slovak_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -103928,7 +103928,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovenian_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_slovenian_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_slovenian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -106467,7 +106467,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish2_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_spanish2_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_spanish2_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_spanish2_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -109006,7 +109006,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_spanish_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_spanish_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_spanish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -111545,7 +111545,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_swedish_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_swedish_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_swedish_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_swedish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -114084,7 +114084,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_turkish_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_turkish_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_turkish_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_turkish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -116623,7 +116623,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_unicode_ci;
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 Max_index_length Temporary
-t1 InnoDB # # # # # # # # # # # # utf8_unicode_ci # # # 0 N
+t1 InnoDB # # # # # # # # # # # # utf8mb3_unicode_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
diff --git a/mysql-test/suite/funcs_2/r/memory_charset.result b/mysql-test/suite/funcs_2/r/memory_charset.result
index 66cdada9b61..bf21eac2a53 100644
--- a/mysql-test/suite/funcs_2/r/memory_charset.result
+++ b/mysql-test/suite/funcs_2/r/memory_charset.result
@@ -17563,7 +17563,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_bin;
@@ -20104,7 +20104,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
@@ -22645,7 +22645,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
@@ -25186,7 +25186,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_estonian_ci;
@@ -27727,7 +27727,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_general_ci;
@@ -30268,7 +30268,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_hungarian_ci;
@@ -32809,7 +32809,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_icelandic_ci;
@@ -35350,7 +35350,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_latvian_ci;
@@ -37891,7 +37891,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_lithuanian_ci;
@@ -40432,7 +40432,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_persian_ci;
@@ -42973,7 +42973,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_polish_ci;
@@ -45514,7 +45514,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_roman_ci;
@@ -48055,7 +48055,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_romanian_ci;
@@ -50596,7 +50596,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovak_ci;
@@ -53137,7 +53137,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovenian_ci;
@@ -55678,7 +55678,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish2_ci;
@@ -58219,7 +58219,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish_ci;
@@ -60760,7 +60760,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_swedish_ci;
@@ -63301,7 +63301,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_turkish_ci;
@@ -65842,7 +65842,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=Memory CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
@@ -68382,7 +68382,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_bin) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_bin;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_bin # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_bin # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -70921,7 +70921,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_czech_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_czech_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_czech_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_czech_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -73460,7 +73460,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_danish_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_danish_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_danish_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_danish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -75999,7 +75999,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_estonian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_estonian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_estonian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_estonian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -78538,7 +78538,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_general_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_general_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_general_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_general_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -81077,7 +81077,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_hungarian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_hungarian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_hungarian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -83616,7 +83616,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_icelandic_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_icelandic_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_icelandic_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_icelandic_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -86155,7 +86155,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_latvian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_latvian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_latvian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_latvian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -88694,7 +88694,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_lithuanian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_lithuanian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_lithuanian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_lithuanian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -91233,7 +91233,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_persian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_persian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_persian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_persian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -93772,7 +93772,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_polish_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_polish_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_polish_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_polish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -96311,7 +96311,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_roman_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_roman_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_roman_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_roman_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -98850,7 +98850,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_romanian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_romanian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_romanian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_romanian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -101389,7 +101389,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovak_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_slovak_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_slovak_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_slovak_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -103928,7 +103928,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovenian_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_slovenian_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_slovenian_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -106467,7 +106467,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish2_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_spanish2_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_spanish2_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_spanish2_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -109006,7 +109006,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_spanish_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_spanish_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_spanish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -111545,7 +111545,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_swedish_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_swedish_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_swedish_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_swedish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -114084,7 +114084,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_turkish_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_turkish_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_turkish_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_turkish_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -116623,7 +116623,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=Memory CHARACTER SET utf8 COLLATE utf8_unicode_ci;
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 Max_index_length Temporary
-t1 MEMORY # # # # # # # # # # # # utf8_unicode_ci # # # 0 N
+t1 MEMORY # # # # # # # # # # # # utf8mb3_unicode_ci # # # 0 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
diff --git a/mysql-test/suite/funcs_2/r/myisam_charset.result b/mysql-test/suite/funcs_2/r/myisam_charset.result
index 9950b446a63..b6cbebd4ec1 100644
--- a/mysql-test/suite/funcs_2/r/myisam_charset.result
+++ b/mysql-test/suite/funcs_2/r/myisam_charset.result
@@ -17563,7 +17563,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_bin;
@@ -20104,7 +20104,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
@@ -22645,7 +22645,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
@@ -25186,7 +25186,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_estonian_ci;
@@ -27727,7 +27727,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_general_ci;
@@ -30268,7 +30268,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_hungarian_ci;
@@ -32809,7 +32809,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_icelandic_ci;
@@ -35350,7 +35350,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_latvian_ci;
@@ -37891,7 +37891,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_lithuanian_ci;
@@ -40432,7 +40432,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_persian_ci;
@@ -42973,7 +42973,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_polish_ci;
@@ -45514,7 +45514,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_roman_ci;
@@ -48055,7 +48055,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_romanian_ci;
@@ -50596,7 +50596,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovak_ci;
@@ -53137,7 +53137,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovenian_ci;
@@ -55678,7 +55678,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish2_ci;
@@ -58219,7 +58219,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish_ci;
@@ -60760,7 +60760,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_swedish_ci;
@@ -63301,7 +63301,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_turkish_ci;
@@ -65842,7 +65842,7 @@ SET NAMES utf8;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
@@ -68382,7 +68382,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_bin) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_bin # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_bin # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -70921,7 +70921,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_czech_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_czech_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_czech_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_czech_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -73460,7 +73460,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_danish_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_danish_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_danish_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_danish_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -75999,7 +75999,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_estonian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_estonian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_estonian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_estonian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -78538,7 +78538,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_general_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_general_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_general_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -81077,7 +81077,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_hungarian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_hungarian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_hungarian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -83616,7 +83616,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_icelandic_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_icelandic_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_icelandic_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_icelandic_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -86155,7 +86155,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_latvian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_latvian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_latvian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_latvian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -88694,7 +88694,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_lithuanian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_lithuanian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_lithuanian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_lithuanian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -91233,7 +91233,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_persian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_persian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_persian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_persian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -93772,7 +93772,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_polish_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_polish_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_polish_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_polish_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -96311,7 +96311,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_roman_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_roman_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_roman_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_roman_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -98850,7 +98850,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_romanian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_romanian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_romanian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_romanian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -101389,7 +101389,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovak_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_slovak_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_slovak_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_slovak_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -103928,7 +103928,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovenian_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_slovenian_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_slovenian_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -106467,7 +106467,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish2_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_spanish2_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_spanish2_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_spanish2_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -109006,7 +109006,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_spanish_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_spanish_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_spanish_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -111545,7 +111545,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_swedish_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_swedish_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_swedish_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_swedish_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -114084,7 +114084,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_turkish_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_turkish_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_turkish_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_turkish_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
@@ -116623,7 +116623,7 @@ USE test;
CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;
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 Max_index_length Temporary
-t1 MyISAM # # # # # # # # # # # # utf8_unicode_ci # # # 17179868160 N
+t1 MyISAM # # # # # # # # # # # # utf8mb3_unicode_ci # # # 17179868160 N
LOAD DATA INFILE
'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def
index 8202ac7d44c..4099caad3b3 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -28,12 +28,17 @@ galera_parallel_simple : MDEV-20318 galera.galera_parallel_simple fails
galera_pc_ignore_sb : MDEV-20888 galera.galera_pc_ignore_sb
galera_pc_recovery : MDEV-25199 cluster fails to start up
galera_shutdown_nonprim : MDEV-21493 galera.galera_shutdown_nonprim
+galera_sst_mysqldump : MDEV-26501 : galera.galera_sst_mysqldump MTR failed: galera SST with mysqldump failed
galera_trigger : MDEV-24048 galera.galera_trigger MTR fails: Result content mismatch
+galera_unicode_identifiers : MDEV-26500 : galera.galera_unicode_identifiers MTR failed: InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.mutex
+galera_var_dirty_reads : MDEV-25615 Galera test failure on galera_var_dirty_reads
galera_var_ignore_apply_errors : MDEV-26770 galera_var_ignore_apply_errors fails Server did not transition to READY state
galera_var_node_address : MDEV-20485 Galera test failure
galera_var_notify_cmd : MDEV-21905 Galera test galera_var_notify_cmd causes hang
galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit
+galera_wsrep_provider_unset_set: wsrep_provider is read-only for security reasons
partition : MDEV-19958 Galera test failure on galera.partition
+pxc-421: wsrep_provider is read-only for security reasons
query_cache: MDEV-15805 Test failure on galera.query_cache
versioning_trx_id: MDEV-18590: galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
galera_bf_abort_at_after_statement : Unstable
diff --git a/mysql-test/suite/galera/include/galera_sst_restore.inc b/mysql-test/suite/galera/include/galera_sst_restore.inc
index 83d07f086d1..3248c06c509 100644
--- a/mysql-test/suite/galera/include/galera_sst_restore.inc
+++ b/mysql-test/suite/galera/include/galera_sst_restore.inc
@@ -4,7 +4,7 @@
#
--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");
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB 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';
@@ -14,7 +14,7 @@ CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the
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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/MW-416.result b/mysql-test/suite/galera/r/MW-416.result
index 68406c4dcf4..ae95b832802 100644
--- a/mysql-test/suite/galera/r/MW-416.result
+++ b/mysql-test/suite/galera/r/MW-416.result
@@ -110,4 +110,5 @@ information_schema
mtr
mysql
performance_schema
+sys
test
diff --git a/mysql-test/suite/galera/r/galera_UK_conflict.result b/mysql-test/suite/galera/r/galera_UK_conflict.result
index b0420d58ede..402289d7ef8 100644
--- a/mysql-test/suite/galera/r/galera_UK_conflict.result
+++ b/mysql-test/suite/galera/r/galera_UK_conflict.result
@@ -144,6 +144,7 @@ SET debug_sync='RESET';
connection node_1;
SET GLOBAL wsrep_slave_threads = DEFAULT;
connection node_2;
+SET SESSION wsrep_sync_wait=15;
SELECT * FROM t1;
f1 f2 f3
1 1 0
diff --git a/mysql-test/suite/galera/r/galera_admin.result b/mysql-test/suite/galera/r/galera_admin.result
index 01e2aac16b2..f733b7b6484 100644
--- a/mysql-test/suite/galera/r/galera_admin.result
+++ b/mysql-test/suite/galera/r/galera_admin.result
@@ -5,7 +5,7 @@ DROP TABLE IF EXISTS x1, x2;
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;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
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);
@@ -57,4 +57,61 @@ COUNT(*) = 10
connection node_1;
DROP TABLE t1, t2;
DROP TABLE x1, x2;
-SET GLOBAL wsrep_replicate_myisam = FALSE;
+#
+# ARIA
+#
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+CREATE TABLE x1 (f1 INTEGER) ENGINE=ARIA;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=ARIA;
+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;
+# ANALYZE test
+connection node_2;
+connection node_1;
+ANALYZE TABLE t1, t2;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+connection node_2;
+# OPTIMIZE test
+connection node_2;
+connection node_1;
+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
+connection node_2;
+# REPAIR test
+connection node_2;
+connection node_1;
+REPAIR TABLE x1, x2;
+Table Op Msg_type Msg_text
+test.x1 repair status OK
+test.x2 repair status OK
+connection node_2;
+connection node_2;
+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
+connection node_1;
+DROP TABLE t1, t2;
+DROP TABLE x1, x2;
diff --git a/mysql-test/suite/galera/r/galera_alter_engine_myisam.result b/mysql-test/suite/galera/r/galera_alter_engine_myisam.result
index b3a9bdd30df..f29c83cad95 100644
--- a/mysql-test/suite/galera/r/galera_alter_engine_myisam.result
+++ b/mysql-test/suite/galera/r/galera_alter_engine_myisam.result
@@ -1,6 +1,6 @@
connection node_2;
connection node_1;
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1);
ALTER TABLE t1 ENGINE=InnoDB;
@@ -11,5 +11,18 @@ ENGINE = 'InnoDB'
SELECT COUNT(*) = 1 FROM t1;
COUNT(*) = 1
1
+DROP TABLE t1;
connection node_1;
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=ARIA;
+INSERT INTO t1 VALUES (1);
+ALTER TABLE t1 ENGINE=InnoDB;
+connection node_2;
+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;
+connection node_1;
diff --git a/mysql-test/suite/galera/r/galera_bf_kill_debug.result b/mysql-test/suite/galera/r/galera_bf_kill_debug.result
new file mode 100644
index 00000000000..c3eae243f47
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_bf_kill_debug.result
@@ -0,0 +1,54 @@
+connection node_2;
+connection node_1;
+connection node_2;
+CREATE TABLE t1(a int not null primary key auto_increment,b int) engine=InnoDB;
+insert into t1 values (NULL,1);
+connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
+connection node_2a;
+truncate t1;
+insert into t1 values (1,0);
+begin;
+update t1 set b=2 where a=1;
+connection node_2;
+set session wsrep_sync_wait=0;
+connect node_2b, 127.0.0.1, root, , test, $NODE_MYPORT_2;
+connection node_2b;
+SET GLOBAL debug_dbug = "d,sync.before_wsrep_thd_abort";
+connection node_1;
+select * from t1;
+a b
+1 0
+update t1 set b= 1 where a=1;
+connection node_2b;
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.before_wsrep_thd_abort_reached";
+connection node_2;
+SET DEBUG_SYNC= 'before_awake_no_mutex SIGNAL awake_reached WAIT_FOR continue_kill';
+connection node_2b;
+SET DEBUG_SYNC='now WAIT_FOR awake_reached';
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.before_wsrep_thd_abort";
+SET DEBUG_SYNC = "now SIGNAL continue_kill";
+connection node_2;
+connection node_2a;
+select * from t1;
+connection node_2;
+SET DEBUG_SYNC = "RESET";
+drop table t1;
+disconnect node_2a;
+connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
+connection node_2a;
+CREATE TABLE t1 (i int primary key);
+SET DEBUG_SYNC = "before_wsrep_ordered_commit SIGNAL bwoc_reached WAIT_FOR bwoc_continue";
+INSERT INTO t1 VALUES (1);
+connection node_2;
+SET DEBUG_SYNC = "now WAIT_FOR bwoc_reached";
+SET DEBUG_SYNC = "now SIGNAL bwoc_continue";
+SET DEBUG_SYNC='RESET';
+connection node_2a;
+connection node_2;
+select * from t1;
+i
+1
+disconnect node_2a;
+connection node_1;
+drop table t1;
diff --git a/mysql-test/suite/galera/r/galera_binlog_checksum.result b/mysql-test/suite/galera/r/galera_binlog_checksum.result
index 3ef7cf5c41e..3bd0bf42f96 100644
--- a/mysql-test/suite/galera/r/galera_binlog_checksum.result
+++ b/mysql-test/suite/galera/r/galera_binlog_checksum.result
@@ -18,8 +18,8 @@ DROP TABLE t1;
# enabled
#
connection node_1;
-SET @@global.wsrep_replicate_myisam=1;
-CREATE TABLE t1 (i INT) ENGINE=MYISAM;
+SET @@global.wsrep_mode = REPLICATE_MYISAM;
+CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=MYISAM;
INSERT INTO t1 VALUES(1);
connection node_2;
SELECT * FROM t1;
@@ -27,5 +27,4 @@ i
1
connection node_1;
DROP TABLE t1;
-SET @@global.wsrep_replicate_myisam=0;
# End of tests.
diff --git a/mysql-test/suite/galera/r/galera_can_run_toi.result b/mysql-test/suite/galera/r/galera_can_run_toi.result
index f0d1912870c..1a3a377f82e 100644
--- a/mysql-test/suite/galera/r/galera_can_run_toi.result
+++ b/mysql-test/suite/galera/r/galera_can_run_toi.result
@@ -25,11 +25,10 @@ SET SESSION default_storage_engine=MyISAM;
SELECT @@default_storage_engine;
@@default_storage_engine
MyISAM
-SET GLOBAL wsrep_replicate_myisam=OFF;
-SET GLOBAL wsrep_strict_ddl=ON;
+SET GLOBAL wsrep_mode=STRICT_REPLICATION;
CREATE TABLE t3 (c1 VARCHAR(10)) ENGINE=InnoDB;
ALTER TABLE t3 ENGINE=NonExistentEngine;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TABLE `t3` (
diff --git a/mysql-test/suite/galera/r/galera_defaults.result b/mysql-test/suite/galera/r/galera_defaults.result
index e474c885473..bc9927b21d9 100644
--- a/mysql-test/suite/galera/r/galera_defaults.result
+++ b/mysql-test/suite/galera/r/galera_defaults.result
@@ -1,9 +1,9 @@
connection node_2;
connection node_1;
# Correct Galera library found
-SELECT COUNT(*) `expect 49` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
-expect 49
-50
+SELECT COUNT(*) `expect 51` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
+expect 51
+51
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME LIKE 'wsrep_%'
@@ -40,6 +40,7 @@ WSREP_LOAD_DATA_SPLITTING OFF
WSREP_LOG_CONFLICTS OFF
WSREP_MAX_WS_ROWS 0
WSREP_MAX_WS_SIZE 2147483647
+WSREP_MODE
WSREP_MYSQL_REPLICATION_BUNDLE 0
WSREP_NOTIFY_CMD
WSREP_ON ON
diff --git a/mysql-test/suite/galera/r/galera_disallow_local_gtid.result b/mysql-test/suite/galera/r/galera_disallow_local_gtid.result
new file mode 100644
index 00000000000..0ec0d7149d7
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_disallow_local_gtid.result
@@ -0,0 +1,99 @@
+connection node_2;
+connection node_1;
+call mtr.add_suppression("WSREP: ALTER TABLE isolation failure");
+connection node_1;
+CREATE TABLE tab(a int not null primary key) engine=InnoDB;
+CREATE TABLE tab1(a int not null primary key) engine=MyISAM;
+CREATE TABLE tab2(a int not null primary key) engine=Aria;
+CREATE TABLE tab3(a int not null primary key) engine=MEMORY;
+SET GLOBAL wsrep_mode = DISALLOW_LOCAL_GTID;
+SET SESSION wsrep_OSU_method='RSU';
+ALTER TABLE tab FORCE;
+ERROR HY000: Galera replication not supported
+SET SESSiON sql_log_bin=0;
+ALTER TABLE tab FORCE;
+SET SESSION wsrep_OSU_method='TOI';
+SET SESSION sql_log_bin=1;
+SET SESSION wsrep_on=OFF;
+INSERT INTO tab VALUES (1);
+ERROR HY000: Galera replication not supported
+SET SESSiON sql_log_bin=0;
+INSERT INTO tab VALUES (1);
+SET SESSiON sql_log_bin=1;
+SET SESSION wsrep_on=ON;
+INSERT INTO tab VALUES (2);
+SELECT * FROM tab;
+a
+1
+2
+connection node_2;
+SELECT * FROM tab;
+a
+2
+connection node_1;
+INSERT INTO tab1 VALUES(1);
+ERROR HY000: Galera replication not supported
+INSERT INTO tab2 VALUES(1);
+ERROR HY000: Galera replication not supported
+INSERT INTO tab3 VALUES(1);
+ERROR HY000: Galera replication not supported
+SET GLOBAL wsrep_mode = "DISALLOW_LOCAL_GTID,REPLICATE_MYISAM,REPLICATE_ARIA";
+INSERT INTO tab1 VALUES(2);
+INSERT INTO tab2 VALUES(2);
+INSERT INTO tab3 VALUES(2);
+ERROR HY000: Galera replication not supported
+SET SESSiON sql_log_bin=0;
+INSERT INTO tab1 VALUES(3);
+INSERT INTO tab2 VALUES(3);
+INSERT INTO tab3 VALUES(3);
+SET SESSION sql_log_bin=1;
+SET SESSION wsrep_on=OFF;
+INSERT INTO tab1 VALUES(4);
+ERROR HY000: Galera replication not supported
+INSERT INTO tab2 VALUES(4);
+ERROR HY000: Galera replication not supported
+INSERT INTO tab3 VALUES(4);
+ERROR HY000: Galera replication not supported
+SET SESSiON sql_log_bin=0;
+INSERT INTO tab1 VALUES(5);
+INSERT INTO tab2 VALUES(5);
+INSERT INTO tab3 VALUES(5);
+SET SESSION wsrep_on=ON;
+INSERT INTO tab1 VALUES(6);
+INSERT INTO tab2 VALUES(6);
+INSERT INTO tab3 VALUES(6);
+SELECT * FROM tab1;
+a
+2
+3
+5
+6
+SELECT * FROM tab2;
+a
+2
+3
+5
+6
+SELECT * FROM tab3;
+a
+3
+5
+6
+connection node_2;
+SELECT * FROM tab1;
+a
+2
+3
+6
+SELECT * FROM tab2;
+a
+2
+3
+6
+SELECT * FROM tab3;
+a
+connection node_1;
+DROP TABLE tab;
+DROP TABLE tab1;
+DROP TABLE tab2;
+DROP TABLE tab3;
diff --git a/mysql-test/suite/galera/r/galera_flush_local.result b/mysql-test/suite/galera/r/galera_flush_local.result
index 146833fc3c8..66884cd104e 100644
--- a/mysql-test/suite/galera/r/galera_flush_local.result
+++ b/mysql-test/suite/galera/r/galera_flush_local.result
@@ -2,6 +2,7 @@ connection node_2;
connection node_1;
DROP TABLE IF EXISTS t1, t2, x1, x2;
connection node_1;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
CREATE TABLE t1 (f1 INTEGER);
CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
@@ -64,18 +65,18 @@ test.x2 repair status OK
connection node_2;
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
+SELECT COUNT(*) AS EXPECT_10 FROM t1;
+EXPECT_10
+10
+SELECT COUNT(*) AS EXPECT_10 FROM x1;
+EXPECT_10
+10
+SELECT COUNT(*) AS EXPECT_10000 FROM t2;
+EXPECT_10000
+10000
+SELECT COUNT(*) AS EXPECT_10 FROM x2;
+EXPECT_10
+10
connection node_1;
DROP TABLE t1, t2, x1, x2;
CREATE TABLE t1 (f1 INTEGER);
@@ -143,18 +144,18 @@ 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
+SELECT COUNT(*) AS EXPECT_10 FROM t1;
+EXPECT_10
+10
+SELECT COUNT(*) AS EXPECT_10 FROM x1;
+EXPECT_10
+10
+SELECT COUNT(*) AS EXPECT_10000 FROM t2;
+EXPECT_10000
+10000
+SELECT COUNT(*) AS EXPECT_10 FROM x2;
+EXPECT_10
+10
connection node_1;
set wsrep_on=1;
DROP TABLE t1, t2, x1, x2;
diff --git a/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result b/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
index a0a45446eff..faa85126f03 100644
--- a/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
+++ b/mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
@@ -99,19 +99,19 @@ Killing server ...
connection node_1;
Killing server ...
connection node_1_insert_simple;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1_insert_multi;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1_insert_transaction;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1_update_simple;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1_insert_1k;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1_insert_1m;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1_insert_10m;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1;
Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ...
diff --git a/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff b/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff
index e4e255deea2..3ee121fdefa 100644
--- a/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff
+++ b/mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff
@@ -1,12 +1,13 @@
---- r/galera_ist_mysqldump.result 2021-04-10 14:23:23.158282307 +0300
-+++ r/galera_ist_mysqldump,debug.reject 2021-04-10 15:27:13.316299695 +0300
-@@ -354,6 +354,190 @@
+--- r/galera_ist_mysqldump.result
++++ r/galera_ist_mysqldump,debug.reject
+@@ -354,11 +354,195 @@
1
DROP TABLE t1;
COMMIT;
+Performing State Transfer on a server that has been killed and restarted
+while a DDL was in progress on it
-+connection node_1;
+ 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");
+CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
@@ -188,6 +189,12 @@
+DROP TABLE t1;
+COMMIT;
+SET GLOBAL debug_dbug = $debug_orig;
- 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");
++connection node_1;
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/galera_ist_mysqldump,release.rdiff b/mysql-test/suite/galera/r/galera_ist_mysqldump,release.rdiff
new file mode 100644
index 00000000000..5cd6f4a38a3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_ist_mysqldump,release.rdiff
@@ -0,0 +1,15 @@
+--- r/galera_ist_mysqldump.result
++++ r/galera_ist_mysqldump.reject
+@@ -355,10 +355,10 @@
+ DROP TABLE t1;
+ COMMIT;
+ 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");
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ 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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/galera_myisam_transactions.result b/mysql-test/suite/galera/r/galera_myisam_transactions.result
index 8a30e265d28..04f68c29305 100644
--- a/mysql-test/suite/galera/r/galera_myisam_transactions.result
+++ b/mysql-test/suite/galera/r/galera_myisam_transactions.result
@@ -39,6 +39,8 @@ COUNT(*) = 0
DROP TABLE t1, t2, t3;
SET SESSION lock_wait_timeout=2;
SET GLOBAL wsrep_replicate_myisam= ON;
+Warnings:
+Warning 1287 '@@wsrep_replicate_myisam' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=REPLICATE_MYISAM' instead
CREATE TEMPORARY TABLE t1 (i INT, PRIMARY KEY pk (i)) ENGINE=MyISAM;
Warnings:
Warning 1280 Name 'pk' ignored for PRIMARY key.
@@ -48,3 +50,5 @@ DEALLOCATE PREPARE stmt;
COMMIT;
DROP TABLE t1;
SET GLOBAL wsrep_replicate_myisam=OFF;
+Warnings:
+Warning 1287 '@@wsrep_replicate_myisam' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=REPLICATE_MYISAM' instead
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff b/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff
index e73a27ad0ac..ce99b3830e8 100644
--- a/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff
@@ -1,12 +1,13 @@
---- r/galera_sst_mysqldump.result 2021-04-18 13:15:29.909314729 +0300
-+++ r/galera_sst_mysqldump.reject 2021-04-18 13:50:47.096965646 +0300
-@@ -698,6 +698,190 @@
+--- r/galera_sst_mysqldump.result
++++ r/galera_sst_mysqldump,debug.reject
+@@ -698,11 +698,195 @@
1
DROP TABLE t1;
COMMIT;
+Performing State Transfer on a server that has been killed and restarted
+while a DDL was in progress on it
-+connection node_1;
+ 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");
+CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
@@ -188,6 +189,12 @@
+DROP TABLE t1;
+COMMIT;
+SET GLOBAL debug_dbug = $debug_orig;
- 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");
++connection node_1;
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump,release.rdiff b/mysql-test/suite/galera/r/galera_sst_mysqldump,release.rdiff
new file mode 100644
index 00000000000..90ce82f3ca1
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump,release.rdiff
@@ -0,0 +1,15 @@
+--- r/galera_sst_mysqldump.result
++++ r/galera_sst_mysqldump.reject
+@@ -699,10 +699,10 @@
+ DROP TABLE t1;
+ COMMIT;
+ 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");
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ 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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
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
index 7d73f7a6ae6..078ed73663d 100644
--- 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
@@ -1,12 +1,13 @@
---- r/galera_sst_mysqldump_with_key.result 2021-04-10 14:33:29.441606621 +0300
-+++ r/galera_sst_mysqldump_with_key,debug.reject 2021-04-10 15:02:45.367881573 +0300
-@@ -358,6 +358,190 @@
+--- r/galera_sst_mysqldump_with_key.result
++++ r/galera_sst_mysqldump_with_key,debug.reject
+@@ -358,11 +358,195 @@
1
DROP TABLE t1;
COMMIT;
+Performing State Transfer on a server that has been killed and restarted
+while a DDL was in progress on it
-+connection node_1;
+ 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");
+CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
@@ -188,6 +189,12 @@
+DROP TABLE t1;
+COMMIT;
+SET GLOBAL debug_dbug = $debug_orig;
- 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");
++connection node_1;
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,release.rdiff b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,release.rdiff
new file mode 100644
index 00000000000..f8b39fbf3bf
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,release.rdiff
@@ -0,0 +1,15 @@
+--- r/galera_sst_mysqldump_with_key.result
++++ r/galera_sst_mysqldump_with_key.reject
+@@ -359,10 +359,10 @@
+ DROP TABLE t1;
+ COMMIT;
+ 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");
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ 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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/galera_strict_require_innodb.result b/mysql-test/suite/galera/r/galera_strict_require_innodb.result
new file mode 100644
index 00000000000..cc243cd3813
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_strict_require_innodb.result
@@ -0,0 +1,120 @@
+connection node_2;
+connection node_1;
+call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine .*");
+CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
+CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
+CREATE TABLE t3(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=ARIA;
+CREATE TABLE t4(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MEMORY;
+SET GLOBAL log_warnings=2;
+SET GLOBAL wsrep_mode = "STRICT_REPLICATION,REPLICATE_MYISAM,REPLICATE_ARIA";
+INSERT INTO t1 values (1,'innodb1');
+INSERT INTO t2 values (1,'myisam1');
+INSERT INTO t3 values (1,'aria1');
+INSERT INTO t4 values (1,'memory1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+SET GLOBAL wsrep_mode = "STRICT_REPLICATION,REPLICATE_ARIA";
+INSERT INTO t2 values (2,'myisam2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MyISAM for table 'test'.'t2' is not supported in Galera
+SET GLOBAL wsrep_mode = "STRICT_REPLICATION,REPLICATE_MYISAM";
+INSERT INTO t3 values (2,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+SET GLOBAL log_warnings=1;
+INSERT INTO t1 values (3,'innodb3');
+INSERT INTO t2 values (3,'myisam3');
+INSERT INTO t3 values (3,'aria3');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (3,'memory3');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+include/assert_grep.inc [WSREP: wsrep_mode = STRICT_REPLICATION enabled.]
+SET GLOBAL log_warnings=2;
+INSERT INTO t2 values (4,'myisam3');
+INSERT INTO t3 values (4,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (4,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (5,'myisam3');
+INSERT INTO t3 values (5,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (5,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (6,'myisam3');
+INSERT INTO t3 values (6,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (6,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (7,'myisam3');
+INSERT INTO t3 values (7,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (7,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (8,'myisam3');
+INSERT INTO t3 values (8,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (8,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (9,'myisam3');
+INSERT INTO t3 values (9,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (9,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (10,'myisam3');
+INSERT INTO t3 values (10,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (10,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+INSERT INTO t2 values (11,'myisam3');
+INSERT INTO t3 values (11,'aria2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria for table 'test'.'t3' is not supported in Galera
+INSERT INTO t4 values (11,'memory2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MEMORY for table 'test'.'t4' is not supported in Galera
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+EXPECT_2
+2
+SELECT COUNT(*) AS EXPECT_10 FROM t2;
+EXPECT_10
+11
+SELECT COUNT(*) AS EXPECT_10 FROM t3;
+EXPECT_10
+11
+SELECT COUNT(*) AS EXPECT_10 FROM t4;
+EXPECT_10
+10
+connection node_2;
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+EXPECT_2
+2
+SELECT COUNT(*) AS EXPECT_10 FROM t2;
+EXPECT_10
+10
+SELECT COUNT(*) AS EXPECT_1 FROM t3;
+EXPECT_1
+1
+SELECT COUNT(*) AS EXPECT_0 FROM t4;
+EXPECT_0
+0
+connection node_1;
+SET GLOBAL wsrep_mode= DEFAULT;
+DROP TABLE t1,t2,t3,t4;
+include/assert_grep.inc [WSREP: wsrep_mode = STRICT_REPLICATION enabled.]
+include/assert_grep.inc [WSREP: Suppressing warnings of type 'WSREP_REQUIRE_INNODB' for up to 300 seconds because of flooding]
diff --git a/mysql-test/suite/galera/r/galera_strict_require_primary_key.result b/mysql-test/suite/galera/r/galera_strict_require_primary_key.result
new file mode 100644
index 00000000000..4a05f6405ed
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_strict_require_primary_key.result
@@ -0,0 +1,209 @@
+connection node_2;
+connection node_1;
+call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table .*");
+CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
+CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
+CREATE TABLE t3(a int, b varchar(50)) ENGINE=MEMORY;
+CREATE TABLE t4(a int, b varchar(50)) ENGINE=ARIA;
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA";
+SET GLOBAL log_warnings=2;
+INSERT INTO t1 values (1,'test1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t2 values (1,'myisam1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t3 values (1,'memory1');
+INSERT INTO t4 values (1,'aria1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_ARIA";
+INSERT INTO t2 values (2,'myisam2');
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM";
+INSERT INTO t4 values (2,'ARIA2');
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA";
+SET GLOBAL log_warnings=1;
+INSERT INTO t1 values (21,'not1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (22,'not2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t2 values (21,'not1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (22,'not2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t4 values (21,'not1');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (22,'not2');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+include/assert_grep.inc [WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.]
+SET GLOBAL log_warnings=2;
+INSERT INTO t1 values (6,'test6');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (7,'test7');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (8,'test8');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (9,'test9');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (10,'test10');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (11,'test11');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (12,'test12');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (13,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (33,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (34,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (35,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (36,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (37,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (38,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t1 values (39,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t1' should have PRIMARY KEY defined.
+INSERT INTO t2 values (6,'test6');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (7,'test7');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (8,'test8');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (9,'test9');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (10,'test10');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (11,'test11');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (12,'test12');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (13,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (33,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (34,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (35,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (36,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (37,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (38,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t2 values (39,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t2' should have PRIMARY KEY defined.
+INSERT INTO t4 values (6,'test6');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (7,'test7');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (8,'test8');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (9,'test9');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (10,'test10');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (11,'test11');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (12,'test12');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (13,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (33,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (34,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (35,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (36,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (37,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (38,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+INSERT INTO t4 values (39,'test13');
+Warnings:
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table 'test'.'t4' should have PRIMARY KEY defined.
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+EXPECT_18
+18
+SELECT COUNT(*) AS EXPECT_19 FROM t2;
+EXPECT_19
+19
+SELECT COUNT(*) AS EXPECT_1 FROM t3;
+EXPECT_1
+1
+SELECT COUNT(*) AS EXPECT_19 FROM t4;
+EXPECT_19
+19
+connection node_2;
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+EXPECT_18
+18
+SELECT COUNT(*) AS EXPECT_18 FROM t2;
+EXPECT_18
+18
+SELECT COUNT(*) AS EXPECT_0 FROM t3;
+EXPECT_0
+0
+SELECT COUNT(*) AS EXPECT_18 FROM t4;
+EXPECT_18
+18
+connection node_1;
+DROP TABLE t1,t2,t3,t4;
+include/assert_grep.inc [WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.]
+include/assert_grep.inc [WSREP: Suppressing warnings of type 'WSREP_REQUIRE_PRIMARY_KEY' for up to 300 seconds because of flooding]
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
index 2493075b635..6e55c59ad15 100644
--- a/mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result
+++ b/mysql-test/suite/galera/r/galera_toi_ddl_fk_insert.result
@@ -23,6 +23,22 @@ connection node_1a;
connection node_1b;
connection node_2;
connection node_2a;
+connection node_1;
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) FROM parent;
+COUNT(*)
+20001
+SELECT COUNT(*) FROM child;
+COUNT(*)
+10000
+connection node_2;
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) FROM parent;
+COUNT(*)
+20001
+SELECT COUNT(*) FROM child;
+COUNT(*)
+10000
DROP TABLE child;
DROP TABLE parent;
DROP TABLE ten;
diff --git a/mysql-test/suite/galera/r/galera_var_replicate_aria_off.result b/mysql-test/suite/galera/r/galera_var_replicate_aria_off.result
new file mode 100644
index 00000000000..550df8d35ac
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_replicate_aria_off.result
@@ -0,0 +1,15 @@
+connection node_2;
+connection node_1;
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=Aria;
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+f1
+1
+connection node_2;
+# Only DDL is replicated
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
+SELECT * FROM t1;
+f1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/r/galera_var_replicate_aria_on.result b/mysql-test/suite/galera/r/galera_var_replicate_aria_on.result
new file mode 100644
index 00000000000..39fd748314c
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_replicate_aria_on.result
@@ -0,0 +1,272 @@
+connection node_2;
+connection node_1;
+connection node_1;
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+connection node_2;
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+connection node_1;
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=Aria;
+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(*) AS EXPECT_5 FROM t1;
+EXPECT_5
+5
+connection node_1;
+DROP TABLE t1;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(100)) ENGINE=Aria;
+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 * FROM t1;
+f1 f2
+1 klm
+2 xyz
+3 yyy
+connection node_2;
+SELECT COUNT(*) AS EXPECT_3 FROM t1;
+EXPECT_3
+3
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
+EXPECT_1
+1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
+EXPECT_1
+1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
+EXPECT_1
+1
+SELECT * FROM t1;
+f1 f2
+1 klm
+2 xyz
+3 yyy
+connection node_1;
+UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
+SELECT * FROM t1;
+f1 f2
+1 klm
+2 xyz
+3 zzz
+connection node_2;
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'zzz';
+EXPECT_1
+1
+SELECT * FROM t1;
+f1 f2
+1 klm
+2 xyz
+3 zzz
+connection node_1;
+DELETE FROM t1 WHERE f2 = 'zzz';
+SELECT * FROM t1;
+f1 f2
+1 klm
+2 xyz
+connection node_2;
+SELECT COUNT(*) AS EXPECT_0 FROM t1 WHERE f2 = 'zzz';
+EXPECT_0
+0
+SELECT * FROM t1;
+f1 f2
+1 klm
+2 xyz
+connection node_1;
+TRUNCATE TABLE t1;
+SELECT * FROM t1;
+f1 f2
+connection node_2;
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
+SELECT * FROM t1;
+f1 f2
+connection node_1;
+DROP TABLE t1;
+connection node_1;
+SET GLOBAL wsrep_sync_wait=15;
+CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=Aria;
+CREATE TABLE t2 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+connection node_2;
+SET GLOBAL wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_1 FROM t1;
+EXPECT_1
+1
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
+EXPECT_1
+1
+connection node_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
+connection node_2;
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+EXPECT_2
+2
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
+EXPECT_1
+1
+connection node_1;
+DROP TABLE t1,t2;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=Aria;
+CREATE TABLE t2 (f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+connection node_2;
+INSERT INTO t1 VALUES (1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+connection node_1;
+COMMIT;
+DROP TABLE t1,t2;
+connection node_1;
+CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
+DROP TABLE t1;
+connection node_1;
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=Aria;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+PREPARE upd from 'update t1 set b = 100 where id = 5';
+PREPARE ins from 'insert into t1 values (11,11)';
+PREPARE del from 'delete from t1 where id = 4';
+PREPARE rep from 'replace into t1 values (12,12),(6,600)';
+EXECUTE upd;
+EXECUTE ins;
+EXECUTE del;
+EXECUTE rep;
+SELECT * FROM t1 ORDER BY id;
+id b
+1 1
+2 2
+3 3
+5 100
+6 600
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+connection node_2;
+SELECT * FROM t1 ORDER BY id;
+id b
+1 1
+2 2
+3 3
+5 100
+6 600
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+connection node_1;
+DROP TABLE t1;
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=Aria;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+CREATE PROCEDURE proc()
+BEGIN
+UPDATE t1 set b = 100 WHERE id = 5;
+INSERT INTO t1 VALUES (11,11);
+DELETE FROM t1 WHERE id = 4;
+REPLACE INTO t1 VALUES (12,12),(6,600);
+COMMIT;
+END|
+CALL proc();
+SELECT * FROM t1 ORDER BY id;
+id b
+1 1
+2 2
+3 3
+5 100
+6 600
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+connection node_2;
+SELECT * FROM t1 ORDER BY id;
+id b
+1 1
+2 2
+3 3
+5 100
+6 600
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+connection node_1;
+DROP PROCEDURE proc;
+DROP TABLE t1;
+connection node_1;
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=Aria;
+CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT) ENGINE=Aria;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, NEW.b);
+CREATE TRIGGER tr2 BEFORE UPDATE ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, OLD.b),(NULL, NEW.b);
+CREATE TRIGGER tr3 BEFORE DELETE ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, OLD.b);
+INSERT INTO t1 VALUES (11,11);
+UPDATE t1 SET b = 200 WHERE id = 2;
+DELETE FROM t1 where id = 5;
+SELECT * FROM t1 ORDER BY id;
+id b
+1 1
+2 200
+3 3
+4 4
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+SELECT * FROM t2 ORDER BY id;
+id b
+1 11
+2 2
+3 200
+4 5
+connection node_2;
+SELECT * FROM t1 ORDER BY id;
+id b
+1 1
+2 200
+3 3
+4 4
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+SELECT * FROM t2 ORDER BY id;
+id b
+1 11
+2 2
+3 200
+4 5
+connection node_1;
+DROP TRIGGER tr1;
+DROP TRIGGER tr2;
+DROP TRIGGER tr3;
+DROP TABLE t1,t2;
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
index 8968f89d11b..33722ba0dc8 100644
--- a/mysql-test/suite/galera/r/galera_var_replicate_myisam_off.result
+++ b/mysql-test/suite/galera/r/galera_var_replicate_myisam_off.result
@@ -1,12 +1,10 @@
connection node_2;
connection node_1;
-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;
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
connection node_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
index 314da703e58..d8463f6732f 100644
--- a/mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result
+++ b/mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result
@@ -1,19 +1,18 @@
connection node_2;
connection node_1;
connection node_1;
-connection node_1;
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
connection node_2;
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
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;
-COUNT(*) = 5
-1
+SELECT COUNT(*) AS EXPECT_5 FROM t1;
+EXPECT_5
+5
DROP TABLE t1;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(100)) ENGINE=MyISAM;
@@ -21,51 +20,51 @@ 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;
-COUNT(*) = 3
+SELECT COUNT(*) AS EXPECT_3 FROM t1;
+EXPECT_3
+3
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
+EXPECT_1
1
-SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
+EXPECT_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
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
+EXPECT_1
1
connection node_1;
UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
connection node_2;
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'zzz';
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'zzz';
+EXPECT_1
1
connection node_1;
DELETE FROM t1 WHERE f2 = 'zzz';
connection node_2;
-SELECT COUNT(*) = 0 FROM t1 WHERE f2 = 'zzz';
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM t1 WHERE f2 = 'zzz';
+EXPECT_0
+0
connection node_1;
TRUNCATE TABLE t1;
connection node_2;
-SELECT COUNT(*) = 0 FROM t1;
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
DROP TABLE t1;
connection node_1;
-CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=MyISAM;
-CREATE TABLE t2 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
+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;
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1;
+EXPECT_1
1
-SELECT COUNT(*) = 1 FROM t2;
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
+EXPECT_1
1
connection node_1;
START TRANSACTION;
@@ -75,11 +74,11 @@ ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
connection node_2;
-SELECT COUNT(*) = 2 FROM t1;
-COUNT(*) = 2
-1
-SELECT COUNT(*) = 1 FROM t2;
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+EXPECT_2
+2
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
+EXPECT_1
1
DROP TABLE t1;
DROP TABLE t2;
@@ -94,18 +93,7 @@ INSERT INTO t1 VALUES (1);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
connection node_1;
COMMIT;
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO
-#
-connection node_1;
-CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=INNODB;
-INSERT INTO t1 VALUES(1);
-SELECT * FROM t1;
-i
-1
-DROP TABLE t1;
+DROP TABLE t1, t2;
connection node_1;
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=MyISAM;
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
@@ -237,14 +225,14 @@ DROP TRIGGER tr1;
DROP TRIGGER tr2;
DROP TRIGGER tr3;
DROP TABLE t1,t2;
-CREATE TABLE t1 (a INT, b INT, UNIQUE(a)) ENGINE=MyISAM;
-CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a=1;
-SET GLOBAL wsrep_replicate_myisam=ON;
-INSERT INTO t1 (a,b) VALUES (10,20);
-connection node_2;
-SELECT * from t1;
-a b
-1 20
+#
+# MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO
+#
connection node_1;
+CREATE TABLE t1 (i INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+SELECT * FROM t1;
+i
+1
DROP TABLE t1;
-connection node_2;
+connection node_1;
diff --git a/mysql-test/suite/galera/r/galera_var_wsrep_mode.result b/mysql-test/suite/galera/r/galera_var_wsrep_mode.result
new file mode 100644
index 00000000000..8682ad685a5
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_wsrep_mode.result
@@ -0,0 +1,79 @@
+connection node_2;
+connection node_1;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+
+SET GLOBAL wsrep_mode=DEFAULT;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+
+SET SESSION wsrep_mode=DEFAULT;
+ERROR HY000: Variable 'wsrep_mode' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@global.wsrep_mode;
+@@global.wsrep_mode
+
+SELECT @@session.wsrep_mode;
+ERROR HY000: Variable 'wsrep_mode' is a GLOBAL variable
+SET GLOBAL wsrep_mode=A;
+ERROR 42000: Variable 'wsrep_mode' can't be set to the value of 'A'
+SET GLOBAL wsrep_mode='A';
+ERROR 42000: Variable 'wsrep_mode' can't be set to the value of 'A'
+SET GLOBAL wsrep_mode=NULL;
+ERROR 42000: Variable 'wsrep_mode' can't be set to the value of 'NULL'
+SET GLOBAL wsrep_mode=64;
+ERROR 42000: Variable 'wsrep_mode' can't be set to the value of '64'
+SET GLOBAL wsrep_mode=REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM;
+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
+SET GLOBAL wsrep_mode=1;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+STRICT_REPLICATION
+SET GLOBAL wsrep_mode=32;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+DISALLOW_LOCAL_GTID
+SET GLOBAL wsrep_mode='';
+SELECT @@wsrep_mode;
+@@wsrep_mode
+
+SET GLOBAL wsrep_mode=STRICT_REPLICATION;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+STRICT_REPLICATION
+SET GLOBAL wsrep_mode=BINLOG_ROW_FORMAT_ONLY;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+BINLOG_ROW_FORMAT_ONLY
+SET GLOBAL wsrep_mode=REQUIRED_PRIMARY_KEY;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+REQUIRED_PRIMARY_KEY
+SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+REPLICATE_MYISAM
+SET GLOBAL wsrep_mode=REPLICATE_ARIA;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+REPLICATE_ARIA
+SET GLOBAL wsrep_mode=DISALLOW_LOCAL_GTID;
+SELECT @@wsrep_mode;
+@@wsrep_mode
+DISALLOW_LOCAL_GTID
+SET GLOBAL wsrep_mode='STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY';
+SELECT @@wsrep_mode;
+@@wsrep_mode
+STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY
+SET GLOBAL wsrep_mode='STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY,REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA,DISALLOW_LOCAL_GTID';
+SELECT @@wsrep_mode;
+@@wsrep_mode
+STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY,REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA,DISALLOW_LOCAL_GTID
+SET GLOBAL wsrep_mode='BINLOG_ROW_FORMAT_ONLY,STRICT_REPLICATION';
+SELECT @@wsrep_mode;
+@@wsrep_mode
+STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY
+SET GLOBAL wsrep_mode='STRICT_REPLICATION,REQUIRED_PRIMARY_KEY,REPLICATE_ARIA,DISALLOW_LOCAL_GTID';
+SELECT @@wsrep_mode;
+@@wsrep_mode
+STRICT_REPLICATION,REQUIRED_PRIMARY_KEY,REPLICATE_ARIA,DISALLOW_LOCAL_GTID
+SET GLOBAL wsrep_mode=DEFAULT;
diff --git a/mysql-test/suite/galera/r/galera_var_wsrep_strict_ddl.result b/mysql-test/suite/galera/r/galera_var_wsrep_strict_ddl.result
new file mode 100644
index 00000000000..d53708b3504
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_var_wsrep_strict_ddl.result
@@ -0,0 +1,26 @@
+connection node_2;
+connection node_1;
+SELECT @@global.wsrep_mode;
+@@global.wsrep_mode
+
+SELECT @@global.wsrep_strict_ddl;
+@@global.wsrep_strict_ddl
+0
+SET @@global.wsrep_strict_ddl=ON;
+Warnings:
+Warning 1287 '@@wsrep_strict_ddl' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=STRICT_REPLICATION' instead
+SELECT @@global.wsrep_mode;
+@@global.wsrep_mode
+STRICT_REPLICATION
+SELECT @@global.wsrep_strict_ddl;
+@@global.wsrep_strict_ddl
+1
+SET @@global.wsrep_strict_ddl=OFF;
+Warnings:
+Warning 1287 '@@wsrep_strict_ddl' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=STRICT_REPLICATION' instead
+SELECT @@global.wsrep_mode;
+@@global.wsrep_mode
+
+SELECT @@global.wsrep_strict_ddl;
+@@global.wsrep_strict_ddl
+0
diff --git a/mysql-test/suite/galera/r/galera_wsrep_mode.result b/mysql-test/suite/galera/r/galera_wsrep_mode.result
new file mode 100644
index 00000000000..89fd4c1bbb3
--- /dev/null
+++ b/mysql-test/suite/galera/r/galera_wsrep_mode.result
@@ -0,0 +1,16 @@
+connection node_2;
+connection node_1;
+SET GLOBAL wsrep_mode = REQUIRED_PRIMARY_KEY;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+ERROR HY000: Galera replication not supported
+SHOW WARNINGS;
+Level Code Message
+Error 4165 Galera replication not supported
+Warning 1290 WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table should have PRIMARY KEY defined.
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+DROP TABLE t1;
+SET GLOBAL wsrep_mode = default;
+SET GLOBAL wsrep_mode = STRICT_REPLICATION;
+CREATE VIEW v AS SELECT * FROM JSON_TABLE ('{"a":0}',"$" COLUMNS (a DECIMAL(1,1) path '$.a')) foo;
+DROP VIEW v;
+SET GLOBAL wsrep_mode = default;
diff --git a/mysql-test/suite/galera/r/mariadb_tzinfo_to_sql.result b/mysql-test/suite/galera/r/mariadb_tzinfo_to_sql.result
new file mode 100644
index 00000000000..d47cec0992f
--- /dev/null
+++ b/mysql-test/suite/galera/r/mariadb_tzinfo_to_sql.result
@@ -0,0 +1,271 @@
+connection node_2;
+connection node_1;
+#
+# MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
+#
+
+# On node_1
+connection node_1;
+CREATE TABLE time_zone LIKE mysql.time_zone;
+CREATE TABLE time_zone_name LIKE mysql.time_zone_name;
+CREATE TABLE time_zone_transition LIKE mysql.time_zone_transition;
+CREATE TABLE time_zone_transition_type LIKE mysql.time_zone_transition_type;
+CREATE TABLE time_zone_leap_second LIKE mysql.time_zone_leap_second;
+ALTER TABLE time_zone_name ENGINE=MyISAM;
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+ALTER TABLE time_zone_transition_type ENGINE=MyISAM;
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+SET @save_wsrep_mode=@@WSREP_MODE;
+#
+# Run on zoneinfo directory --skip-write-binlog
+#
+
+# Apply on node_1
+
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+'binlog stationary as expected'
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@WSREP_ON @@SQL_LOG_BIN
+1 0 1 1 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 2
+COM_BEGIN 0
+COM_INSERT 6
+COM_LOCK_TABLES 1
+COM_TRUNCATE 4
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+
+# On node_2 (not replicated)
+
+connection node_2;
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+
+# Apply on node_1
+
+connection node_1;
+SET GLOBAL WSREP_MODE='REPLICATE_ARIA,REPLICATE_MYISAM';
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+'binlog stationary as expected'
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@WSREP_ON @@SQL_LOG_BIN
+1 0 1 1 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 2
+COM_BEGIN 0
+COM_INSERT 6
+COM_LOCK_TABLES 1
+COM_TRUNCATE 4
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+
+# On node_2 (not replicated)
+
+connection node_2;
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+#
+# Run on zoneinfo directory without --skip-write-binlog
+#
+
+# Apply on node_1
+
+connection node_1;
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+'binlog advanced as expected'
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@WSREP_ON @@SQL_LOG_BIN
+1 0 1 1 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 2
+COM_BEGIN 0
+COM_INSERT 6
+COM_LOCK_TABLES 1
+COM_TRUNCATE 4
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+
+# On node_2 (replicated via ARIA)
+
+connection node_2;
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+TRUNCATE TABLE time_zone;
+TRUNCATE TABLE time_zone_name;
+TRUNCATE TABLE time_zone_transition;
+TRUNCATE TABLE time_zone_transition_type;
+TRUNCATE TABLE time_zone_leap_second;
+
+# Apply on node_1
+
+connection node_1;
+SET GLOBAL WSREP_MODE='';
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+Warnings:
+Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1'
+'binlog advanced as expected'
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+@wsrep_is_on @wsrep_cannot_replicate_tz @save_wsrep_on @save_sql_log_bin @@WSREP_ON @@SQL_LOG_BIN
+1 1 1 1 1 1
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+FROM information_schema.global_status g
+JOIN baseline b USING (VARIABLE_NAME)
+ORDER BY g.VARIABLE_NAME;
+VARIABLE_NAME diff
+COM_ALTER_TABLE 8
+COM_BEGIN 1
+COM_INSERT 6
+COM_LOCK_TABLES 0
+COM_TRUNCATE 4
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES
+WHERE
+TABLE_SCHEMA = DATABASE()
+AND TABLE_NAME LIKE 'time_zone%' ORDER BY TABLE_NAME;
+TABLE_NAME ENGINE
+time_zone Aria
+time_zone_leap_second Aria
+time_zone_name MyISAM
+time_zone_transition Aria
+time_zone_transition_type MyISAM
+
+# On node_2 (replicated via InnoDB)
+
+connection node_2;
+SELECT COUNT(*) FROM time_zone;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_name;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_transition;
+COUNT(*)
+0
+SELECT COUNT(*) FROM time_zone_transition_type;
+COUNT(*)
+2
+SELECT COUNT(*) FROM time_zone_leap_second;
+COUNT(*)
+0
+connection node_1;
+SET GLOBAL WSREP_MODE=@save_wsrep_mode;
+DROP TABLE baseline;
+DROP TABLE time_zone;
+DROP TABLE time_zone_name;
+DROP TABLE time_zone_transition;
+DROP TABLE time_zone_transition_type;
+DROP TABLE time_zone_leap_second;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#33,debug.rdiff b/mysql-test/suite/galera/r/mysql-wsrep#33,debug.rdiff
index 971f11bb8ec..82c209614c7 100644
--- a/mysql-test/suite/galera/r/mysql-wsrep#33,debug.rdiff
+++ b/mysql-test/suite/galera/r/mysql-wsrep#33,debug.rdiff
@@ -1,6 +1,6 @@
---- r/mysql-wsrep#33.result 2021-04-10 14:36:42.663191908 +0300
-+++ r/mysql-wsrep#33,debug.reject 2021-04-10 15:43:02.420168969 +0300
-@@ -698,6 +698,190 @@
+--- r/mysql-wsrep#33.result
++++ r/mysql-wsrep#33,debug.reject
+@@ -698,12 +698,196 @@
1
DROP TABLE t1;
COMMIT;
@@ -190,4 +190,12 @@
+SET GLOBAL debug_dbug = $debug_orig;
connection node_2;
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");
+-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("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ 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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#33,release.rdiff b/mysql-test/suite/galera/r/mysql-wsrep#33,release.rdiff
new file mode 100644
index 00000000000..afbfc023128
--- /dev/null
+++ b/mysql-test/suite/galera/r/mysql-wsrep#33,release.rdiff
@@ -0,0 +1,15 @@
+--- r/mysql-wsrep#33.result
++++ r/mysql-wsrep#33.reject
+@@ -700,10 +700,10 @@
+ COMMIT;
+ connection node_2;
+ 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");
++CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
+ 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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
+ CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera/r/wsrep_strict_ddl.result b/mysql-test/suite/galera/r/wsrep_mode_strict_replication.result
index 6d25ec35549..9b6a7cd044c 100644
--- a/mysql-test/suite/galera/r/wsrep_strict_ddl.result
+++ b/mysql-test/suite/galera/r/wsrep_mode_strict_replication.result
@@ -5,33 +5,33 @@ connection node_1;
SET GLOBAL binlog_format='ROW';
create table before_t1(a int, count int, b int, key(b)) engine=Aria;
INSERT INTO before_t1 values (1,1,1);
-set @@global.wsrep_strict_ddl=ON;
-select @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-1
+SET @@global.wsrep_mode=STRICT_REPLICATION;
+select @@global.wsrep_mode;
+@@global.wsrep_mode
+STRICT_REPLICATION
connection node_2;
-set @@global.wsrep_strict_ddl=ON;
-select @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-1
+SET @@global.wsrep_mode=STRICT_REPLICATION;
+select @@global.wsrep_mode;
+@@global.wsrep_mode
+STRICT_REPLICATION
connection node_1;
CREATE TABLE t1(a int) engine=Aria;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW WARNINGS;
Level Code Message
-Error 4165 DDL-statement is forbidden as table storage engine does not support Galera replication
-Warning 1031 WSREP: wsrep_strict_ddl=true and storage engine does not support Galera replication.
+Error 4165 Galera replication not supported
+Warning 1031 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine Aria not supported.
connection node_2;
SHOW CREATE TABLE t1;
ERROR 42S02: Table 'test.t1' doesn't exist
connection node_1;
CREATE TABLE t2(a int not null primary key) engine=InnoDB;
ALTER TABLE t2 engine=MyISAM;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW WARNINGS;
Level Code Message
-Error 4165 DDL-statement is forbidden as table storage engine does not support Galera replication
-Warning 1031 WSREP: wsrep_strict_ddl=true and storage engine does not support Galera replication.
+Error 4165 Galera replication not supported
+Warning 1031 WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine MyISAM not supported.
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -47,7 +47,7 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
connection node_1;
TRUNCATE TABLE before_t1;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SELECT * FROM before_t1;
a count b
1 1 1
@@ -60,7 +60,7 @@ SELECT * FROM before_t1;
a count b
connection node_1;
CREATE VIEW x1 AS SELECT * FROM before_t1;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE VIEW x1;
ERROR 42S02: Table 'test.x1' doesn't exist
connection node_2;
@@ -70,7 +70,7 @@ connection node_1;
CREATE DEFINER=`root`@`localhost` TRIGGER increment_before_t1
AFTER INSERT ON before_t1 FOR EACH ROW
UPDATE before_t1 SET before_t1.count = before_t1.count+1;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TRIGGER increment_before_t1;
ERROR HY000: Trigger does not exist
connection node_2;
@@ -78,7 +78,7 @@ SHOW CREATE TRIGGER increment_before_t1;
ERROR HY000: Trigger does not exist
connection node_1;
CREATE INDEX xx2 ON before_t1(a);
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TABLE before_t1;
Table Create Table
before_t1 CREATE TABLE `before_t1` (
@@ -98,7 +98,7 @@ before_t1 CREATE TABLE `before_t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
connection node_1;
DROP INDEX b ON before_t1;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TABLE before_t1;
Table Create Table
before_t1 CREATE TABLE `before_t1` (
@@ -118,7 +118,7 @@ before_t1 CREATE TABLE `before_t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
connection node_1;
ALTER TABLE before_t1 ADD COLUMN f int;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TABLE before_t1;
Table Create Table
before_t1 CREATE TABLE `before_t1` (
@@ -138,7 +138,7 @@ before_t1 CREATE TABLE `before_t1` (
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
connection node_1;
RENAME TABLE before_t1 to after_t1;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TABLE before_t1;
Table Create Table
before_t1 CREATE TABLE `before_t1` (
@@ -162,7 +162,7 @@ SHOW CREATE TABLE after_t1;
ERROR 42S02: Table 'test.after_t1' doesn't exist
connection node_1;
DROP TABLE before_t1;
-ERROR HY000: DDL-statement is forbidden as table storage engine does not support Galera replication
+ERROR HY000: Galera replication not supported
SHOW CREATE TABLE before_t1;
Table Create Table
before_t1 CREATE TABLE `before_t1` (
@@ -181,14 +181,14 @@ before_t1 CREATE TABLE `before_t1` (
KEY `b` (`b`)
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
connection node_1;
-set @@global.wsrep_strict_ddl=OFF;
-select @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-0
+set @@global.wsrep_mode=default;
+select @@global.wsrep_mode;
+@@global.wsrep_mode
+
connection node_2;
-set @@global.wsrep_strict_ddl=OFF;
-select @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-0
+set @@global.wsrep_mode=default;
+select @@global.wsrep_mode;
+@@global.wsrep_mode
+
DROP TABLE t2;
DROP TABLE before_t1;
diff --git a/mysql-test/suite/galera/t/binlog_checksum.test b/mysql-test/suite/galera/t/binlog_checksum.test
index 5aab68a7746..8f6091235a1 100644
--- a/mysql-test/suite/galera/t/binlog_checksum.test
+++ b/mysql-test/suite/galera/t/binlog_checksum.test
@@ -1,5 +1,4 @@
--source include/galera_cluster.inc
---source include/have_innodb.inc
--echo # On node_1
--connection node_1
diff --git a/mysql-test/suite/galera/t/galera_UK_conflict.test b/mysql-test/suite/galera/t/galera_UK_conflict.test
index 7a14821cc32..fb4cdb416c3 100644
--- a/mysql-test/suite/galera/t/galera_UK_conflict.test
+++ b/mysql-test/suite/galera/t/galera_UK_conflict.test
@@ -140,14 +140,6 @@ SELECT * FROM t1;
# original state in node 1
INSERT INTO t1 VALUES (7,7,7);
INSERT INTO t1 VALUES (8,8,8);
-SELECT COUNT(*) FROM t1;
-SELECT * FROM t1;
-
---connection node_1
---let $wait_condition = SELECT COUNT(*) = 7 FROM t1
---source include/wait_condition.inc
-SELECT COUNT(*) FROM t1;
-SELECT * FROM t1;
DROP TABLE t1;
@@ -276,6 +268,7 @@ SET debug_sync='RESET';
SET GLOBAL wsrep_slave_threads = DEFAULT;
--connection node_2
+SET SESSION wsrep_sync_wait=15;
SELECT * FROM t1;
# replicate some transactions, so that wsrep slave thread count can reach
@@ -283,13 +276,4 @@ SELECT * FROM t1;
INSERT INTO t1 VALUES (7,7,7);
INSERT INTO t1 VALUES (8,8,8);
-SELECT COUNT(*) FROM t1;
-SELECT * FROM t1;
-
---connection node_1
---let $wait_condition = SELECT COUNT(*) = 7 FROM t1
---source include/wait_condition.inc
-SELECT COUNT(*) FROM t1;
-SELECT * FROM t1;
-
DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_admin.test b/mysql-test/suite/galera/t/galera_admin.test
index e3c43256ad5..d630af0025b 100644
--- a/mysql-test/suite/galera/t/galera_admin.test
+++ b/mysql-test/suite/galera/t/galera_admin.test
@@ -5,7 +5,7 @@
#
--source include/galera_cluster.inc
---source include/have_innodb.inc
+--source include/have_aria.inc
--disable_warnings
DROP TABLE IF EXISTS t1, t2;
@@ -15,7 +15,7 @@ DROP TABLE IF EXISTS x1, x2;
--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;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
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);
@@ -34,7 +34,6 @@ INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
--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'`
@@ -46,8 +45,6 @@ ANALYZE TABLE t1, t2;
--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'`
@@ -59,8 +56,6 @@ OPTIMIZE TABLE t1, t2;
--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'`
@@ -72,7 +67,73 @@ REPAIR TABLE x1, x2;
--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;
+
+--echo #
+--echo # ARIA
+--echo #
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER);
+CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+CREATE TABLE x1 (f1 INTEGER) ENGINE=ARIA;
+CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=ARIA;
+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;
@@ -83,4 +144,7 @@ SELECT COUNT(*) = 10 FROM x2;
--connection node_1
DROP TABLE t1, t2;
DROP TABLE x1, x2;
-SET GLOBAL wsrep_replicate_myisam = FALSE;
+
+--disable_query_log
+SET GLOBAL wsrep_mode = DEFAULT;
+--enable_query_log
diff --git a/mysql-test/suite/galera/t/galera_alter_engine_myisam.test b/mysql-test/suite/galera/t/galera_alter_engine_myisam.test
index 6d41d276a17..57c057f9869 100644
--- a/mysql-test/suite/galera/t/galera_alter_engine_myisam.test
+++ b/mysql-test/suite/galera/t/galera_alter_engine_myisam.test
@@ -1,12 +1,11 @@
--source include/galera_cluster.inc
---source include/have_innodb.inc
+--source include/have_aria.inc
#
-# Test ALTER ENGINE from MyISAM to InnoDB under wsrep_replicate_myisam
+# Test ALTER ENGINE from MyISAM to InnoDB under REPLICATE_MYISAM
#
---let $wsrep_replicate_myisam_orig = `SELECT @@wsrep_replicate_myisam`
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1);
@@ -16,10 +15,27 @@ 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;
+
+#
+# Test ALTER ENGINE from Aria to InnoDB under REPLICATE_ARIA
+#
+
+--connection node_1
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+
+CREATE TABLE t1 (f1 INTEGER) ENGINE=ARIA;
+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;
--connection node_1
--disable_query_log
---eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
+SET GLOBAL wsrep_mode = DEFAULT;
--enable_query_log
-DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_bf_kill_debug.cnf b/mysql-test/suite/galera/t/galera_bf_kill_debug.cnf
new file mode 100644
index 00000000000..e68f891792c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_kill_debug.cnf
@@ -0,0 +1,7 @@
+!include ../galera_2nodes.cnf
+
+[mysqld.1]
+wsrep-debug=SERVER
+
+[mysqld.2]
+wsrep-debug=SERVER
diff --git a/mysql-test/suite/galera/t/galera_bf_kill_debug.test b/mysql-test/suite/galera/t/galera_bf_kill_debug.test
new file mode 100644
index 00000000000..c322f283757
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_bf_kill_debug.test
@@ -0,0 +1,140 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+#
+# Test case 7:
+# 1. Start a transaction on node_2,
+# and leave it pending while holding a row locked
+# 2. set sync point pause applier
+# 3. send a conflicting write on node_1, it will pause
+# at the sync point
+# 4. though another connection to node_2, kill the local
+# transaction
+#
+
+--connection node_2
+CREATE TABLE t1(a int not null primary key auto_increment,b int) engine=InnoDB;
+insert into t1 values (NULL,1);
+
+#
+# connection node_2a runs a local transaction, that is victim of BF abort
+# and victim of KILL command by connection node_2
+#
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+truncate t1;
+insert into t1 values (1,0);
+
+# start a transaction that will conflict with later applier
+begin;
+update t1 set b=2 where a=1;
+
+--connection node_2
+set session wsrep_sync_wait=0;
+--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'root' AND COMMAND = 'Sleep' LIMIT 1
+--source include/wait_condition.inc
+
+--let $k_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'root' AND COMMAND = 'Sleep' LIMIT 1`
+
+# connection node_2b is for controlling debug syn points
+# first set a sync point for applier, to pause during BF aborting
+# and before THD::awake would be called
+#
+--connect node_2b, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2b
+SET GLOBAL debug_dbug = "d,sync.before_wsrep_thd_abort";
+
+#
+# replicate an update, which will BF abort the victim node_2a
+# however, while applier in node 2 is handling the abort,
+# it will pause in sync point set by node_2b
+#
+--connection node_1
+select * from t1;
+update t1 set b= 1 where a=1;
+
+#
+# wait until the applying of above update has reached the sync point
+# in node 2
+#
+--connection node_2b
+SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.before_wsrep_thd_abort_reached";
+
+--connection node_2
+#
+# pause KILL execution before awake
+#
+SET DEBUG_SYNC= 'before_awake_no_mutex SIGNAL awake_reached WAIT_FOR continue_kill';
+--disable_query_log
+--send_eval KILL $k_thread
+--enable_query_log
+
+
+--connection node_2b
+SET DEBUG_SYNC='now WAIT_FOR awake_reached';
+
+# release applier and KILL operator
+SET GLOBAL debug_dbug = "";
+SET DEBUG_SYNC = "now SIGNAL signal.before_wsrep_thd_abort";
+SET DEBUG_SYNC = "now SIGNAL continue_kill";
+
+--connection node_2
+--reap
+
+--connection node_2a
+--error 0,1213,2013
+select * from t1;
+
+--connection node_2
+SET DEBUG_SYNC = "RESET";
+
+drop table t1;
+
+--disconnect node_2a
+#
+# Test case 7:
+# run a transaction in node 2, and set a sync point to pause the transaction
+# in commit phase.
+# Through another connection to node 2, kill the committing transaction by
+# KILL QUERY command
+#
+
+--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
+--connection node_2a
+--let $connection_id = `SELECT CONNECTION_ID()`
+
+CREATE TABLE t1 (i int primary key);
+
+# Set up sync point
+SET DEBUG_SYNC = "before_wsrep_ordered_commit SIGNAL bwoc_reached WAIT_FOR bwoc_continue";
+
+# Send insert which will block in the sync point above
+--send INSERT INTO t1 VALUES (1)
+
+--connection node_2
+SET DEBUG_SYNC = "now WAIT_FOR bwoc_reached";
+
+--disable_query_log
+--disable_result_log
+# victim has passed the point of no return, kill is not possible anymore
+--eval KILL QUERY $connection_id
+--enable_result_log
+--enable_query_log
+
+SET DEBUG_SYNC = "now SIGNAL bwoc_continue";
+SET DEBUG_SYNC='RESET';
+--connection node_2a
+--error 0,1213
+--reap
+
+--connection node_2
+# victim was able to complete the INSERT
+select * from t1;
+
+--disconnect node_2a
+
+--connection node_1
+drop table t1;
+
diff --git a/mysql-test/suite/galera/t/galera_binlog_checksum.test b/mysql-test/suite/galera/t/galera_binlog_checksum.test
index 09d7a02f312..12fb87a618c 100644
--- a/mysql-test/suite/galera/t/galera_binlog_checksum.test
+++ b/mysql-test/suite/galera/t/galera_binlog_checksum.test
@@ -27,10 +27,9 @@ DROP TABLE t1;
--echo #
--connection node_1
-let $wsrep_replicate_myisam_saved= `SELECT @@wsrep_replicate_myisam`;
-SET @@global.wsrep_replicate_myisam=1;
+SET @@global.wsrep_mode = REPLICATE_MYISAM;
-CREATE TABLE t1 (i INT) ENGINE=MYISAM;
+CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=MYISAM;
INSERT INTO t1 VALUES(1);
--connection node_2
@@ -38,6 +37,9 @@ SELECT * FROM t1;
--connection node_1
DROP TABLE t1;
-eval SET @@global.wsrep_replicate_myisam=$wsrep_replicate_myisam_saved;
+
+--disable_query_log
+SET @@global.wsrep_mode=DEFAULT;
+--enable_query_log
--echo # End of tests.
diff --git a/mysql-test/suite/galera/t/galera_can_run_toi.test b/mysql-test/suite/galera/t/galera_can_run_toi.test
index a0087be4304..e73eb46c0d7 100644
--- a/mysql-test/suite/galera/t/galera_can_run_toi.test
+++ b/mysql-test/suite/galera/t/galera_can_run_toi.test
@@ -18,8 +18,7 @@ DROP TABLE t3;
SET sql_mode='';
SET SESSION default_storage_engine=MyISAM;
SELECT @@default_storage_engine;
-SET GLOBAL wsrep_replicate_myisam=OFF;
-SET GLOBAL wsrep_strict_ddl=ON;
+SET GLOBAL wsrep_mode=STRICT_REPLICATION;
CREATE TABLE t3 (c1 VARCHAR(10)) ENGINE=InnoDB;
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
ALTER TABLE t3 ENGINE=NonExistentEngine;
@@ -29,6 +28,5 @@ DROP TABLE t3;
--disable_query_log
SET GLOBAL sql_mode=default;
SET GLOBAL default_storage_engine=default;
-SET GLOBAL wsrep_replicate_myisam=default;
-SET GLOBAL wsrep_strict_ddl=default;
+SET GLOBAL wsrep_mode=default;
--enable_query_log
diff --git a/mysql-test/suite/galera/t/galera_defaults.test b/mysql-test/suite/galera/t/galera_defaults.test
index 28e6f0cce38..96389e44d3f 100644
--- a/mysql-test/suite/galera/t/galera_defaults.test
+++ b/mysql-test/suite/galera/t/galera_defaults.test
@@ -13,12 +13,12 @@
--source include/force_restart.inc
# Make sure that the test is operating on the right version of galera library.
---let $galera_version=26.4.6
+--let $galera_version=26.4.7
source ../wsrep/include/check_galera_version.inc;
# Global Variables
-SELECT COUNT(*) `expect 49` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
+SELECT COUNT(*) `expect 51` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
diff --git a/mysql-test/suite/galera/t/galera_disallow_local_gtid.test b/mysql-test/suite/galera/t/galera_disallow_local_gtid.test
new file mode 100644
index 00000000000..b28bab1f8cb
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_disallow_local_gtid.test
@@ -0,0 +1,104 @@
+--source include/galera_cluster.inc
+--source include/have_aria.inc
+#
+# Nodes can have GTIDs for local transactions in the following scenarios:
+#
+# A DDL statement is executed with wsrep_OSU_method=RSU set.
+# A DML statement writes to a non-InnoDB table.
+# A DML statement writes to an InnoDB table with wsrep_on=OFF set.
+#
+call mtr.add_suppression("WSREP: ALTER TABLE isolation failure");
+#
+# A DDL statement is executed with wsrep_OSU_method=RSU set.
+#
+--connection node_1
+CREATE TABLE tab(a int not null primary key) engine=InnoDB;
+CREATE TABLE tab1(a int not null primary key) engine=MyISAM;
+CREATE TABLE tab2(a int not null primary key) engine=Aria;
+CREATE TABLE tab3(a int not null primary key) engine=MEMORY;
+
+SET GLOBAL wsrep_mode = DISALLOW_LOCAL_GTID;
+SET SESSION wsrep_OSU_method='RSU';
+
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+ALTER TABLE tab FORCE;
+
+SET SESSiON sql_log_bin=0;
+ALTER TABLE tab FORCE;
+SET SESSION wsrep_OSU_method='TOI';
+#
+# A DML statement writes to an InnoDB table with wsrep_on=OFF set.
+#
+SET SESSION sql_log_bin=1;
+SET SESSION wsrep_on=OFF;
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab VALUES (1);
+SET SESSiON sql_log_bin=0;
+INSERT INTO tab VALUES (1);
+SET SESSiON sql_log_bin=1;
+SET SESSION wsrep_on=ON;
+INSERT INTO tab VALUES (2);
+
+SELECT * FROM tab;
+--connection node_2
+SELECT * FROM tab;
+#
+# A DML statement writes to a non-InnoDB table.
+#
+--connection node_1
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab1 VALUES(1);
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab2 VALUES(1);
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab3 VALUES(1);
+#
+# Set MyISAM and Aria replication on using TOI
+#
+SET GLOBAL wsrep_mode = "DISALLOW_LOCAL_GTID,REPLICATE_MYISAM,REPLICATE_ARIA";
+INSERT INTO tab1 VALUES(2);
+INSERT INTO tab2 VALUES(2);
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab3 VALUES(2);
+SET SESSiON sql_log_bin=0;
+INSERT INTO tab1 VALUES(3);
+INSERT INTO tab2 VALUES(3);
+INSERT INTO tab3 VALUES(3);
+SET SESSION sql_log_bin=1;
+SET SESSION wsrep_on=OFF;
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab1 VALUES(4);
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab2 VALUES(4);
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+INSERT INTO tab3 VALUES(4);
+SET SESSiON sql_log_bin=0;
+INSERT INTO tab1 VALUES(5);
+INSERT INTO tab2 VALUES(5);
+INSERT INTO tab3 VALUES(5);
+SET SESSION wsrep_on=ON;
+INSERT INTO tab1 VALUES(6);
+INSERT INTO tab2 VALUES(6);
+INSERT INTO tab3 VALUES(6);
+
+SELECT * FROM tab1;
+SELECT * FROM tab2;
+SELECT * FROM tab3;
+
+--connection node_2
+SELECT * FROM tab1;
+SELECT * FROM tab2;
+SELECT * FROM tab3;
+
+--connection node_1
+--disable_query_log
+SET SESSION sql_log_bin=DEFAULT;
+SET GLOBAL wsrep_mode=DEFAULT;
+set GLOBAL wsrep_OSU_method=DEFAULT;
+--enable_query_log
+
+DROP TABLE tab;
+DROP TABLE tab1;
+DROP TABLE tab2;
+DROP TABLE tab3;
+
diff --git a/mysql-test/suite/galera/t/galera_flush_local.test b/mysql-test/suite/galera/t/galera_flush_local.test
index 24acd9ec4ff..207ce0ceae0 100644
--- a/mysql-test/suite/galera/t/galera_flush_local.test
+++ b/mysql-test/suite/galera/t/galera_flush_local.test
@@ -3,9 +3,7 @@
# 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;
@@ -14,6 +12,7 @@ DROP TABLE IF EXISTS t1, t2, x1, x2;
# The following FLUSH LOCAL statements should *not* be replicated
#
--connection node_1
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
CREATE TABLE t1 (f1 INTEGER);
CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
@@ -68,10 +67,10 @@ REPAIR LOCAL TABLE x1, x2;
--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;
+SELECT COUNT(*) AS EXPECT_10 FROM t1;
+SELECT COUNT(*) AS EXPECT_10 FROM x1;
+SELECT COUNT(*) AS EXPECT_10000 FROM t2;
+SELECT COUNT(*) AS EXPECT_10 FROM x2;
--connection node_1
@@ -133,11 +132,16 @@ REPAIR TABLE x1, x2;
--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;
+SELECT COUNT(*) AS EXPECT_10 FROM t1;
+SELECT COUNT(*) AS EXPECT_10 FROM x1;
+SELECT COUNT(*) AS EXPECT_10000 FROM t2;
+SELECT COUNT(*) AS EXPECT_10 FROM x2;
--connection node_1
set wsrep_on=1;
DROP TABLE t1, t2, x1, x2;
+
+--disable_query_log
+SET GLOBAL wsrep_mode = DEFAULT;
+--enable_query_log
+
diff --git a/mysql-test/suite/galera/t/galera_load_data.cnf b/mysql-test/suite/galera/t/galera_load_data.cnf
index 7d152b212ce..43cc352c020 100644
--- a/mysql-test/suite/galera/t/galera_load_data.cnf
+++ b/mysql-test/suite/galera/t/galera_load_data.cnf
@@ -7,6 +7,7 @@ innodb_stats_persistent=ON
innodb_stats_auto_recalc=ON
innodb_stats_persistent_sample_pages=20
innodb_stats_transient_sample_pages=8
+skip-innodb-read-only-compressed
[mysqld.2]
secure-file-priv = ""
@@ -15,3 +16,4 @@ innodb_stats_persistent=ON
innodb_stats_auto_recalc=ON
innodb_stats_persistent_sample_pages=20
innodb_stats_transient_sample_pages=8
+skip-innodb-read-only-compressed
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
index 4c57017299f..d3fff4fcb0b 100644
--- a/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf
+++ b/mysql-test/suite/galera/t/galera_sst_mariabackup_table_options.cnf
@@ -4,7 +4,6 @@
wsrep_sst_method=mariabackup
wsrep_sst_auth="root:"
wsrep_debug=1
-innodb-file-format='Barracuda'
innodb-file-per-table=ON
[mysqld.1]
diff --git a/mysql-test/suite/galera/t/galera_strict_require_innodb.test b/mysql-test/suite/galera/t/galera_strict_require_innodb.test
new file mode 100644
index 00000000000..b627fffe70c
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_strict_require_innodb.test
@@ -0,0 +1,117 @@
+#
+# Write a warning to error log if Galera replicates table with storage engine
+# not supported by Galera
+#
+# For MyISAM
+# * push warning to client if wsrep_mode == STRICT_REPLICATION,REPLICATE_MYISAM
+# * push warning to error log if log_warnings > 1
+# For Aria
+# * push warning to client if wsrep_mode == STRICT_REPLICATION,REPLICATE_ARIA
+# * push warning to error log if log_warnings > 1
+# For Memory
+# * push warning to client if wsrep_mode == STRICT_REPLICATION
+# * push warning to error log if log_warnings > 1
+#
+# In both cases apply flood control if >= 10 same warning
+#
+--source include/galera_cluster.inc
+--source include/have_aria.inc
+
+call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine .*");
+
+CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
+CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
+CREATE TABLE t3(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=ARIA;
+CREATE TABLE t4(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MEMORY;
+
+SET GLOBAL log_warnings=2;
+SET GLOBAL wsrep_mode = "STRICT_REPLICATION,REPLICATE_MYISAM,REPLICATE_ARIA";
+
+INSERT INTO t1 values (1,'innodb1');
+INSERT INTO t2 values (1,'myisam1');
+INSERT INTO t3 values (1,'aria1');
+INSERT INTO t4 values (1,'memory1');
+
+# these should not replicate
+SET GLOBAL wsrep_mode = "STRICT_REPLICATION,REPLICATE_ARIA";
+INSERT INTO t2 values (2,'myisam2');
+SET GLOBAL wsrep_mode = "STRICT_REPLICATION,REPLICATE_MYISAM";
+INSERT INTO t3 values (2,'aria2');
+
+# no warning to error log
+SET GLOBAL log_warnings=1;
+INSERT INTO t1 values (3,'innodb3');
+INSERT INTO t2 values (3,'myisam3');
+INSERT INTO t3 values (3,'aria3');
+INSERT INTO t4 values (3,'memory3');
+
+# test warnings
+--let $assert_count = 3
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_text = WSREP: wsrep_mode = STRICT_REPLICATION enabled.
+--let $assert_select = WSREP: wsrep_mode = STRICT_REPLICATION enabled.
+--source include/assert_grep.inc
+
+# force flood
+SET GLOBAL log_warnings=2;
+INSERT INTO t2 values (4,'myisam3');
+INSERT INTO t3 values (4,'aria2');
+INSERT INTO t4 values (4,'memory2');
+INSERT INTO t2 values (5,'myisam3');
+INSERT INTO t3 values (5,'aria2');
+INSERT INTO t4 values (5,'memory2');
+INSERT INTO t2 values (6,'myisam3');
+INSERT INTO t3 values (6,'aria2');
+INSERT INTO t4 values (6,'memory2');
+INSERT INTO t2 values (7,'myisam3');
+INSERT INTO t3 values (7,'aria2');
+INSERT INTO t4 values (7,'memory2');
+INSERT INTO t2 values (8,'myisam3');
+INSERT INTO t3 values (8,'aria2');
+INSERT INTO t4 values (8,'memory2');
+INSERT INTO t2 values (9,'myisam3');
+INSERT INTO t3 values (9,'aria2');
+INSERT INTO t4 values (9,'memory2');
+INSERT INTO t2 values (10,'myisam3');
+INSERT INTO t3 values (10,'aria2');
+INSERT INTO t4 values (10,'memory2');
+INSERT INTO t2 values (11,'myisam3');
+INSERT INTO t3 values (11,'aria2');
+INSERT INTO t4 values (11,'memory2');
+
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+SELECT COUNT(*) AS EXPECT_10 FROM t2;
+SELECT COUNT(*) AS EXPECT_10 FROM t3;
+SELECT COUNT(*) AS EXPECT_10 FROM t4;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+SELECT COUNT(*) AS EXPECT_10 FROM t2;
+SELECT COUNT(*) AS EXPECT_1 FROM t3;
+SELECT COUNT(*) AS EXPECT_0 FROM t4;
+
+--connection node_1
+SET GLOBAL wsrep_mode= DEFAULT;
+DROP TABLE t1,t2,t3,t4;
+
+#
+# Verify no flood
+#
+--let $assert_count =
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_text = WSREP: wsrep_mode = STRICT_REPLICATION enabled.
+--let $assert_select = WSREP: wsrep_mode = STRICT_REPLICATION enabled.
+--let $assert_match = WSREP: wsrep_mode = STRICT_REPLICATION enabled.
+--source include/assert_grep.inc
+--let $assert_count = 1
+--let $assert_text = WSREP: Suppressing warnings of type 'WSREP_REQUIRE_INNODB' for up to 300 seconds because of flooding
+--let $assert_select = WSREP: Suppressing warnings of type 'WSREP_REQUIRE_INNODB' for up to 300 seconds because of flooding
+--let $assert_match =
+--source include/assert_grep.inc
+
+# reset env
+--disable_query_log
+SET GLOBAL log_warnings=DEFAULT;
+SET GLOBAL wsrep_mode=DEFAULT;
+--disable_query_log
+
diff --git a/mysql-test/suite/galera/t/galera_strict_require_primary_key.test b/mysql-test/suite/galera/t/galera_strict_require_primary_key.test
new file mode 100644
index 00000000000..dc5f9910396
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_strict_require_primary_key.test
@@ -0,0 +1,143 @@
+#
+# Write a warning to error log if Galera replicates table with no primary key
+#
+# For InnoDB
+# * push warning to client if wsrep_mode == REQUIRED_PRIMARY_KEY
+# * push warning to error log if log_warnings > 1
+# For MyIsam
+# * push warning to client if wsrep_mode == REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM
+# * push warning to error log if log_warnings > 1
+# For Aria
+# * push warning to client if wsrep_mode == REQUIRED_PRIMARY_KEY,REPLICATE_ARIA
+# * push warning to error log if log_warnings > 1
+#
+# In both cases apply flood control if >= 10 same warning
+#
+--source include/galera_cluster.inc
+--source include/have_aria.inc
+
+call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table .*");
+
+CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
+CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
+CREATE TABLE t3(a int, b varchar(50)) ENGINE=MEMORY;
+CREATE TABLE t4(a int, b varchar(50)) ENGINE=ARIA;
+
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA";
+SET GLOBAL log_warnings=2;
+
+INSERT INTO t1 values (1,'test1');
+INSERT INTO t2 values (1,'myisam1');
+INSERT INTO t3 values (1,'memory1');
+INSERT INTO t4 values (1,'aria1');
+
+# these will not replicate
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_ARIA";
+INSERT INTO t2 values (2,'myisam2');
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM";
+INSERT INTO t4 values (2,'ARIA2');
+
+# these should not write warning to error log
+SET GLOBAL wsrep_mode = "REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA";
+SET GLOBAL log_warnings=1;
+INSERT INTO t1 values (21,'not1');
+INSERT INTO t1 values (22,'not2');
+INSERT INTO t2 values (21,'not1');
+INSERT INTO t2 values (22,'not2');
+INSERT INTO t4 values (21,'not1');
+INSERT INTO t4 values (22,'not2');
+
+--let $assert_count = 3
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_text = WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.
+--let $assert_select = WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.
+--source include/assert_grep.inc
+
+# force flood
+SET GLOBAL log_warnings=2;
+INSERT INTO t1 values (6,'test6');
+INSERT INTO t1 values (7,'test7');
+INSERT INTO t1 values (8,'test8');
+INSERT INTO t1 values (9,'test9');
+INSERT INTO t1 values (10,'test10');
+INSERT INTO t1 values (11,'test11');
+INSERT INTO t1 values (12,'test12');
+INSERT INTO t1 values (13,'test13');
+
+INSERT INTO t1 values (33,'test13');
+INSERT INTO t1 values (34,'test13');
+INSERT INTO t1 values (35,'test13');
+INSERT INTO t1 values (36,'test13');
+INSERT INTO t1 values (37,'test13');
+INSERT INTO t1 values (38,'test13');
+INSERT INTO t1 values (39,'test13');
+
+INSERT INTO t2 values (6,'test6');
+INSERT INTO t2 values (7,'test7');
+INSERT INTO t2 values (8,'test8');
+INSERT INTO t2 values (9,'test9');
+INSERT INTO t2 values (10,'test10');
+INSERT INTO t2 values (11,'test11');
+INSERT INTO t2 values (12,'test12');
+INSERT INTO t2 values (13,'test13');
+
+INSERT INTO t2 values (33,'test13');
+INSERT INTO t2 values (34,'test13');
+INSERT INTO t2 values (35,'test13');
+INSERT INTO t2 values (36,'test13');
+INSERT INTO t2 values (37,'test13');
+INSERT INTO t2 values (38,'test13');
+INSERT INTO t2 values (39,'test13');
+
+INSERT INTO t4 values (6,'test6');
+INSERT INTO t4 values (7,'test7');
+INSERT INTO t4 values (8,'test8');
+INSERT INTO t4 values (9,'test9');
+INSERT INTO t4 values (10,'test10');
+INSERT INTO t4 values (11,'test11');
+INSERT INTO t4 values (12,'test12');
+INSERT INTO t4 values (13,'test13');
+
+INSERT INTO t4 values (33,'test13');
+INSERT INTO t4 values (34,'test13');
+INSERT INTO t4 values (35,'test13');
+INSERT INTO t4 values (36,'test13');
+INSERT INTO t4 values (37,'test13');
+INSERT INTO t4 values (38,'test13');
+INSERT INTO t4 values (39,'test13');
+
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+SELECT COUNT(*) AS EXPECT_19 FROM t2;
+SELECT COUNT(*) AS EXPECT_1 FROM t3;
+SELECT COUNT(*) AS EXPECT_19 FROM t4;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_18 FROM t1;
+SELECT COUNT(*) AS EXPECT_18 FROM t2;
+SELECT COUNT(*) AS EXPECT_0 FROM t3;
+SELECT COUNT(*) AS EXPECT_18 FROM t4;
+
+--connection node_1
+DROP TABLE t1,t2,t3,t4;
+
+#
+# Verify warning is on error log and check that no flood
+#
+--let $assert_count =
+--let $assert_file = $MYSQLTEST_VARDIR/log/mysqld.1.err
+--let $assert_text = WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.
+--let $assert_select = WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.
+--let $assert_match = WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled.
+--source include/assert_grep.inc
+--let $assert_count = 1
+--let $assert_text = WSREP: Suppressing warnings of type 'WSREP_REQUIRE_PRIMARY_KEY' for up to 300 seconds because of flooding
+--let $assert_select = WSREP: Suppressing warnings of type 'WSREP_REQUIRE_PRIMARY_KEY' for up to 300 seconds because of flooding
+--let $assert_match =
+--source include/assert_grep.inc
+
+# reset env
+--disable_query_log
+SET GLOBAL log_warnings=DEFAULT;
+SET GLOBAL wsrep_mode=DEFAULT;
+--disable_query_log
+
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
index 3b4b427f551..fadc94d78ff 100644
--- a/mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test
+++ b/mysql-test/suite/galera/t/galera_toi_ddl_fk_insert.test
@@ -54,11 +54,15 @@ INSERT INTO parent VALUES (1, 0);
--connection node_2a
--reap
-#
-# ALTER TABLE could bf kill one or more of INSERTs to parent, so
-# the actual number of rows in PARENT depends on whether
-# the INSERT is committed before ALTER TABLE is executed
-#
+--connection node_1
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) FROM parent;
+SELECT COUNT(*) FROM child;
+
+--connection node_2
+SET SESSION wsrep_sync_wait=15;
+SELECT COUNT(*) FROM parent;
+SELECT COUNT(*) FROM child;
DROP TABLE child;
DROP TABLE parent;
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
index 241b62dbf8c..c0bbe5af8cf 100644
--- 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
@@ -94,13 +94,11 @@ SELECT * FROM t1;
--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
---disconnect node_1a
--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
---disconnect node_2a
--enable_query_log
diff --git a/mysql-test/suite/galera/t/galera_var_replicate_aria_off.test b/mysql-test/suite/galera/t/galera_var_replicate_aria_off.test
new file mode 100644
index 00000000000..c0d8c5d6b3b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_replicate_aria_off.test
@@ -0,0 +1,17 @@
+#
+# Simple test for wsrep-mode != REPLICATE_ARIA
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_aria.inc
+
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=Aria;
+INSERT INTO t1 VALUES (1);
+SELECT * FROM t1;
+
+--connection node_2
+--echo # Only DDL is replicated
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera/t/galera_var_replicate_aria_on.test b/mysql-test/suite/galera/t/galera_var_replicate_aria_on.test
new file mode 100644
index 00000000000..c3bc53ee17f
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_replicate_aria_on.test
@@ -0,0 +1,237 @@
+#
+# Simple test for wsrep-mode = REPLICATE_ARIA
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/have_aria.inc
+
+--connection node_1
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+--connection node_2
+SET GLOBAL wsrep_mode = REPLICATE_ARIA;
+
+#
+# Simple INSERT
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=Aria;
+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(*) AS EXPECT_5 FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+
+#
+# REPLACE
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(100)) ENGINE=Aria;
+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 * FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_3 FROM t1;
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
+SELECT * FROM t1;
+
+#
+# UPDATE
+#
+
+--connection node_1
+UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
+SELECT * FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'zzz';
+SELECT * FROM t1;
+
+#
+# DELETE
+#
+
+--connection node_1
+DELETE FROM t1 WHERE f2 = 'zzz';
+SELECT * FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_0 FROM t1 WHERE f2 = 'zzz';
+SELECT * FROM t1;
+
+#
+# TRUNCATE
+#
+
+--connection node_1
+TRUNCATE TABLE t1;
+SELECT * FROM t1;
+
+--connection node_2
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+SELECT * FROM t1;
+
+--connection node_1
+DROP TABLE t1;
+
+#
+# Transaction
+#
+
+--connection node_1
+SET GLOBAL wsrep_sync_wait=15;
+CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=Aria;
+CREATE TABLE t2 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
+SET AUTOCOMMIT=OFF;
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+COMMIT;
+
+--connection node_2
+SET GLOBAL wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_1 FROM t1;
+SELECT COUNT(*) AS EXPECT_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(*) AS EXPECT_2 FROM t1;
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
+
+--connection node_1
+DROP TABLE t1,t2;
+
+#
+# Transaction conflict
+#
+
+--connection node_1
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=Aria;
+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 Aria 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,t2;
+
+--connection node_1
+CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+# This command should not get replicated.
+SELECT * FROM t1;
+DROP TABLE t1;
+
+#
+# Test prepared staments
+#
+--connection node_1
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=Aria;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+
+PREPARE upd from 'update t1 set b = 100 where id = 5';
+PREPARE ins from 'insert into t1 values (11,11)';
+PREPARE del from 'delete from t1 where id = 4';
+PREPARE rep from 'replace into t1 values (12,12),(6,600)';
+
+EXECUTE upd;
+EXECUTE ins;
+EXECUTE del;
+EXECUTE rep;
+
+SELECT * FROM t1 ORDER BY id;
+
+--connection node_2
+SELECT * FROM t1 ORDER BY id;
+
+--connection node_1
+DROP TABLE t1;
+
+#
+# Test procedure
+#
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=Aria;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+
+DELIMITER |;
+CREATE PROCEDURE proc()
+BEGIN
+ UPDATE t1 set b = 100 WHERE id = 5;
+ INSERT INTO t1 VALUES (11,11);
+ DELETE FROM t1 WHERE id = 4;
+ REPLACE INTO t1 VALUES (12,12),(6,600);
+ COMMIT;
+END|
+DELIMITER ;|
+
+CALL proc();
+SELECT * FROM t1 ORDER BY id;
+
+--connection node_2
+SELECT * FROM t1 ORDER BY id;
+
+--connection node_1
+DROP PROCEDURE proc;
+DROP TABLE t1;
+
+#
+# Test trigger
+#
+--connection node_1
+CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=Aria;
+CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT) ENGINE=Aria;
+INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
+CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, NEW.b);
+CREATE TRIGGER tr2 BEFORE UPDATE ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, OLD.b),(NULL, NEW.b);
+CREATE TRIGGER tr3 BEFORE DELETE ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, OLD.b);
+
+INSERT INTO t1 VALUES (11,11);
+UPDATE t1 SET b = 200 WHERE id = 2;
+DELETE FROM t1 where id = 5;
+SELECT * FROM t1 ORDER BY id;
+SELECT * FROM t2 ORDER BY id;
+
+--connection node_2
+SELECT * FROM t1 ORDER BY id;
+SELECT * FROM t2 ORDER BY id;
+
+--connection node_1
+DROP TRIGGER tr1;
+DROP TRIGGER tr2;
+DROP TRIGGER tr3;
+DROP TABLE t1,t2;
+
+--disable_query_log
+--connection node_1
+SET GLOBAL wsrep_mode = DEFAULT;
+--connection node_2
+SET GLOBAL wsrep_mode = DEFAULT;
+--enable_query_log
+
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
index a9811283918..a556547d990 100644
--- a/mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test
+++ b/mysql-test/suite/galera/t/galera_var_replicate_myisam_off.test
@@ -1,21 +1,15 @@
#
-# Simple test for wsrep-replicate-myisam = FALSE
+# Simple test for wsrep_mode != REPLICATE_MYISAM
#
--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;
+SELECT COUNT(*) AS EXPECT_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
index acebe4cccdc..f405ebfdc46 100644
--- a/mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test
+++ b/mysql-test/suite/galera/t/galera_var_replicate_myisam_on.test
@@ -1,17 +1,14 @@
#
-# Simple test for wsrep-replicate-myisam = ON
+# Simple test for wsrep-mode = REPLICATE_MYISAM
#
--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;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
--connection node_2
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
#
# Simple INSERT
@@ -24,7 +21,7 @@ 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;
+SELECT COUNT(*) AS EXPECT_5 FROM t1;
DROP TABLE t1;
@@ -39,10 +36,10 @@ 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';
+SELECT COUNT(*) AS EXPECT_3 FROM t1;
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
#
# UPDATE
@@ -52,7 +49,7 @@ SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
--connection node_2
-SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'zzz';
+SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'zzz';
#
# DELETE
@@ -62,7 +59,7 @@ SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'zzz';
DELETE FROM t1 WHERE f2 = 'zzz';
--connection node_2
-SELECT COUNT(*) = 0 FROM t1 WHERE f2 = 'zzz';
+SELECT COUNT(*) AS EXPECT_0 FROM t1 WHERE f2 = 'zzz';
#
# TRUNCATE
@@ -72,7 +69,7 @@ SELECT COUNT(*) = 0 FROM t1 WHERE f2 = 'zzz';
TRUNCATE TABLE t1;
--connection node_2
-SELECT COUNT(*) = 0 FROM t1;
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
DROP TABLE t1;
#
@@ -80,8 +77,8 @@ DROP TABLE t1;
#
--connection node_1
-CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=MyISAM;
-CREATE TABLE t2 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
+CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
@@ -89,8 +86,8 @@ INSERT INTO t2 VALUES (1);
COMMIT;
--connection node_2
-SELECT COUNT(*) = 1 FROM t1;
-SELECT COUNT(*) = 1 FROM t2;
+SELECT COUNT(*) AS EXPECT_1 FROM t1;
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
#
# Transaction rollback
@@ -103,8 +100,8 @@ INSERT INTO t2 VALUES (2);
ROLLBACK;
--connection node_2
-SELECT COUNT(*) = 2 FROM t1;
-SELECT COUNT(*) = 1 FROM t2;
+SELECT COUNT(*) AS EXPECT_2 FROM t1;
+SELECT COUNT(*) AS EXPECT_1 FROM t2;
DROP TABLE t1;
DROP TABLE t2;
@@ -128,20 +125,7 @@ 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 NOT NULL PRIMARY KEY) ENGINE=INNODB;
-INSERT INTO t1 VALUES(1);
-# This command should not get replicated.
-SELECT * FROM t1;
-DROP TABLE t1;
-
+DROP TABLE t1, t2;
#
# Test prepared staments
#
@@ -218,22 +202,19 @@ DROP TRIGGER tr2;
DROP TRIGGER tr3;
DROP TABLE t1,t2;
-CREATE TABLE t1 (a INT, b INT, UNIQUE(a)) ENGINE=MyISAM;
-CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a=1;
-SET GLOBAL wsrep_replicate_myisam=ON;
-INSERT INTO t1 (a,b) VALUES (10,20);
-
---connection node_2
-SELECT * from t1;
+--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
--disable_query_log
---eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
---enable_query_log
-
+SET GLOBAL wsrep_mode = DEFAULT;
--connection node_2
---disable_query_log
---eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig
+SET GLOBAL wsrep_mode = DEFAULT;
--enable_query_log
-
diff --git a/mysql-test/suite/galera/t/galera_var_wsrep_mode.test b/mysql-test/suite/galera/t/galera_var_wsrep_mode.test
new file mode 100644
index 00000000000..56953b1e71b
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_wsrep_mode.test
@@ -0,0 +1,65 @@
+--source include/galera_cluster.inc
+
+# default
+SELECT @@wsrep_mode;
+
+SET GLOBAL wsrep_mode=DEFAULT;
+SELECT @@wsrep_mode;
+
+--error ER_GLOBAL_VARIABLE
+SET SESSION wsrep_mode=DEFAULT;
+SELECT @@global.wsrep_mode;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.wsrep_mode;
+
+#
+# Incorrect input
+#
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL wsrep_mode=A;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL wsrep_mode='A';
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL wsrep_mode=NULL;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL wsrep_mode=64;
+--error ER_PARSE_ERROR
+SET GLOBAL wsrep_mode=REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM;
+#
+# Correct input
+#
+SET GLOBAL wsrep_mode=1;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=32;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode='';
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=STRICT_REPLICATION;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=BINLOG_ROW_FORMAT_ONLY;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=REQUIRED_PRIMARY_KEY;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=REPLICATE_ARIA;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode=DISALLOW_LOCAL_GTID;
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode='STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY';
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode='STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY,REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA,DISALLOW_LOCAL_GTID';
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode='BINLOG_ROW_FORMAT_ONLY,STRICT_REPLICATION';
+SELECT @@wsrep_mode;
+SET GLOBAL wsrep_mode='STRICT_REPLICATION,REQUIRED_PRIMARY_KEY,REPLICATE_ARIA,DISALLOW_LOCAL_GTID';
+SELECT @@wsrep_mode;
+
+# reset
+SET GLOBAL wsrep_mode=DEFAULT;
+
+
+
+
+
+
diff --git a/mysql-test/suite/galera/t/galera_var_wsrep_strict_ddl.test b/mysql-test/suite/galera/t/galera_var_wsrep_strict_ddl.test
new file mode 100644
index 00000000000..2aa76d46f82
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_var_wsrep_strict_ddl.test
@@ -0,0 +1,13 @@
+--source include/galera_cluster.inc
+
+SELECT @@global.wsrep_mode;
+SELECT @@global.wsrep_strict_ddl;
+
+SET @@global.wsrep_strict_ddl=ON;
+SELECT @@global.wsrep_mode;
+SELECT @@global.wsrep_strict_ddl;
+
+SET @@global.wsrep_strict_ddl=OFF;
+SELECT @@global.wsrep_mode;
+SELECT @@global.wsrep_strict_ddl;
+
diff --git a/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test b/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test
index ca75d33b7d7..0a32a06580b 100644
--- a/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test
+++ b/mysql-test/suite/galera/t/galera_vote_rejoin_ddl.test
@@ -93,4 +93,8 @@ CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with
DROP TABLE t2;
+--let $node_3=node_3
+--let $auto_increment_offset_node_3 = 3;
+--let $node_4=node_4
+--let $auto_increment_offset_node_4 = 4;
--source include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera/t/galera_wsrep_mode.test b/mysql-test/suite/galera/t/galera_wsrep_mode.test
new file mode 100644
index 00000000000..a8e192123bd
--- /dev/null
+++ b/mysql-test/suite/galera/t/galera_wsrep_mode.test
@@ -0,0 +1,25 @@
+#
+# Test for different wsrep_mode values
+#
+
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+
+# REQUIRED_PRIMARY_KEY
+SET GLOBAL wsrep_mode = REQUIRED_PRIMARY_KEY;
+--error ER_GALERA_REPLICATION_NOT_SUPPORTED
+CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB;
+SHOW WARNINGS;
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
+
+DROP TABLE t1;
+SET GLOBAL wsrep_mode = default;
+
+
+# MDEV-25698 SIGSEGV in wsrep_should_replicate_ddl
+
+SET GLOBAL wsrep_mode = STRICT_REPLICATION;
+CREATE VIEW v AS SELECT * FROM JSON_TABLE ('{"a":0}',"$" COLUMNS (a DECIMAL(1,1) path '$.a')) foo;
+DROP VIEW v;
+SET GLOBAL wsrep_mode = default;
diff --git a/mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.opt b/mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.opt
new file mode 100644
index 00000000000..beae84b3862
--- /dev/null
+++ b/mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.opt
@@ -0,0 +1 @@
+--log-bin
diff --git a/mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.test b/mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.test
new file mode 100644
index 00000000000..eb5febb127a
--- /dev/null
+++ b/mysql-test/suite/galera/t/mariadb_tzinfo_to_sql.test
@@ -0,0 +1,235 @@
+--source include/galera_cluster.inc
+--source include/have_innodb.inc
+--source include/no_protocol.inc
+
+--echo #
+--echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
+--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
+
+--echo
+--echo # On node_1
+--connection node_1
+
+CREATE TABLE time_zone LIKE mysql.time_zone;
+CREATE TABLE time_zone_name LIKE mysql.time_zone_name;
+CREATE TABLE time_zone_transition LIKE mysql.time_zone_transition;
+CREATE TABLE time_zone_transition_type LIKE mysql.time_zone_transition_type;
+CREATE TABLE time_zone_leap_second LIKE mysql.time_zone_leap_second;
+ALTER TABLE time_zone_name ENGINE=MyISAM;
+ALTER TABLE time_zone_transition_type ENGINE=MyISAM;
+
+SET @save_wsrep_mode=@@WSREP_MODE;
+
+--echo #
+--echo # Run on zoneinfo directory --skip-write-binlog
+--echo #
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $MYSQL_TZINFO_TO_SQL --skip-write-binlog $MYSQLTEST_VARDIR/zoneinfo 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
+
+--echo
+--echo # Apply on node_1
+--echo
+--let $snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
+--disable_query_log
+CREATE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+--let $new_snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
+
+if ($snap_pos == $new_snap_pos)
+{
+--echo 'binlog stationary as expected'
+}
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+--echo
+--echo # On node_2 (not replicated)
+--echo
+--connection node_2
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+--echo
+--echo # Apply on node_1
+--echo
+--connection node_1
+
+SET GLOBAL WSREP_MODE='REPLICATE_ARIA,REPLICATE_MYISAM';
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+--let $new_snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
+
+if ($snap_pos == $new_snap_pos)
+{
+--echo 'binlog stationary as expected'
+}
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+--echo
+--echo # On node_2 (not replicated)
+--echo
+--connection node_2
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+--echo #
+--echo # Run on zoneinfo directory without --skip-write-binlog
+--echo #
+
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>/dev/null > $MYSQL_TMP_DIR/tz.sql
+
+--echo
+--echo # Apply on node_1
+--echo
+--connection node_1
+
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+--let $new_snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
+
+if ($snap_pos < $new_snap_pos)
+{
+--echo 'binlog advanced as expected'
+}
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+--echo
+--echo # On node_2 (replicated via ARIA)
+--echo
+--connection node_2
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+TRUNCATE TABLE time_zone;
+TRUNCATE TABLE time_zone_name;
+TRUNCATE TABLE time_zone_transition;
+TRUNCATE TABLE time_zone_transition_type;
+TRUNCATE TABLE time_zone_leap_second;
+
+--echo
+--echo # Apply on node_1
+--echo
+--connection node_1
+
+SET GLOBAL WSREP_MODE='';
+--let $snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
+--disable_query_log
+CREATE OR REPLACE TEMPORARY TABLE baseline AS
+ SELECT VARIABLE_NAME,VARIABLE_VALUE
+ FROM information_schema.global_status
+ WHERE VARIABLE_NAME IN ('COM_BEGIN', 'COM_INSERT', 'COM_LOCK_TABLES', 'COM_ALTER_TABLE', 'COM_TRUNCATE');
+--source $MYSQL_TMP_DIR/tz.sql
+--enable_query_log
+--let $new_snap_pos= query_get_value(SHOW STATUS LIKE 'binlog_snapshot_position', Value, 1)
+
+if ($snap_pos < $new_snap_pos)
+{
+--echo 'binlog advanced as expected'
+}
+SELECT @wsrep_is_on, @wsrep_cannot_replicate_tz, @save_wsrep_on, @save_sql_log_bin, @@WSREP_ON, @@SQL_LOG_BIN;
+SELECT g.VARIABLE_NAME, g.VARIABLE_VALUE - b.VARIABLE_VALUE AS diff
+ FROM information_schema.global_status g
+ JOIN baseline b USING (VARIABLE_NAME)
+ ORDER BY g.VARIABLE_NAME;
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES
+WHERE
+ TABLE_SCHEMA = DATABASE()
+ AND TABLE_NAME LIKE 'time_zone%' ORDER BY TABLE_NAME;
+
+--echo
+--echo # On node_2 (replicated via InnoDB)
+--echo
+--connection node_2
+
+SELECT COUNT(*) FROM time_zone;
+SELECT COUNT(*) FROM time_zone_name;
+SELECT COUNT(*) FROM time_zone_transition;
+SELECT COUNT(*) FROM time_zone_transition_type;
+SELECT COUNT(*) FROM time_zone_leap_second;
+
+#
+# Cleanup
+#
+
+--connection node_1
+--remove_file $MYSQL_TMP_DIR/tz.sql
+--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
+SET GLOBAL WSREP_MODE=@save_wsrep_mode;
+DROP TABLE baseline;
+DROP TABLE time_zone;
+DROP TABLE time_zone_name;
+DROP TABLE time_zone_transition;
+DROP TABLE time_zone_transition_type;
+DROP TABLE time_zone_leap_second;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/suite/galera/t/wsrep_strict_ddl.test b/mysql-test/suite/galera/t/wsrep_mode_strict_replication.test
index c0a0cd756ba..1f114435914 100644
--- a/mysql-test/suite/galera/t/wsrep_strict_ddl.test
+++ b/mysql-test/suite/galera/t/wsrep_mode_strict_replication.test
@@ -7,12 +7,12 @@ SET GLOBAL binlog_format='ROW';
create table before_t1(a int, count int, b int, key(b)) engine=Aria;
INSERT INTO before_t1 values (1,1,1);
-set @@global.wsrep_strict_ddl=ON;
-select @@global.wsrep_strict_ddl;
+SET @@global.wsrep_mode=STRICT_REPLICATION;
+select @@global.wsrep_mode;
--connection node_2
-set @@global.wsrep_strict_ddl=ON;
-select @@global.wsrep_strict_ddl;
+SET @@global.wsrep_mode=STRICT_REPLICATION;
+select @@global.wsrep_mode;
--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
@@ -123,11 +123,11 @@ SHOW CREATE TABLE before_t1;
#
--connection node_1
-set @@global.wsrep_strict_ddl=OFF;
-select @@global.wsrep_strict_ddl;
+set @@global.wsrep_mode=default;
+select @@global.wsrep_mode;
--connectIon node_2
-set @@global.wsrep_strict_ddl=OFF;
-select @@global.wsrep_strict_ddl;
+set @@global.wsrep_mode=default;
+select @@global.wsrep_mode;
DROP TABLE t2;
DROP TABLE before_t1;
diff --git a/mysql-test/suite/galera_3nodes/disabled.def b/mysql-test/suite/galera_3nodes/disabled.def
index 95464ce3d95..d3e8808a4ef 100644
--- a/mysql-test/suite/galera_3nodes/disabled.def
+++ b/mysql-test/suite/galera_3nodes/disabled.def
@@ -11,16 +11,19 @@
##############################################################################
GAL-501 : MDEV-24645 galera_3nodes.GAL-501 MTR failed: failed to open gcomm backend connection: 110
+GCF-354 : MDEV-25614 Galera test failure on GCF-354
galera_2_cluster : MDEV-22195 temporarily disabled due to issues to be fixed with MDEV-22195
galera_gtid_2_cluster : MDEV-23775 Galera test failure on galera_3nodes.galera_gtid_2_cluster
galera_ist_gcache_rollover : MDEV-23578 WSREP: exception caused by message: {v=0,t=1,ut=255,o=4,s=0,sr=0,as=1,f=6,src=50524cfe,srcvid=view_id(REG,50524cfe,4),insvid=view_id(UNKNOWN,00000000,0),ru=00000000,r=[-1,-1],fs=75,nl=(}
-galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to MySQL server during query
-galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to MySQL server during query
+galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to server during query
+galera_load_data_ist : MDEV-24639 galera_3nodes.galera_load_data_ist MTR failed with SIGABRT: query 'reap' failed: 2013: Lost connection to server during query
galera_pc_bootstrap : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_safe_to_bootstrap : MDEV-24097 galera_3nodes.galera_safe_to_bootstrap MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_slave_options_do : MDEV-8798
galera_slave_options_ignore : MDEV-8798
galera_vote_rejoin_mysqldump : MDEV-24481: galera_3nodes.galera_vote_rejoin_mysqldump MTR failed: mysql_shutdown failed
+galera_ipv6_mysqldump : MDEV-26499: galera_3nodes.galera_ipv6_mysqldump MTR failed: mysql_shutdown failed
+galera_wsrep_schema : MDEV-26503 : galera_3nodes.galera_wsrep_schema MTR failed: mysql_shutdown failed
galera_ipv6_mariabackup : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_ipv6_mariabackup_section : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
galera_ipv6_rsync : MDEV-24097 MTR sporadaically fails: Failed to start mysqld or mysql_shutdown failed
diff --git a/mysql-test/suite/galera_3nodes/r/galera_dynamic_protocol.result b/mysql-test/suite/galera_3nodes/r/galera_dynamic_protocol.result
new file mode 100644
index 00000000000..a6002b56f63
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/r/galera_dynamic_protocol.result
@@ -0,0 +1,24 @@
+connection node_2;
+connection node_1;
+connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
+connection node_1;
+connection node_2;
+connection node_3;
+connection node_1;
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+connection node_2;
+connection node_3;
+SELECT COUNT(*) = 1 FROM t1;
+COUNT(*) = 1
+1
+connection node_1;
+connection node_2;
+connection node_2;
+# restart: with restart_parameters
+INSERT INTO t1 VALUES (2);
+connection node_3;
+SELECT COUNT(*) = 2 FROM t1;
+COUNT(*) = 2
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result
index 934218492d6..1fb0ea30f4f 100644
--- a/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result
+++ b/mysql-test/suite/galera_3nodes/r/galera_ipv6_mysqldump.result
@@ -26,10 +26,10 @@ SELECT VARIABLE_VALUE LIKE '%[::1]%' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE
VARIABLE_VALUE LIKE '%[::1]%'
1
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");
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_A.result b/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_A.result
index a60e2bbb6cc..1813607517a 100644
--- a/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_A.result
+++ b/mysql-test/suite/galera_3nodes/r/galera_join_with_cc_A.result
@@ -1,6 +1,9 @@
connection node_2;
connection node_1;
connection node_1;
+connection node_2;
+connection node_3;
+connection node_1;
CREATE TABLE t1 (pk INT PRIMARY KEY, node INT) ENGINE=innodb;
INSERT INTO t1 VALUES (1, 1);
connection node_2;
diff --git a/mysql-test/suite/galera_3nodes/t/GAL-501.test b/mysql-test/suite/galera_3nodes/t/GAL-501.test
index af5b83ae261..ecf1c7660d1 100644
--- a/mysql-test/suite/galera_3nodes/t/GAL-501.test
+++ b/mysql-test/suite/galera_3nodes/t/GAL-501.test
@@ -4,6 +4,7 @@
# wsrep_node_address=[::1]
# ist.recv_addr=[::1]
+--let galera_connection_address=::1
--source include/galera_cluster.inc
--source include/check_ipv6.inc
--source include/force_restart.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.cnf b/mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.cnf
new file mode 100644
index 00000000000..1457727270e
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.cnf
@@ -0,0 +1,16 @@
+!include ../galera_3nodes.cnf
+
+[mysqld]
+wsrep_sst_method=rsync
+
+[mysqld.1]
+wsrep_node_name='node.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.dynamic=true'
+
+[mysqld.2]
+wsrep_node_name='node.2'
+wsrep_provider_options='base_port=@mysqld.2.#galera_port'
+
+[mysqld.3]
+wsrep_node_name='node.3'
+wsrep_provider_options='base_port=@mysqld.3.#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.dynamic=true'
diff --git a/mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.test b/mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.test
new file mode 100644
index 00000000000..bdb6a9db55b
--- /dev/null
+++ b/mysql-test/suite/galera_3nodes/t/galera_dynamic_protocol.test
@@ -0,0 +1,65 @@
+#
+# Test galera dynamic protocol support. By providing `socket.dynamic=true` in
+# galera configuration it is possible to use same port for communication over ssl or tcp.
+#
+
+--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
+# 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
+--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
+
+CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) Engine=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+--connection node_2
+--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
+
+--connection node_3
+--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
+
+SELECT COUNT(*) = 1 FROM t1;
+
+# Setup galera ports
+--connection node_1
+--source suite/galera/include/galera_base_port.inc
+--let $NODE_GALERAPORT_1 = $_NODE_GALERAPORT
+
+--connection node_2
+--source suite/galera/include/galera_base_port.inc
+--let $NODE_GALERAPORT_2 = $_NODE_GALERAPORT
+
+--connection node_2
+# Restart node with SSL enabled
+--source include/shutdown_mysqld.inc
+--let $restart_noprint = 1
+--let $restart_parameters = --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1 --wsrep_provider_options=base_port=$NODE_GALERAPORT_2;socket.ssl=yes;socket.ssl_ca=$MYSQL_TEST_DIR/std_data/galera-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/galera_wait_ready.inc
+
+INSERT INTO t1 VALUES (2);
+
+--connection node_3
+SELECT COUNT(*) = 2 FROM t1;
+
+DROP TABLE t1;
+
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test
index 6e02350b12b..f563392434c 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup.test
@@ -1,3 +1,4 @@
+--let galera_connection_address=::1
--source include/big_test.inc
--source include/galera_cluster.inc
--source include/check_ipv6.inc
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
index 453aa21988d..2ed69ea93dc 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mariabackup_section.test
@@ -1,3 +1,4 @@
+--let galera_connection_address=::1
--source include/big_test.inc
--source include/galera_cluster.inc
--source include/check_ipv6.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test
index 2f8bf07b5b5..27e71da29fa 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_mysqldump.test
@@ -1,3 +1,4 @@
+--let galera_connection_address=::1
--source include/galera_cluster.inc
--source include/check_ipv6.inc
--source include/force_restart.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test
index 448611e34e0..04a88675752 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync.test
@@ -1,3 +1,4 @@
+--let galera_connection_address=::1
--source include/galera_cluster.inc
--source include/check_ipv6.inc
--source include/force_restart.inc
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
index 448611e34e0..04a88675752 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_ipv6_rsync_section.test
@@ -1,3 +1,4 @@
+--let galera_connection_address=::1
--source include/galera_cluster.inc
--source include/check_ipv6.inc
--source include/force_restart.inc
diff --git a/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_A.test b/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_A.test
index 2248ff5014a..db8bf90cb5c 100644
--- a/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_A.test
+++ b/mysql-test/suite/galera_3nodes/t/galera_join_with_cc_A.test
@@ -15,6 +15,12 @@
--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
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
@@ -260,3 +266,5 @@ call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State T
--connection node_3
call mtr.add_suppression("WSREP: Rejecting JOIN message from \(.*\): new State Transfer required.");
+
+--source ../galera/include/auto_increment_offset_restore.inc
diff --git a/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result b/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
index 8333fff98db..726f70145f1 100644
--- a/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
+++ b/mysql-test/suite/galera_3nodes_sr/r/GCF-832.result
@@ -12,7 +12,7 @@ SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary');
COMMIT;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# restart
connection node_1;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
diff --git a/mysql-test/suite/galera_sr/r/MDEV-18585.result b/mysql-test/suite/galera_sr/r/MDEV-18585.result
index d30def1ea63..44c3637506b 100644
--- a/mysql-test/suite/galera_sr/r/MDEV-18585.result
+++ b/mysql-test/suite/galera_sr/r/MDEV-18585.result
@@ -12,25 +12,25 @@ SET SESSION wsrep_trx_fragment_size=1;
INSERT INTO t1 VALUES (5), (6);
SET SESSION wsrep_trx_fragment_unit=default;
SET SESSION wsrep_trx_fragment_size=default;
-SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 518;
+SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 527;
Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000002 518 Gtid 1 560 BEGIN GTID 0-1-2
-mysqld-bin.000002 560 Annotate_rows 1 613 INSERT INTO t1 VALUES (1), (2)
-mysqld-bin.000002 613 Table_map 1 658 table_id: # (test.t1)
-mysqld-bin.000002 658 Write_rows_v1 1 696 table_id: # flags: STMT_END_F
-mysqld-bin.000002 696 Table_map 1 741 table_id: # (test.t1)
-mysqld-bin.000002 741 Write_rows_v1 1 779 table_id: # flags: STMT_END_F
-mysqld-bin.000002 779 Xid 1 810 COMMIT /* xid=# */
-mysqld-bin.000002 810 Gtid 1 852 BEGIN GTID 0-1-3
-mysqld-bin.000002 852 Annotate_rows 1 905 INSERT INTO t1 VALUES (3), (4)
-mysqld-bin.000002 905 Table_map 1 950 table_id: # (test.t1)
-mysqld-bin.000002 950 Write_rows_v1 1 988 table_id: # flags: STMT_END_F
-mysqld-bin.000002 988 Table_map 1 1033 table_id: # (test.t1)
-mysqld-bin.000002 1033 Write_rows_v1 1 1071 table_id: # flags: STMT_END_F
-mysqld-bin.000002 1071 Xid 1 1102 COMMIT /* xid=# */
-mysqld-bin.000002 1102 Gtid 1 1144 BEGIN GTID 0-1-4
-mysqld-bin.000002 1144 Annotate_rows 1 1197 INSERT INTO t1 VALUES (5), (6)
-mysqld-bin.000002 1197 Table_map 1 1242 table_id: # (test.t1)
-mysqld-bin.000002 1242 Write_rows_v1 1 1285 table_id: # flags: STMT_END_F
-mysqld-bin.000002 1285 Xid 1 1316 COMMIT /* xid=# */
+mysqld-bin.000002 # Gtid 1 # BEGIN GTID 0-1-2
+mysqld-bin.000002 # Annotate_rows 1 # INSERT INTO t1 VALUES (1), (2)
+mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Xid 1 # COMMIT /* xid=# */
+mysqld-bin.000002 # Gtid 1 # BEGIN GTID 0-1-3
+mysqld-bin.000002 # Annotate_rows 1 # INSERT INTO t1 VALUES (3), (4)
+mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Xid 1 # COMMIT /* xid=# */
+mysqld-bin.000002 # Gtid 1 # BEGIN GTID 0-1-4
+mysqld-bin.000002 # Annotate_rows 1 # INSERT INTO t1 VALUES (5), (6)
+mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
+mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
+mysqld-bin.000002 # Xid 1 # COMMIT /* xid=# */
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/r/MDEV-27615.result b/mysql-test/suite/galera_sr/r/MDEV-27615.result
index a3475811285..e3bfd0ed539 100644
--- a/mysql-test/suite/galera_sr/r/MDEV-27615.result
+++ b/mysql-test/suite/galera_sr/r/MDEV-27615.result
@@ -15,7 +15,7 @@ SET DEBUG_SYNC='now WAIT_FOR before_fragment';
SET GLOBAL wsrep_cluster_address = '';
SET DEBUG_SYNC = 'now SIGNAL continue';
connection node_2;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_2a;
SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_cc_master.result b/mysql-test/suite/galera_sr/r/galera_sr_cc_master.result
index 9e223414fe4..1f874acadec 100644
--- a/mysql-test/suite/galera_sr/r/galera_sr_cc_master.result
+++ b/mysql-test/suite/galera_sr/r/galera_sr_cc_master.result
@@ -27,7 +27,7 @@ SET GLOBAL wsrep_cluster_address = '';
SET SESSION wsrep_sync_wait = DEFAULT;
connection node_2;
INSERT INTO t1 VALUES (6);
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
connection node_1;
SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
COUNT(*)
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_myisam.result b/mysql-test/suite/galera_sr/r/galera_sr_myisam.result
index 97818f072e1..5f899f528cb 100644
--- a/mysql-test/suite/galera_sr/r/galera_sr_myisam.result
+++ b/mysql-test/suite/galera_sr/r/galera_sr_myisam.result
@@ -3,11 +3,11 @@ connection node_1;
connection node_1;
CREATE TABLE t1 (f1 TEXT) ENGINE=MyISAM;
SET SESSION wsrep_trx_fragment_size = 1;
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
INSERT INTO t1 VALUES (REPEAT('x', 65535));
connection node_2;
-SELECT COUNT(*) = 1 FROM t1;
-COUNT(*) = 1
+SELECT COUNT(*) AS EXPECT_1 FROM t1;
+EXPECT_1
1
SELECT LENGTH(f1) = 65535 FROM t1;
LENGTH(f1) = 65535
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_mysqldump_sst.result b/mysql-test/suite/galera_sr/r/galera_sr_mysqldump_sst.result
index 6789990f18e..82a9262b4b6 100644
--- a/mysql-test/suite/galera_sr/r/galera_sr_mysqldump_sst.result
+++ b/mysql-test/suite/galera_sr/r/galera_sr_mysqldump_sst.result
@@ -48,10 +48,10 @@ DROP TABLE ten;
connection node_1;
SET SESSION wsrep_trx_fragment_size=0;
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");
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query");
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("Slave SQL: Error 'The MariaDB 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("Can't open and lock time zone table");
CALL mtr.add_suppression("Can't open and lock privilege tables");
diff --git a/mysql-test/suite/galera_sr/t/MDEV-18585.test b/mysql-test/suite/galera_sr/t/MDEV-18585.test
index 18bbbe8f7e0..7535b524a6d 100644
--- a/mysql-test/suite/galera_sr/t/MDEV-18585.test
+++ b/mysql-test/suite/galera_sr/t/MDEV-18585.test
@@ -12,6 +12,8 @@ CREATE TABLE t1 (f1 INT PRIMARY KEY);
SET SESSION wsrep_trx_fragment_unit='ROWS';
SET SESSION wsrep_trx_fragment_size=1;
+--let $start_pos= query_get_value(SHOW MASTER STATUS, Position, 1)
+
INSERT INTO t1 VALUES (1), (2);
#
@@ -37,6 +39,7 @@ SET SESSION wsrep_trx_fragment_unit=default;
SET SESSION wsrep_trx_fragment_size=default;
--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
-SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 518;
+--replace_column 2 # 5 #
+--eval SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM $start_pos
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/t/galera_sr_myisam.test b/mysql-test/suite/galera_sr/t/galera_sr_myisam.test
index b037f817610..ce9990ffd35 100644
--- a/mysql-test/suite/galera_sr/t/galera_sr_myisam.test
+++ b/mysql-test/suite/galera_sr/t/galera_sr_myisam.test
@@ -10,20 +10,18 @@
--connection node_1
CREATE TABLE t1 (f1 TEXT) ENGINE=MyISAM;
---let $wsrep_replicate_myisam_orig = `SELECT @@wsrep_replicate_myisam`
-
SET SESSION wsrep_trx_fragment_size = 1;
-SET GLOBAL wsrep_replicate_myisam = TRUE;
+SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
INSERT INTO t1 VALUES (REPEAT('x', 65535));
--connection node_2
-SELECT COUNT(*) = 1 FROM t1;
+SELECT COUNT(*) AS EXPECT_1 FROM t1;
SELECT LENGTH(f1) = 65535 FROM t1;
DROP TABLE t1;
--connection node_1
--disable_query_log
---eval SET GLOBAL wsrep_replicate_myisam = $wsrep_replicate_myisam_orig;
+SET GLOBAL wsrep_mode = DEFAULT;
--enable_query_log
diff --git a/mysql-test/suite/gcol/inc/gcol_keys.inc b/mysql-test/suite/gcol/inc/gcol_keys.inc
index cf0612b0d0c..e5ac0afd92a 100644
--- a/mysql-test/suite/gcol/inc/gcol_keys.inc
+++ b/mysql-test/suite/gcol/inc/gcol_keys.inc
@@ -203,7 +203,7 @@ INSERT INTO c ( col_time_nokey,col_datetime_nokey,col_varchar_nokey) values
('16:21:18.052408','2001-11-08 21:02:12.009395', 'x'),
('18:56:33.027423','2003-04-01 00:00:00', 'i');
---replace_column 10 x 11 x
+--replace_column 9 x 10 x
EXPLAIN SELECT
outr.col_time_key AS x
FROM c as outr
diff --git a/mysql-test/suite/gcol/inc/gcol_select.inc b/mysql-test/suite/gcol/inc/gcol_select.inc
index 939d2f64e84..2386c55fdbc 100644
--- a/mysql-test/suite/gcol/inc/gcol_select.inc
+++ b/mysql-test/suite/gcol/inc/gcol_select.inc
@@ -507,7 +507,7 @@ INSERT /*! IGNORE */ INTO cc (
(6, '2008-10-10', NULL, '2000-05-22 00:00:00', 'i'),
(8, '2002-01-19', '05:18:40.006865', '2009-02-12 00:00:00', 'v');
---replace_column 10 # 11 #
+--replace_column 9 # 10 #
EXPLAIN
SELECT subquery2_t2.col_int_key AS subquery2_field1
FROM (c AS subquery2_t1 RIGHT JOIN
@@ -544,10 +544,10 @@ CREATE TABLE cc (
KEY (col_int_key)
);
INSERT INTO cc (col_int_nokey) VALUES (0),(1),(7),(0),(4),(5);
---replace_column 10 # 11 #
+--replace_column 9 # 10 #
EXPLAIN SELECT pk FROM cc WHERE col_int_key > 3;
SELECT pk FROM cc WHERE col_int_key > 3;
---replace_column 10 # 11 #
+--replace_column 9 # 10 #
EXPLAIN SELECT pk FROM cc WHERE col_int_key > 3 ORDER BY 1;
SELECT pk FROM cc WHERE col_int_key > 3 ORDER BY 1;
DROP TABLE cc;
@@ -601,7 +601,7 @@ INSERT INTO a (
ANALYZE TABLE a, c;
---replace_column 10 #
+--replace_column 9 #
--disable_warnings
EXPLAIN
SELECT
@@ -675,7 +675,7 @@ col_varchar_nokey
(5, 'b'),(8,'m'),(7, 'j'),(2, 'v');
ANALYZE TABLE c, cc;
---replace_column 10 #
+--replace_column 9 #
--disable_warnings
let query=SELECT
@@ -734,7 +734,7 @@ KEY cover_key1 (col_int, col_varchar_255_utf8_key));
INSERT INTO j(col_int, pk, col_varchar_10_utf8) VALUES(9, 1, '951910400'),
(-1934295040, 2, '1235025920'),(-584581120, 3, '-1176633344'),(3, 4, '1074462720');
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT col_varchar_255_utf8_key FROM j ORDER BY 1;
SELECT col_varchar_255_utf8_key FROM j ORDER BY col_varchar_255_utf8_key;
diff --git a/mysql-test/suite/gcol/inc/gcol_view.inc b/mysql-test/suite/gcol/inc/gcol_view.inc
index 6f9ce673199..85caa58c400 100644
--- a/mysql-test/suite/gcol/inc/gcol_view.inc
+++ b/mysql-test/suite/gcol/inc/gcol_view.inc
@@ -29,20 +29,20 @@ select d,e from v1;
select is_updatable from information_schema.views where table_name='v1';
# view with different algorithms (explain output differs)
---replace_column 10 X
+--replace_column 9 X
explain select d,e from v1;
create algorithm=temptable view v2 (d,e) as select abs(b), abs(c) from t1;
show create view v2;
--sorted_result
select d,e from v2;
---replace_column 10 X
+--replace_column 9 X
explain select d,e from v2;
# VIEW on VIEW test
create view v3 (d,e) as select d*2, e*2 from v1;
--sorted_result
select * from v3;
---replace_column 10 X
+--replace_column 9 X
explain select * from v3;
drop view v1,v2,v3;
@@ -58,7 +58,7 @@ insert into t1 (a) values (1), (2), (3), (1), (2), (3);
create view v1 as select distinct b from t1;
--sorted_result
select * from v1;
---replace_column 10 X
+--replace_column 9 X
explain select * from v1;
--sorted_result
select * from t1;
@@ -66,7 +66,7 @@ drop view v1;
create view v1 as select distinct c from t1;
--sorted_result
select * from v1;
---replace_column 10 X
+--replace_column 9 X
explain select * from v1;
--sorted_result
select * from t1;
@@ -82,13 +82,13 @@ create table t1 (a int not null,
insert into t1 (a) values (1), (2), (3), (4);
create view v1 as select b+1 from t1 order by 1 desc limit 2;
select * from v1;
---replace_column 10 X
+--replace_column 9 X
explain select * from v1;
drop view v1;
create view v1 as select c+1 from t1 order by 1 desc limit 2;
--sorted_result
select * from v1;
---replace_column 10 X
+--replace_column 9 X
explain select * from v1;
drop view v1;
drop table t1;
diff --git a/mysql-test/suite/gcol/r/gcol_column_def_options_innodb.result b/mysql-test/suite/gcol/r/gcol_column_def_options_innodb.result
index 8cf428cecd2..2f462b3a685 100644
--- a/mysql-test/suite/gcol/r/gcol_column_def_options_innodb.result
+++ b/mysql-test/suite/gcol/r/gcol_column_def_options_innodb.result
@@ -433,7 +433,7 @@ CREATE TABLE t1 (c CHAR(10) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
+ `c` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i INT);
@@ -442,7 +442,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL,
- `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
+ `c` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i INT COLLATE utf8_bin, c INT COLLATE utf8_bin GENERATED ALWAYS AS (10));
diff --git a/mysql-test/suite/gcol/r/gcol_column_def_options_myisam.result b/mysql-test/suite/gcol/r/gcol_column_def_options_myisam.result
index 9f1ab38ae90..4a7f4368dd4 100644
--- a/mysql-test/suite/gcol/r/gcol_column_def_options_myisam.result
+++ b/mysql-test/suite/gcol/r/gcol_column_def_options_myisam.result
@@ -433,7 +433,7 @@ CREATE TABLE t1 (c CHAR(10) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
+ `c` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i INT);
@@ -442,7 +442,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL,
- `c` char(10) CHARACTER SET utf8 COLLATE utf8_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
+ `c` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin GENERATED ALWAYS AS ('foo bar') VIRTUAL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i INT COLLATE utf8_bin, c INT COLLATE utf8_bin GENERATED ALWAYS AS (10));
diff --git a/mysql-test/suite/gcol/r/gcol_keys_innodb.result b/mysql-test/suite/gcol/r/gcol_keys_innodb.result
index 196ceb5459e..edb20af7f1a 100644
--- a/mysql-test/suite/gcol/r/gcol_keys_innodb.result
+++ b/mysql-test/suite/gcol/r/gcol_keys_innodb.result
@@ -205,7 +205,7 @@ outr.col_varchar_nokey in ('c', 'x', 'i')
AND (outr.col_time_key IS NULL OR
outr.col_datetime_key = '2009-09-27');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE outr index_merge col_time_key,col_datetime_key col_time_key,col_datetime_key 4,6 NULL 2 x
+1 SIMPLE outr index_merge col_time_key,col_datetime_key col_time_key,col_datetime_key 4,6 NULL x x
SELECT
outr.col_time_key AS x
FROM c AS outr
diff --git a/mysql-test/suite/gcol/r/gcol_keys_myisam.result b/mysql-test/suite/gcol/r/gcol_keys_myisam.result
index c3cb35416ef..364d53afe1d 100644
--- a/mysql-test/suite/gcol/r/gcol_keys_myisam.result
+++ b/mysql-test/suite/gcol/r/gcol_keys_myisam.result
@@ -205,7 +205,7 @@ outr.col_varchar_nokey in ('c', 'x', 'i')
AND (outr.col_time_key IS NULL OR
outr.col_datetime_key = '2009-09-27');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE outr index_merge col_time_key,col_datetime_key col_time_key,col_datetime_key 4,6 NULL 2 x
+1 SIMPLE outr index_merge col_time_key,col_datetime_key col_time_key,col_datetime_key 4,6 NULL x x
SELECT
outr.col_time_key AS x
FROM c AS outr
diff --git a/mysql-test/suite/gcol/r/gcol_select_myisam.result b/mysql-test/suite/gcol/r/gcol_select_myisam.result
index 77ab0cdb926..67c495f6a6e 100644
--- a/mysql-test/suite/gcol/r/gcol_select_myisam.result
+++ b/mysql-test/suite/gcol/r/gcol_select_myisam.result
@@ -591,9 +591,9 @@ FROM (c AS subquery2_t1 RIGHT JOIN
(subquery2_t3.col_varchar_key = subquery2_t2.col_varchar_key))
ORDER BY subquery2_field1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE subquery2_t2 index NULL col_int_key_2 10 NULL 20 #
-1 SIMPLE subquery2_t3 ALL NULL NULL NULL NULL 20 #
-1 SIMPLE subquery2_t1 index NULL PRIMARY 4 NULL 20 #
+1 SIMPLE subquery2_t2 index NULL col_int_key_2 10 NULL # #
+1 SIMPLE subquery2_t3 ALL NULL NULL NULL NULL # #
+1 SIMPLE subquery2_t1 index NULL PRIMARY 4 NULL # #
SELECT subquery2_t2.col_int_key AS subquery2_field1
FROM (c AS subquery2_t1 RIGHT JOIN
(c AS subquery2_t2 LEFT JOIN cc AS subquery2_t3 ON
@@ -794,7 +794,7 @@ KEY (col_int_key)
INSERT INTO cc (col_int_nokey) VALUES (0),(1),(7),(0),(4),(5);
EXPLAIN SELECT pk FROM cc WHERE col_int_key > 3;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE cc range col_int_key col_int_key 5 NULL 3 #
+1 SIMPLE cc range col_int_key col_int_key 5 NULL # #
SELECT pk FROM cc WHERE col_int_key > 3;
pk
5
@@ -802,7 +802,7 @@ pk
3
EXPLAIN SELECT pk FROM cc WHERE col_int_key > 3 ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE cc range col_int_key col_int_key 5 NULL 3 #
+1 SIMPLE cc range col_int_key col_int_key 5 NULL # #
SELECT pk FROM cc WHERE col_int_key > 3 ORDER BY 1;
pk
3
@@ -876,12 +876,12 @@ ON (table3.col_int_key = table2.col_int_key ) ) )
ON (table3.col_int_nokey = table2.pk ) )
GROUP BY field1, field2;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY table1 system NULL NULL NULL NULL 1 #
-1 PRIMARY table2 ALL PRIMARY,col_int_key,col_int_key_2 NULL NULL NULL 19 #
-1 PRIMARY <derived2> ref key0 key0 9 test.table2.pk,test.table2.col_int_key 10 #
-2 DERIVED SUBQUERY1_t2 ALL PRIMARY,col_int_key,col_varchar_key,col_int_key_2 NULL NULL NULL 19 #
-2 DERIVED SUBQUERY1_t3 ref PRIMARY,col_varchar_key col_varchar_key 5 test.SUBQUERY1_t2.col_varchar_key 1 #
-2 DERIVED SUBQUERY1_t1 ALL col_int_key,col_int_key_2 NULL NULL NULL 19 #
+1 PRIMARY table1 system NULL NULL NULL NULL #
+1 PRIMARY table2 ALL PRIMARY,col_int_key,col_int_key_2 NULL NULL NULL # Using where
+1 PRIMARY <derived2> ref key0 key0 9 test.table2.pk,test.table2.col_int_key #
+2 DERIVED SUBQUERY1_t2 ALL PRIMARY,col_int_key,col_varchar_key,col_int_key_2 NULL NULL NULL # Using where
+2 DERIVED SUBQUERY1_t3 ref PRIMARY,col_varchar_key col_varchar_key 5 test.SUBQUERY1_t2.col_varchar_key #
+2 DERIVED SUBQUERY1_t1 ALL col_int_key,col_int_key_2 NULL NULL NULL # Using where; Using join buffer (flat, BNL join)
SELECT
table1.pk AS field1 ,
table1.col_datetime_key AS field2
@@ -955,10 +955,10 @@ GROUP BY SQ1_field1 , SQ1_field2
)
GROUP BY field1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY alias1 index NULL col_int_key_3 10 NULL 20 #
-1 PRIMARY alias2 index NULL col_int_key_2 10 NULL 20 #
-2 MATERIALIZED SQ1_alias1 index col_int_key,col_int_key_2,col_int_key_3 col_int_key 5 NULL 20 #
-2 MATERIALIZED SQ1_alias2 ALL NULL NULL NULL NULL 20 #
+1 PRIMARY alias1 index NULL col_int_key_3 10 NULL # Using index; Using temporary; Using filesort
+1 PRIMARY alias2 index NULL col_int_key_2 10 NULL # Using where; Using index; Using join buffer (flat, BNL join)
+2 MATERIALIZED SQ1_alias1 index col_int_key,col_int_key_2,col_int_key_3 col_int_key 5 NULL # Using index
+2 MATERIALIZED SQ1_alias2 ALL NULL NULL NULL NULL # Using join buffer (flat, BNL join)
SELECT
alias2 . col_varchar_key AS field1
FROM ( cc AS alias1 , cc AS alias2 )
@@ -1018,7 +1018,7 @@ INSERT INTO j(col_int, pk, col_varchar_10_utf8) VALUES(9, 1, '951910400'),
(-1934295040, 2, '1235025920'),(-584581120, 3, '-1176633344'),(3, 4, '1074462720');
EXPLAIN SELECT col_varchar_255_utf8_key FROM j ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE j index NULL cover_key1 773 NULL 4 #
+1 SIMPLE j index NULL cover_key1 773 NULL # Using index; Using filesort
SELECT col_varchar_255_utf8_key FROM j ORDER BY col_varchar_255_utf8_key;
col_varchar_255_utf8_key
-117663334
diff --git a/mysql-test/suite/gcol/r/gcol_view_innodb.result b/mysql-test/suite/gcol/r/gcol_view_innodb.result
index ac23d64bcee..15e1cfeb983 100644
--- a/mysql-test/suite/gcol/r/gcol_view_innodb.result
+++ b/mysql-test/suite/gcol/r/gcol_view_innodb.result
@@ -20,7 +20,7 @@ is_updatable
NO
explain select d,e from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 X
+1 SIMPLE t1 ALL NULL NULL NULL NULL X
create algorithm=temptable view v2 (d,e) as select abs(b), abs(c) from t1;
show create view v2;
View Create View character_set_client collation_connection
@@ -34,8 +34,8 @@ d e
3 3
explain select d,e from v2;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 5 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X
create view v3 (d,e) as select d*2, e*2 from v1;
select * from v3;
d e
@@ -46,7 +46,7 @@ d e
6 6
explain select * from v3;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 X
+1 SIMPLE t1 ALL NULL NULL NULL NULL X
drop view v1,v2,v3;
drop table t1;
create table t1 (a int not null,
@@ -61,8 +61,8 @@ b
-3
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 6 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using temporary
select * from t1;
a b c
1 -1 -1
@@ -80,8 +80,8 @@ c
-3
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 6 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using temporary
select * from t1;
a b c
1 -1 -1
@@ -103,8 +103,8 @@ b+1
-1
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 4 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using filesort
drop view v1;
create view v1 as select c+1 from t1 order by 1 desc limit 2;
select * from v1;
@@ -113,8 +113,8 @@ c+1
0
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 4 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using filesort
drop view v1;
drop table t1;
create table t1 (a int,
diff --git a/mysql-test/suite/gcol/r/gcol_view_myisam.result b/mysql-test/suite/gcol/r/gcol_view_myisam.result
index ddbbf44222c..d266405dc66 100644
--- a/mysql-test/suite/gcol/r/gcol_view_myisam.result
+++ b/mysql-test/suite/gcol/r/gcol_view_myisam.result
@@ -20,7 +20,7 @@ is_updatable
NO
explain select d,e from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 X
+1 SIMPLE t1 ALL NULL NULL NULL NULL X
create algorithm=temptable view v2 (d,e) as select abs(b), abs(c) from t1;
show create view v2;
View Create View character_set_client collation_connection
@@ -34,8 +34,8 @@ d e
3 3
explain select d,e from v2;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 5 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 5 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X
create view v3 (d,e) as select d*2, e*2 from v1;
select * from v3;
d e
@@ -46,7 +46,7 @@ d e
6 6
explain select * from v3;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 5 X
+1 SIMPLE t1 ALL NULL NULL NULL NULL X
drop view v1,v2,v3;
drop table t1;
create table t1 (a int not null,
@@ -61,8 +61,8 @@ b
-3
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 6 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using temporary
select * from t1;
a b c
1 -1 -1
@@ -80,8 +80,8 @@ c
-3
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 6 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 6 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using temporary
select * from t1;
a b c
1 -1 -1
@@ -103,8 +103,8 @@ b+1
-1
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 4 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using filesort
drop view v1;
create view v1 as select c+1 from t1 order by 1 desc limit 2;
select * from v1;
@@ -113,8 +113,8 @@ c+1
0
explain select * from v1;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 X
-2 DERIVED t1 ALL NULL NULL NULL NULL 4 X
+1 PRIMARY <derived2> ALL NULL NULL NULL NULL X
+2 DERIVED t1 ALL NULL NULL NULL NULL X Using filesort
drop view v1;
drop table t1;
create table t1 (a int,
diff --git a/mysql-test/suite/gcol/r/innodb_virtual_debug.result b/mysql-test/suite/gcol/r/innodb_virtual_debug.result
index 806cf1a98c8..80b2bde6ca5 100644
--- a/mysql-test/suite/gcol/r/innodb_virtual_debug.result
+++ b/mysql-test/suite/gcol/r/innodb_virtual_debug.result
@@ -105,7 +105,7 @@ SET lock_wait_timeout = 1;
ALTER TABLE t1 ADD UNIQUE INDEX(c, b);
connection default;
SET DEBUG_SYNC = 'now WAIT_FOR s1';
-SET DEBUG_SYNC = 'row_ins_sec_index_enter SIGNAL s2 WAIT_FOR s3';
+SET DEBUG_SYNC = 'row_log_insert_handle SIGNAL s2 WAIT_FOR s3';
INSERT INTO t1(a, b) VALUES(2, 2);
connection con1;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
diff --git a/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result b/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result
index 3658e38125f..93bba0039f9 100644
--- a/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result
+++ b/mysql-test/suite/gcol/r/innodb_virtual_debug_purge.result
@@ -2,6 +2,8 @@ set default_storage_engine=innodb;
set @old_dbug=@@global.debug_dbug;
SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
CREATE TABLE `t` (
`a` BLOB,
`b` BLOB,
@@ -206,3 +208,4 @@ connection default;
DROP TABLE t1, t2;
set debug_sync=reset;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/suite/gcol/r/innodb_virtual_stats.result b/mysql-test/suite/gcol/r/innodb_virtual_stats.result
index c0f595263df..74a0480883d 100644
--- a/mysql-test/suite/gcol/r/innodb_virtual_stats.result
+++ b/mysql-test/suite/gcol/r/innodb_virtual_stats.result
@@ -38,10 +38,6 @@ idxa n_diff_pfx01 a
idxa n_diff_pfx02 a,DB_ROW_ID
idxa n_leaf_pages Number of leaf pages in the index
idxa size Number of pages in the index
-idxb n_diff_pfx01 b
-idxb n_diff_pfx02 b,DB_ROW_ID
-idxb n_leaf_pages Number of leaf pages in the index
-idxb size Number of pages in the index
vidxcd n_diff_pfx01 c
vidxcd n_diff_pfx02 c,d
vidxcd n_diff_pfx03 c,d,DB_ROW_ID
@@ -58,14 +54,6 @@ index_name stat_name stat_description
GEN_CLUST_INDEX n_diff_pfx01 DB_ROW_ID
GEN_CLUST_INDEX n_leaf_pages Number of leaf pages in the index
GEN_CLUST_INDEX size Number of pages in the index
-idxb n_diff_pfx01 b
-idxb n_diff_pfx02 b,DB_ROW_ID
-idxb n_leaf_pages Number of leaf pages in the index
-idxb size Number of pages in the index
-vidxcd n_diff_pfx01 d
-vidxcd n_diff_pfx02 d,DB_ROW_ID
-vidxcd n_leaf_pages Number of leaf pages in the index
-vidxcd size Number of pages in the index
ALTER TABLE t ADD INDEX vidxe (e), ALGORITHM=INPLACE;
select count(*) from t;
count(*)
@@ -77,18 +65,6 @@ index_name stat_name stat_description
GEN_CLUST_INDEX n_diff_pfx01 DB_ROW_ID
GEN_CLUST_INDEX n_leaf_pages Number of leaf pages in the index
GEN_CLUST_INDEX size Number of pages in the index
-idxb n_diff_pfx01 b
-idxb n_diff_pfx02 b,DB_ROW_ID
-idxb n_leaf_pages Number of leaf pages in the index
-idxb size Number of pages in the index
-vidxcd n_diff_pfx01 d
-vidxcd n_diff_pfx02 d,DB_ROW_ID
-vidxcd n_leaf_pages Number of leaf pages in the index
-vidxcd size Number of pages in the index
-vidxe n_diff_pfx01 e
-vidxe n_diff_pfx02 e,DB_ROW_ID
-vidxe n_leaf_pages Number of leaf pages in the index
-vidxe size Number of pages in the index
ALTER TABLE t ADD COLUMN f INT GENERATED ALWAYS AS(a + a), ADD INDEX vidxf (f), ALGORITHM=INPLACE;
select count(*) from t;
count(*)
@@ -100,22 +76,6 @@ index_name stat_name stat_description
GEN_CLUST_INDEX n_diff_pfx01 DB_ROW_ID
GEN_CLUST_INDEX n_leaf_pages Number of leaf pages in the index
GEN_CLUST_INDEX size Number of pages in the index
-idxb n_diff_pfx01 b
-idxb n_diff_pfx02 b,DB_ROW_ID
-idxb n_leaf_pages Number of leaf pages in the index
-idxb size Number of pages in the index
-vidxcd n_diff_pfx01 d
-vidxcd n_diff_pfx02 d,DB_ROW_ID
-vidxcd n_leaf_pages Number of leaf pages in the index
-vidxcd size Number of pages in the index
-vidxe n_diff_pfx01 e
-vidxe n_diff_pfx02 e,DB_ROW_ID
-vidxe n_leaf_pages Number of leaf pages in the index
-vidxe size Number of pages in the index
-vidxf n_diff_pfx01 f
-vidxf n_diff_pfx02 f,DB_ROW_ID
-vidxf n_leaf_pages Number of leaf pages in the index
-vidxf size Number of pages in the index
ALTER TABLE t DROP INDEX vidxcd;
SELECT index_name, stat_name, stat_description
FROM mysql.innodb_index_stats
@@ -124,16 +84,4 @@ index_name stat_name stat_description
GEN_CLUST_INDEX n_diff_pfx01 DB_ROW_ID
GEN_CLUST_INDEX n_leaf_pages Number of leaf pages in the index
GEN_CLUST_INDEX size Number of pages in the index
-idxb n_diff_pfx01 b
-idxb n_diff_pfx02 b,DB_ROW_ID
-idxb n_leaf_pages Number of leaf pages in the index
-idxb size Number of pages in the index
-vidxe n_diff_pfx01 e
-vidxe n_diff_pfx02 e,DB_ROW_ID
-vidxe n_leaf_pages Number of leaf pages in the index
-vidxe size Number of pages in the index
-vidxf n_diff_pfx01 f
-vidxf n_diff_pfx02 f,DB_ROW_ID
-vidxf n_leaf_pages Number of leaf pages in the index
-vidxf size Number of pages in the index
DROP TABLE t;
diff --git a/mysql-test/suite/gcol/t/innodb_virtual_basic.test b/mysql-test/suite/gcol/t/innodb_virtual_basic.test
index 00b942739b0..87251ad7d52 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_basic.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_basic.test
@@ -733,7 +733,14 @@ let $row_format=REDUNDANT;
--source inc/innodb_v_large_col.inc
let $row_format=COMPRESSED;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--source inc/innodb_v_large_col.inc
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
# Make sure FTS_DOC_ID for FULLTEXT index set with correct column id with
# virtual columns
diff --git a/mysql-test/suite/gcol/t/innodb_virtual_blob.test b/mysql-test/suite/gcol/t/innodb_virtual_blob.test
index a97992d81e7..e94d2c7789a 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_blob.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_blob.test
@@ -5,6 +5,11 @@
--echo # BTR_COPY_BLOB_PREFIX
--echo #
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
+
CREATE TABLE t1
( f1 int primary key, f2 blob,
f3 blob generated always as (f2))
@@ -12,5 +17,9 @@ CREATE TABLE t1
insert into t1 (f1, f2) values (1, repeat('&', 50000));
alter table t1 add index i1 (f3(200)) ;
alter table t1 row_format=compact;
-drop table t1;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
+
+drop table t1;
diff --git a/mysql-test/suite/gcol/t/innodb_virtual_debug.test b/mysql-test/suite/gcol/t/innodb_virtual_debug.test
index 40446b991cd..5ebc90dac19 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_debug.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_debug.test
@@ -295,7 +295,7 @@ SET lock_wait_timeout = 1;
connection default;
SET DEBUG_SYNC = 'now WAIT_FOR s1';
-SET DEBUG_SYNC = 'row_ins_sec_index_enter SIGNAL s2 WAIT_FOR s3';
+SET DEBUG_SYNC = 'row_log_insert_handle SIGNAL s2 WAIT_FOR s3';
--send INSERT INTO t1(a, b) VALUES(2, 2)
connection con1;
diff --git a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
index cdec8107095..2f1f8b29aba 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
@@ -8,6 +8,8 @@ set @old_dbug=@@global.debug_dbug;
# Ensure that the history list length will actually be decremented by purge.
SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
CREATE TABLE `t` (
`a` BLOB,
@@ -263,3 +265,4 @@ DROP TABLE t1, t2;
set debug_sync=reset;
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/suite/gcol/t/innodb_virtual_index.test b/mysql-test/suite/gcol/t/innodb_virtual_index.test
index 46ffadcdd8c..4a41623264e 100644
--- a/mysql-test/suite/gcol/t/innodb_virtual_index.test
+++ b/mysql-test/suite/gcol/t/innodb_virtual_index.test
@@ -254,6 +254,10 @@ SELECT * FROM t1;
CHECK TABLE t1;
DROP TABLE t1;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE t1(
a VARCHAR(1000) GENERATED ALWAYS AS ('1') VIRTUAL,
b VARCHAR(1000) NOT NULL,
@@ -263,6 +267,9 @@ CREATE TABLE t1(
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
INSERT INTO t1(b) VALUES(REPEAT('b',1000));
DELETE FROM t1;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
DROP TABLE t1;
--echo #
diff --git a/mysql-test/suite/handler/handler.inc b/mysql-test/suite/handler/handler.inc
index f4c677adc90..c83e7e5d0b2 100644
--- a/mysql-test/suite/handler/handler.inc
+++ b/mysql-test/suite/handler/handler.inc
@@ -1293,6 +1293,7 @@ DROP TABLE IF EXISTS t1, t2;
DROP FUNCTION IF EXISTS f1;
--enable_warnings
+--enable_prepare_warnings
delimiter |;
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
@@ -1300,6 +1301,7 @@ BEGIN
RETURN 1;
END|
delimiter ;|
+--disable_prepare_warnings
# Get f1() parsed and cached
--error ER_NO_SUCH_TABLE
diff --git a/mysql-test/suite/heap/heap.result b/mysql-test/suite/heap/heap.result
index 0ef38360caf..15bb9ea0b50 100644
--- a/mysql-test/suite/heap/heap.result
+++ b/mysql-test/suite/heap/heap.result
@@ -3,8 +3,8 @@ create table t1 (a int not null,b int not null, primary key (a)) engine=heap com
insert into t1 values(1,1),(2,2),(3,3),(4,4);
delete from t1 where a=1 or a=0;
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 0 PRIMARY 1 a NULL 3 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a NULL 3 NULL NULL HASH NO
select * from t1;
a b
2 2
diff --git a/mysql-test/suite/heap/heap_btree.result b/mysql-test/suite/heap/heap_btree.result
index 5778ff0dd55..526c76a52e8 100644
--- a/mysql-test/suite/heap/heap_btree.result
+++ b/mysql-test/suite/heap/heap_btree.result
@@ -3,8 +3,8 @@ create table t1 (a int not null,b int not null, primary key using BTREE (a)) eng
insert into t1 values(1,1),(2,2),(3,3),(4,4);
delete from t1 where a=1 or a=0;
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 0 PRIMARY 1 a A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A NULL NULL NULL BTREE NO
select * from t1;
a b
2 2
diff --git a/mysql-test/suite/heap/heap_hash.result b/mysql-test/suite/heap/heap_hash.result
index df1acdae506..6bc9ff0d527 100644
--- a/mysql-test/suite/heap/heap_hash.result
+++ b/mysql-test/suite/heap/heap_hash.result
@@ -3,8 +3,8 @@ create table t1 (a int not null,b int not null, primary key using HASH (a)) engi
insert into t1 values(1,1),(2,2),(3,3),(4,4);
delete from t1 where a=1 or a=0;
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 0 PRIMARY 1 a NULL 3 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a NULL 3 NULL NULL HASH NO
select * from t1;
a b
2 2
@@ -327,15 +327,15 @@ explain select * from t1 ignore index (btree_idx) where name='matt';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref heap_idx heap_idx 22 const 7 Using where
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 id NULL 91 NULL NULL HASH
-t1 1 heap_idx 1 name NULL 13 NULL NULL HASH
-t1 1 btree_idx 1 name A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id NULL 91 NULL NULL HASH NO
+t1 1 heap_idx 1 name NULL 13 NULL NULL HASH NO
+t1 1 btree_idx 1 name A NULL NULL NULL BTREE NO
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 id NULL 91 NULL NULL HASH
-t1 1 heap_idx 1 name NULL 13 NULL NULL HASH
-t1 1 btree_idx 1 name A NULL NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id NULL 91 NULL NULL HASH NO
+t1 1 heap_idx 1 name NULL 13 NULL NULL HASH NO
+t1 1 btree_idx 1 name A NULL NULL NULL BTREE NO
create table t3
(
a varchar(20) not null,
@@ -344,13 +344,13 @@ key (a,b)
) engine=heap;
insert into t3 select name, name from t1;
show index from t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a 1 a NULL NULL NULL NULL HASH
-t3 1 a 2 b NULL 13 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a 1 a NULL NULL NULL NULL HASH NO
+t3 1 a 2 b NULL 13 NULL NULL HASH NO
show index from t3;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t3 1 a 1 a NULL NULL NULL NULL HASH
-t3 1 a 2 b NULL 13 NULL NULL HASH
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t3 1 a 1 a NULL NULL NULL NULL HASH NO
+t3 1 a 2 b NULL 13 NULL NULL HASH NO
explain select * from t1 ignore key(btree_idx), t3 where t1.name='matt' and t3.a = concat('',t1.name) and t3.b=t1.name;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref heap_idx heap_idx 22 const 7 Using where
diff --git a/mysql-test/suite/innodb/include/show_i_s_tables.inc b/mysql-test/suite/innodb/include/show_i_s_tables.inc
index 8e4a362de95..5fe34c370c8 100644
--- a/mysql-test/suite/innodb/include/show_i_s_tables.inc
+++ b/mysql-test/suite/innodb/include/show_i_s_tables.inc
@@ -15,6 +15,5 @@ SELECT t.name 'Table Name',
WHERE t.name not like 'SYS_%'
AND t.name NOT LIKE 'mysql/%'
AND t.name NOT LIKE 'sys/%'
- AND t.name NOT LIKE '%/#sql-ib%'
ORDER BY t.name;
--enable_query_log
diff --git a/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc b/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc
index 6d0c5c63712..a85a294860d 100644
--- a/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc
+++ b/mysql-test/suite/innodb/include/show_i_s_tablespaces.inc
@@ -5,14 +5,12 @@
--disable_query_log
--replace_regex /#P#/#p#/ /#SP#/#sp#/
--replace_result ./ MYSQLD_DATADIR/ $MYSQLD_DATADIR/ MYSQLD_DATADIR/ $MYSQLD_DATADIR MYSQLD_DATADIR/ $MYSQL_TMP_DIR MYSQL_TMP_DIR $INNODB_PAGE_SIZE DEFAULT
-SELECT s.name 'Space_Name',
- s.page_size 'Page_Size',
- s.zip_page_size 'Zip_Size',
- d.path 'Path'
- FROM information_schema.innodb_sys_tablespaces s,
- information_schema.innodb_sys_datafiles d
- WHERE s.space = d.space
- AND s.name NOT LIKE 'mysql/%'
- AND s.name NOT LIKE '%/#sql-ib%'
- ORDER BY s.space;
+SELECT name 'Space_Name',
+ @@GLOBAL.innodb_page_size 'Page_Size',
+ page_size 'Zip_Size',
+ filename 'Path'
+ FROM information_schema.innodb_sys_tablespaces
+ WHERE name != 'innodb_system'
+ AND name NOT LIKE 'mysql/%'
+ ORDER BY space;
--enable_query_log
diff --git a/mysql-test/suite/innodb/r/alter_candidate_key.result b/mysql-test/suite/innodb/r/alter_candidate_key.result
index 79cb225e3b5..2ada5a499a8 100644
--- a/mysql-test/suite/innodb/r/alter_candidate_key.result
+++ b/mysql-test/suite/innodb/r/alter_candidate_key.result
@@ -74,7 +74,7 @@ connection con1;
SET DEBUG_SYNC='now WAIT_FOR dml';
BEGIN;
INSERT INTO t1 SET a=NULL;
-ROLLBACK;
+COMMIT;
set DEBUG_SYNC='now SIGNAL dml_done';
connection default;
ERROR 22004: Invalid use of NULL value
diff --git a/mysql-test/suite/innodb/r/alter_copy.result b/mysql-test/suite/innodb/r/alter_copy.result
index 9b8f04eacca..5fdcf2005df 100644
--- a/mysql-test/suite/innodb/r/alter_copy.result
+++ b/mysql-test/suite/innodb/r/alter_copy.result
@@ -53,8 +53,6 @@ connection default;
SET DEBUG_SYNC='now WAIT_FOR hung';
# restart: --innodb-force-recovery=3
disconnect hang;
-#sql-alter.frm
-#sql-alter.ibd
FTS_INDEX_1.ibd
FTS_INDEX_2.ibd
FTS_INDEX_3.ibd
@@ -122,8 +120,6 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
# restart: --innodb-read-only
-#sql-alter.frm
-#sql-alter.ibd
FTS_INDEX_1.ibd
FTS_INDEX_2.ibd
FTS_INDEX_3.ibd
@@ -191,7 +187,6 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
# restart
-#sql-alter.frm
FTS_INDEX_1.ibd
FTS_INDEX_2.ibd
FTS_INDEX_3.ibd
diff --git a/mysql-test/suite/innodb/r/alter_crash.result b/mysql-test/suite/innodb/r/alter_crash.result
index bf593c6acca..a98aeb70a15 100644
--- a/mysql-test/suite/innodb/r/alter_crash.result
+++ b/mysql-test/suite/innodb/r/alter_crash.result
@@ -46,7 +46,7 @@ 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
+ERROR HY000: Lost connection to server during query
# Restart mysqld after the crash and reconnect.
# restart
SELECT * FROM information_schema.innodb_sys_tables
@@ -86,7 +86,7 @@ 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
+ERROR HY000: Lost connection to server during query
# Startup the server after the crash
# restart
SELECT * FROM information_schema.innodb_sys_tables
@@ -125,13 +125,12 @@ 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
+ERROR HY000: Lost connection to server during query
# Restart mysqld after the crash and reconnect.
# restart
SELECT * FROM information_schema.innodb_sys_tables
WHERE table_id = ID;
TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
-# Files in datadir after manual recovery.
db.opt
t1.frm
t1.ibd
@@ -170,9 +169,6 @@ INSERT INTO t1(f1, f2) VALUES(2, "This is column2 value");
ROLLBACK;
set DEBUG_SYNC = 'now SIGNAL insert_done';
connection default;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f4' at row 3
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -190,3 +186,38 @@ disconnect con1;
DROP TABLE t1;
SET DEBUG_SYNC = 'RESET';
SET SQL_MODE=DEFAULT;
+#
+# MDEV-26936 Recovery crash on rolling back DELETE FROM SYS_INDEXES
+#
+CREATE TABLE t1(a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,1);
+connect ddl, localhost, root;
+SET DEBUG_SYNC = 'row_merge_after_scan SIGNAL scanned WAIT_FOR commit';
+SET DEBUG_SYNC = 'before_commit_rollback_inplace SIGNAL c WAIT_FOR ever';
+ALTER TABLE t1 ADD UNIQUE INDEX(b), ALGORITHM=INPLACE;
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+BEGIN;
+INSERT INTO t1 VALUES(2,1);
+COMMIT;
+SET DEBUG_SYNC = 'now SIGNAL commit';
+SET DEBUG_SYNC = 'now WAIT_FOR c';
+SET GLOBAL innodb_fil_make_page_dirty_debug=0;
+# Kill the server
+disconnect ddl;
+# restart
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t1;
+a b
+1 1
+2 1
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/alter_crash_rebuild.result b/mysql-test/suite/innodb/r/alter_crash_rebuild.result
new file mode 100644
index 00000000000..ab4c25c6f57
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_crash_rebuild.result
@@ -0,0 +1,19 @@
+CREATE TABLE t1 (a INT NOT NULL) ENGINE=InnoDB STATS_PERSISTENT=0;
+connect ddl,localhost,root;
+SET DEBUG_SYNC='after_trx_committed_in_memory SIGNAL stuck WAIT_FOR ever';
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR stuck';
+SET GLOBAL innodb_log_checkpoint_now=ON;
+# restart
+disconnect ddl;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=0
+SELECT * FROM t1;
+a
+DROP TABLE t1;
+InnoDB 0 transactions not purged
diff --git a/mysql-test/suite/innodb/r/alter_dml_apply.result b/mysql-test/suite/innodb/r/alter_dml_apply.result
new file mode 100644
index 00000000000..c9def9d6a41
--- /dev/null
+++ b/mysql-test/suite/innodb/r/alter_dml_apply.result
@@ -0,0 +1,39 @@
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
+f3 CHAR(200), f4 CHAR(200),
+PRIMARY KEY(f1))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(6000, 6000, "InnoDB", "MariaDB");
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 ADD UNIQUE KEY(f2), ADD UNIQUE INDEX(f4(10));
+connect con1,localhost,root,,,;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+DELETE FROM t1 WHERE f1= 6000;
+INSERT INTO t1 VALUES(6000, 6000, "InnoDB", "MariaDB");
+ROLLBACK;
+BEGIN;
+DELETE FROM t1 WHERE f1= 6000;
+INSERT INTO t1 VALUES(6000, 6000, "InnoDB", "MariaDB");
+INSERT INTO t1 SELECT seq, seq, repeat('a', 200), repeat('b', 200) FROM seq_1_to_4000;
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection default;
+ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 ADD UNIQUE KEY(f2), ADD INDEX(f3(10));
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+DELETE FROM t1;
+INSERT INTO t1 SELECT seq, seq, repeat('d', 200), repeat('e', 200) FROM
+seq_1_to_4000;
+UPDATE t1 SET f3=repeat('c', 200), f4= repeat('d', 200), f2=3;
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection default;
+ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
+disconnect con1;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+SET DEBUG_SYNC=reset;
diff --git a/mysql-test/suite/innodb/r/alter_foreign_crash.result b/mysql-test/suite/innodb/r/alter_foreign_crash.result
index 9a7a23a5b72..7b7cc494e3d 100644
--- a/mysql-test/suite/innodb/r/alter_foreign_crash.result
+++ b/mysql-test/suite/innodb/r/alter_foreign_crash.result
@@ -3,12 +3,17 @@
# COMMIT_INPLACE_ALTER_TABLE
#
call mtr.add_suppression("InnoDB: Failed to load table");
+CREATE DATABASE Bug;
+CREATE TABLE Bug.parent(a SERIAL) ENGINE=INNODB;
+CREATE TABLE Bug.child(a SERIAL, FOREIGN KEY f(a) REFERENCES Bug.parent(a))
+ENGINE=INNODB;
create database bug;
use bug;
create table parent(a serial) engine=innodb;
create table child(a serial, foreign key fk (a) references parent(a))engine=innodb;
insert into parent values(1);
insert into child values(1);
+drop database Bug;
connect con1,localhost,root,,bug;
SET DEBUG_SYNC='innodb_rename_table_ready SIGNAL s1 WAIT_FOR s2 EXECUTE 2';
ALTER TABLE child ROW_FORMAT=DYNAMIC, ALGORITHM=COPY;
@@ -19,9 +24,14 @@ SET DEBUG_SYNC='now SIGNAL s2 WAIT_FOR s1';
disconnect con1;
show tables;
Tables_in_bug
+child
parent
alter table parent row_format=dynamic;
-Warnings:
-Warning 1088 failed to load FOREIGN KEY constraints
+select * from child;
+a
+1
+drop table parent;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+drop table child;
drop table parent;
drop database bug;
diff --git a/mysql-test/suite/innodb/r/alter_kill.result b/mysql-test/suite/innodb/r/alter_kill.result
index 8195d8e8ed1..36b582c6d76 100644
--- a/mysql-test/suite/innodb/r/alter_kill.result
+++ b/mysql-test/suite/innodb/r/alter_kill.result
@@ -11,7 +11,7 @@ InnoDB 0 transactions not purged
connection default;
# Cleanly shutdown mysqld
disconnect con1;
-# Corrupt FIL_PAGE_OFFSET in bug16720368.ibd,
+# Corrupt FIL_PAGE_TYPE in bug16720368.ibd,
# and recompute innodb_checksum_algorithm=crc32
# restart
SELECT COUNT(*) FROM bug16720368;
diff --git a/mysql-test/suite/innodb/r/alter_mdl_timeout.result b/mysql-test/suite/innodb/r/alter_mdl_timeout.result
index 7af1362c69e..e4fba8e260f 100644
--- a/mysql-test/suite/innodb/r/alter_mdl_timeout.result
+++ b/mysql-test/suite/innodb/r/alter_mdl_timeout.result
@@ -10,7 +10,7 @@ begin;
INSERT INTO t1 VALUES('e','e',5, 5);
SET DEBUG_SYNC="now SIGNAL con1_insert";
SET DEBUG_SYNC="now WAIT_FOR con1_wait";
-SET DEBUG_SYNC="before_row_upd_sec_new_index_entry SIGNAL con1_update WAIT_FOR alter_rollback";
+SET DEBUG_SYNC="after_row_upd_clust SIGNAL con1_update WAIT_FOR alter_rollback";
UPDATE t1 set f4 = 10 order by f1 desc limit 2;
connection default;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
diff --git a/mysql-test/suite/innodb/r/alter_not_null_debug,STRICT.rdiff b/mysql-test/suite/innodb/r/alter_not_null_debug,STRICT.rdiff
index 09c717c44b0..81466d791ac 100644
--- a/mysql-test/suite/innodb/r/alter_not_null_debug,STRICT.rdiff
+++ b/mysql-test/suite/innodb/r/alter_not_null_debug,STRICT.rdiff
@@ -1,11 +1,16 @@
-18,21c18
-< affected rows: 0
-< info: Records: 0 Duplicates: 0 Warnings: 1
-< Warnings:
-< Warning 1265 Data truncated for column 'c2' at row 3
----
-> ERROR 01000: Data truncated for column 'c2' at row 3
-24c21
-< 2 0
----
-> 2 NULL
+@@ -15,13 +15,10 @@
+ SET DEBUG_SYNC= 'now SIGNAL flushed';
+ affected rows: 0
+ connection default;
+-affected rows: 0
+-info: Records: 0 Duplicates: 0 Warnings: 1
+-Warnings:
+-Warning 1265 Data truncated for column 'c2' at row 3
++ERROR 22004: Invalid use of NULL value
+ SELECT * FROM t1;
+ c1 c2
+-2 0
++2 NULL
+ 3 1
+ DROP TABLE t1;
+ CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB;
diff --git a/mysql-test/suite/innodb/r/alter_partitioned.result b/mysql-test/suite/innodb/r/alter_partitioned.result
index 742bc28daf7..08e1654c044 100644
--- a/mysql-test/suite/innodb/r/alter_partitioned.result
+++ b/mysql-test/suite/innodb/r/alter_partitioned.result
@@ -28,6 +28,8 @@ t1 CREATE TABLE `t1` (
connection con1;
COMMIT;
connection default;
+SET lock_wait_timeout=@save_timeout;
+SET innodb_lock_wait_timeout=@save_innodb_timeout;
ALTER TABLE t2 PARTITION BY HASH(pk);
disconnect con1;
connection default;
diff --git a/mysql-test/suite/innodb/r/binlog_consistent.result b/mysql-test/suite/innodb/r/binlog_consistent.result
index 0562a92ef68..cceca394166 100644
--- a/mysql-test/suite/innodb/r/binlog_consistent.result
+++ b/mysql-test/suite/innodb/r/binlog_consistent.result
@@ -5,6 +5,7 @@ connect con3,localhost,root,,;
connect con4,localhost,root,,;
connection default;
CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb;
+INSERT INTO t1 VALUES(9, "");
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 <pos>
@@ -39,6 +40,7 @@ connection default;
SELECT * FROM t1 ORDER BY a,b;
a b
0
+9
SHOW STATUS LIKE 'binlog_snapshot_%';
Variable_name Value
Binlog_snapshot_file master-bin.000001
@@ -61,6 +63,7 @@ connection default;
SELECT * FROM t1 ORDER BY a,b;
a b
0
+9
SHOW STATUS LIKE 'binlog_snapshot_%';
Variable_name Value
Binlog_snapshot_file master-bin.000001
@@ -80,6 +83,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`; CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb
+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 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=myisam
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
diff --git a/mysql-test/suite/innodb/r/create_table_insert_skip_locked.result b/mysql-test/suite/innodb/r/create_table_insert_skip_locked.result
new file mode 100644
index 00000000000..3f1b8e4ee55
--- /dev/null
+++ b/mysql-test/suite/innodb/r/create_table_insert_skip_locked.result
@@ -0,0 +1,72 @@
+connect con1,localhost,root,,;
+SET SESSION innodb_lock_wait_timeout=1;
+connection default;
+SET SESSION innodb_lock_wait_timeout=1;
+# Case 1: Test primary index - CREATE TABLE .. SELECT .. SKIP LOCKED
+CREATE TABLE t1(
+seat_id INT,
+state INT,
+PRIMARY KEY(seat_id)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,0), (2,0), (3,0), (4,0);
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+seat_id state
+1 0
+2 0
+connection con1;
+BEGIN;
+CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+SELECT * FROM s0;
+seat_id state
+1 0
+2 0
+CREATE TEMPORARY TABLE s1 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+SELECT * FROM s1;
+seat_id state
+3 0
+4 0
+connection default;
+CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE SKIP LOCKED;
+SELECT * FROM s0;
+seat_id state
+1 0
+2 0
+COMMIT;
+DROP TABLE s0;
+connection con1;
+COMMIT;
+DROP TABLE s0, s1;
+connection default;
+# Case 2: Test primary index - INSERT .. SELECT .. SKIP LOCKED
+CREATE TABLE t2 LIKE t1;
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+seat_id state
+1 0
+2 0
+connection con1;
+BEGIN;
+INSERT INTO t2 SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE RETURNING seat_id, state;
+seat_id state
+1 0
+2 0
+CREATE TEMPORARY TABLE t2s LIKE t1;
+INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED RETURNING seat_id, state;
+seat_id state
+3 0
+4 0
+connection default;
+CREATE TEMPORARY TABLE t2s LIKE t1;
+INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE SKIP LOCKED RETURNING seat_id, state;
+seat_id state
+1 0
+2 0
+COMMIT;
+DROP TABLE t2s;
+connection con1;
+COMMIT;
+DROP TABLE t2s;
+DROP TABLE t2;
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/ddl_purge.result b/mysql-test/suite/innodb/r/ddl_purge.result
index 275be16b2d7..724a2a027b6 100644
--- a/mysql-test/suite/innodb/r/ddl_purge.result
+++ b/mysql-test/suite/innodb/r/ddl_purge.result
@@ -1,5 +1,6 @@
CREATE TABLE t0 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t0 VALUES(100);
INSERT INTO t1 VALUES(100, 100);
connect con1,localhost,root,,test;
BEGIN;
diff --git a/mysql-test/suite/innodb/r/deadlock_detect,ON.rdiff b/mysql-test/suite/innodb/r/deadlock_detect,ON.rdiff
new file mode 100644
index 00000000000..f3797baca86
--- /dev/null
+++ b/mysql-test/suite/innodb/r/deadlock_detect,ON.rdiff
@@ -0,0 +1,11 @@
+@@ -16,7 +16,10 @@
+ connection default;
+ SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
+ connection con2;
++connection con1;
++COMMIT;
+ disconnect con1;
++connection con2;
+ ROLLBACK;
+ disconnect con2;
+ connection default;
diff --git a/mysql-test/suite/innodb/r/deadlock_detect.result b/mysql-test/suite/innodb/r/deadlock_detect.result
index 4e14eff34b2..8131585aea2 100644
--- a/mysql-test/suite/innodb/r/deadlock_detect.result
+++ b/mysql-test/suite/innodb/r/deadlock_detect.result
@@ -1,5 +1,3 @@
-SET GLOBAL innodb_deadlock_detect=OFF;
-SET GLOBAL innodb_lock_wait_timeout=2;
connection default;
CREATE TABLE t1(
id INT,
@@ -7,18 +5,20 @@ PRIMARY KEY(id)
) ENGINE=InnoDB;
INSERT INTO t1 VALUES(1), (2), (3);
BEGIN;
-SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
+SELECT * FROM t1 WHERE id = 1 LOCK IN SHARE MODE;
connect con1,localhost,root,,;
BEGIN;
-SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
+SELECT * FROM t1 WHERE id = 2 LOCK IN SHARE MODE;
+connect con2,localhost,root,,;
+BEGIN;
+SELECT * FROM t1 WHERE id = 2 LOCK IN SHARE MODE;
SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
connection default;
SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
-connection con1;
+connection con2;
+disconnect con1;
ROLLBACK;
+disconnect con2;
connection default;
ROLLBACK;
DROP TABLE t1;
-disconnect con1;
-SET GLOBAL innodb_lock_wait_timeout=default;
-SET GLOBAL innodb_deadlock_detect=default;
diff --git a/mysql-test/suite/innodb/r/default_row_format_compatibility.result b/mysql-test/suite/innodb/r/default_row_format_compatibility.result
index f7aa984b279..100b9d594bc 100644
--- a/mysql-test/suite/innodb/r/default_row_format_compatibility.result
+++ b/mysql-test/suite/innodb/r/default_row_format_compatibility.result
@@ -86,11 +86,18 @@ tab InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_for
SELECT * FROM tab;
a b
1 Check with max column size
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=ON;
ALTER TABLE tab ROW_FORMAT=COMPRESSED;
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+SET GLOBAL innodb_read_only_compressed=OFF;
+ALTER TABLE tab ROW_FORMAT=COMPRESSED;
+SET GLOBAL innodb_read_only_compressed=ON;
SELECT * FROM tab;
a b
1 Check with max column size
ALTER TABLE tab ROW_FORMAT=Dynamic;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
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 Max_index_length Temporary
tab InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL row_format=DYNAMIC 0 N
diff --git a/mysql-test/suite/innodb/r/default_row_format_create.result b/mysql-test/suite/innodb/r/default_row_format_create.result
index 50adc757b62..a1334101b61 100644
--- a/mysql-test/suite/innodb/r/default_row_format_create.result
+++ b/mysql-test/suite/innodb/r/default_row_format_create.result
@@ -58,10 +58,13 @@ CREATE TABLE t(c INT) ENGINE=InnoDB page_compressed=1;
DROP TABLE IF EXISTS t;
SET GLOBAL innodb_compression_level=1;
CREATE TABLE t(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC page_compressed=1;
+CREATE TEMPORARY TABLE tt(a INT PRIMARY KEY)
+ROW_FORMAT=DYNAMIC page_compressed=1 ENGINE=InnoDB;
SET GLOBAL innodb_compression_level=0;
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=INPLACE;
ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'PAGE_COMPRESSED'
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=COPY;
ERROR HY000: Can't create table `test`.`t` (errno: 140 "Wrong create options")
DROP TABLE t;
+TRUNCATE tt;
SET GLOBAL innodb_compression_level=@save_level;
diff --git a/mysql-test/suite/innodb/r/doublewrite.result b/mysql-test/suite/innodb/r/doublewrite.result
index 1f26f7d1f5f..ba1965ed4cd 100644
--- a/mysql-test/suite/innodb/r/doublewrite.result
+++ b/mysql-test/suite/innodb/r/doublewrite.result
@@ -17,7 +17,7 @@ innodb_saved_page_number_debug 0
connect stop_purge,localhost,root,,;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
connection default;
-create table t1 (f1 int primary key, f2 blob) engine=innodb;
+create table t1 (f1 int primary key, f2 blob) engine=innodb stats_persistent=0;
start transaction;
insert into t1 values(1, repeat('#',12));
insert into t1 values(2, repeat('+',12));
@@ -28,10 +28,8 @@ 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;
-Warnings:
-Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
begin;
insert into t1 values (6, repeat('%', 12));
# Ensure that dirty pages of table t1 are flushed.
@@ -62,13 +60,12 @@ f1 f2
# ---------------------------------------------------------------
# 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;
-Warnings:
-Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
# Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
unlock tables;
+set global innodb_log_checkpoint_now=1;
begin;
insert into t1 values (6, repeat('%', 12));
# Make the first page dirty for table t1
@@ -93,10 +90,8 @@ f1 f2
# ---------------------------------------------------------------
# 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;
-Warnings:
-Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
# Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
unlock tables;
@@ -124,10 +119,8 @@ f1 f2
# ---------------------------------------------------------------
# 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;
-Warnings:
-Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
# Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
unlock tables;
diff --git a/mysql-test/suite/innodb/r/drop_table_background.result b/mysql-test/suite/innodb/r/drop_table_background.result
deleted file mode 100644
index 378f3ce00ab..00000000000
--- a/mysql-test/suite/innodb/r/drop_table_background.result
+++ /dev/null
@@ -1,25 +0,0 @@
-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;
-CREATE TABLE `#mysql50##sql-ib-foo`(a SERIAL) ENGINE=InnoDB;
-INSERT INTO t (c1) VALUES (1),(2),(1);
-SET DEBUG_DBUG='+d,row_drop_table_add_to_background';
-CREATE TABLE target (PRIMARY KEY(c1)) ENGINE=InnoDB SELECT * FROM t;
-ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-SELECT * from target;
-ERROR 42S02: Table 'test.target' doesn't exist
-DROP TABLE t;
-# restart
-CREATE TABLE t (a INT) ENGINE=InnoDB;
-DROP TABLE t;
-DROP TABLE target;
-ERROR 42S02: Unknown table 'test.target'
-CREATE TABLE target (a INT) ENGINE=InnoDB;
-DROP TABLE target;
-SELECT * FROM `#mysql50##sql-ib-foo`;
-ERROR 42S02: Table 'test.#mysql50##sql-ib-foo' doesn't exist in engine
-DROP TABLE `#mysql50##sql-ib-foo`;
-Warnings:
-Warning 1932 Table 'test.#mysql50##sql-ib-foo' doesn't exist in engine
diff --git a/mysql-test/suite/innodb/r/dropdb.result b/mysql-test/suite/innodb/r/dropdb.result
index 6b11b5e5205..e1ff475b304 100644
--- a/mysql-test/suite/innodb/r/dropdb.result
+++ b/mysql-test/suite/innodb/r/dropdb.result
@@ -1,3 +1,5 @@
+SET NAMES utf8;
+call mtr.add_suppression("Invalid .old.. table or database name");
#
# Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
#
@@ -6,4 +8,15 @@ create database `b`;
use `b`;
create table `#mysql50#q.q` select 1;
ERROR 42000: Incorrect table name '#mysql50#q.q'
+create table `#mysql50#q·q` select 1;
drop database `b`;
+#
+# MDEV-27336 Crash on DROP DATABASE due to out-of-bounds result
+# from InnoDB SUBSTR() function
+#
+USE test;
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2(a INT PRIMARY KEY REFERENCES t1(a)) ENGINE=InnoDB;
+CREATE DATABASE somewhat_longer_name_to_cause_trouble;
+DROP DATABASE somewhat_longer_name_to_cause_trouble;
+DROP TABLE t2,t1;
diff --git a/mysql-test/suite/innodb/r/evict_tables_on_commit_debug.result b/mysql-test/suite/innodb/r/evict_tables_on_commit_debug.result
new file mode 100644
index 00000000000..d403b1e1306
--- /dev/null
+++ b/mysql-test/suite/innodb/r/evict_tables_on_commit_debug.result
@@ -0,0 +1,9 @@
+SET @save_debug= @@GLOBAL.innodb_evict_tables_on_commit_debug;
+SET GLOBAL innodb_evict_tables_on_commit_debug=on;
+CREATE TEMPORARY TABLE t1(a INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2 VALUES(2);
+DROP TABLE t2;
+SET GLOBAL innodb_evict_tables_on_commit_debug=@save_debug;
+DROP TEMPORARY TABLE t1;
diff --git a/mysql-test/suite/innodb/r/foreign_key.result b/mysql-test/suite/innodb/r/foreign_key.result
index ac1c5c1763b..376ea821279 100644
--- a/mysql-test/suite/innodb/r/foreign_key.result
+++ b/mysql-test/suite/innodb/r/foreign_key.result
@@ -435,8 +435,8 @@ INSERT INTO t1 VALUES (1,2);
CREATE TABLE x AS SELECT * FROM t1;
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state
connect con1,localhost,root,,test;
-SET foreign_key_checks= OFF, innodb_lock_wait_timeout= 1;
-SET lock_wait_timeout=5;
+SET foreign_key_checks= OFF, innodb_lock_wait_timeout= 0;
+SET lock_wait_timeout=2;
ALTER TABLE t1 ADD FOREIGN KEY f (a) REFERENCES t1 (pk), LOCK=EXCLUSIVE;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con1;
@@ -518,7 +518,7 @@ BEGIN;
UPDATE users SET name = 'qux' WHERE id = 1;
connect con1,localhost,root;
connection con1;
-SET innodb_lock_wait_timeout= 1;
+SET innodb_lock_wait_timeout= 0;
DELETE FROM matchmaking_groups WHERE id = 10;
connection default;
COMMIT;
@@ -558,9 +558,10 @@ connection con1;
BEGIN;
UPDATE t2 SET f = 11 WHERE id = 1;
connection default;
-SET innodb_lock_wait_timeout= 1;
+SET innodb_lock_wait_timeout= 0;
DELETE FROM t1 WHERE id = 1;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET innodb_lock_wait_timeout= 1;
connection con1;
COMMIT;
connection default;
@@ -966,3 +967,50 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop tables t2, t1;
# End of 10.5 tests
+#
+# MDEV-26554 Table-rebuilding DDL on parent table causes crash
+# for INSERT into child table
+#
+CREATE TABLE parent(a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE child(a INT PRIMARY KEY REFERENCES parent(a)) ENGINE=InnoDB;
+connect con1, localhost, root,,;
+BEGIN;
+INSERT INTO child SET a=1;
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`))
+connection default;
+SET innodb_lock_wait_timeout=0, foreign_key_checks=0;
+TRUNCATE TABLE parent;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+connection con1;
+COMMIT;
+connection default;
+SET innodb_lock_wait_timeout=DEFAULT;
+TRUNCATE TABLE parent;
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT;
+DROP TABLE child, parent;
+#
+# MDEV-26217 Failing assertion: list.count > 0 in ut_list_remove
+# or Assertion `lock->trx == this' failed in dberr_t trx_t::drop_table
+#
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (pk INT PRIMARY KEY, FOREIGN KEY(pk) REFERENCES t1(pk))
+ENGINE=InnoDB;
+connection con1;
+SET FOREIGN_KEY_CHECKS=OFF;
+CREATE OR REPLACE TABLE t1 (b INT) ENGINE=InnoDB;
+connection default;
+INSERT INTO t2 VALUES (1);
+connection con1;
+disconnect con1;
+connection default;
+DROP TABLE IF EXISTS t2, t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/group_commit.result b/mysql-test/suite/innodb/r/group_commit.result
index e2fb89767d4..5fd7f9c9155 100644
--- a/mysql-test/suite/innodb/r/group_commit.result
+++ b/mysql-test/suite/innodb/r/group_commit.result
@@ -1,4 +1,5 @@
CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) ENGINE=innodb;
+INSERT INTO t1 VALUES(100);
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
@@ -32,11 +33,13 @@ SET DEBUG_SYNC= "now WAIT_FOR group2_con4";
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SELECT * FROM t1 ORDER BY a;
a
+100
SET DEBUG_SYNC= "now SIGNAL group2_queued";
connection con1;
connection default;
SELECT * FROM t1 ORDER BY a;
a
+100
con1
connection con5;
SET DEBUG_SYNC= "commit_before_get_LOCK_after_binlog_sync SIGNAL group3_con5";
@@ -51,11 +54,13 @@ connection default;
SET DEBUG_SYNC= "now WAIT_FOR group3_con5";
SELECT * FROM t1 ORDER BY a;
a
+100
con1
SET DEBUG_SYNC= "now SIGNAL group3_committed";
SET DEBUG_SYNC= "now WAIT_FOR group2_visible";
SELECT * FROM t1 ORDER BY a;
a
+100
con1
con2
con3
@@ -69,6 +74,7 @@ connection con6;
connection default;
SELECT * FROM t1 ORDER BY a;
a
+100
con1
con2
con3
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 41e9f6a9d08..e22589ed255 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
@@ -1,4 +1,5 @@
CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) ENGINE=innodb;
+INSERT INTO t1 VALUES("default");
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
@@ -32,12 +33,14 @@ SET DEBUG_SYNC= "now WAIT_FOR group2_con4";
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SELECT * FROM t1 ORDER BY a;
a
+default
SET DEBUG_SYNC= "now SIGNAL group2_queued";
connection con1;
connection default;
SELECT * FROM t1 ORDER BY a;
a
con1
+default
connection 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";
@@ -52,6 +55,7 @@ SET DEBUG_SYNC= "now WAIT_FOR group3_con5";
SELECT * FROM t1 ORDER BY a;
a
con1
+default
SET DEBUG_SYNC= "now SIGNAL group3_committed";
SET DEBUG_SYNC= "now WAIT_FOR group2_visible";
SELECT * FROM t1 ORDER BY a;
@@ -60,6 +64,7 @@ con1
con2
con3
con4
+default
SET DEBUG_SYNC= "now SIGNAL group2_checked";
connection con2;
connection con3;
@@ -75,6 +80,7 @@ con3
con4
con5
con6
+default
SELECT variable_value - @commits FROM information_schema.global_status
WHERE variable_name = 'binlog_commits';
variable_value - @commits
diff --git a/mysql-test/suite/innodb/r/ibuf_delete.result b/mysql-test/suite/innodb/r/ibuf_delete.result
new file mode 100644
index 00000000000..1481fca9bf6
--- /dev/null
+++ b/mysql-test/suite/innodb/r/ibuf_delete.result
@@ -0,0 +1,49 @@
+SET @buffering= @@innodb_change_buffering;
+SET GLOBAL innodb_change_buffering= deletes;
+SET @flush= @@innodb_flush_log_at_trx_commit;
+SET GLOBAL innodb_flush_log_at_trx_commit= 0;
+CREATE TABLE t1 (
+a varchar(1024),
+b varchar(1024),
+c varchar(1024),
+d varchar(1024),
+e varchar(1024),
+f varchar(1024),
+g varchar(1024),
+h varchar(1024),
+key (a),
+key (b),
+key (c),
+key (d)
+) ENGINE=InnoDB;
+INSERT INTO t1
+SELECT REPEAT('x',10), REPEAT('x',13), REPEAT('x',427), REPEAT('x',244),
+REPEAT('x',9), REPEAT('x',112), REPEAT('x',814), REPEAT('x',633)
+FROM seq_1_to_1024;
+CREATE TEMPORARY TABLE t2 (
+a varchar(1024),
+b varchar(1024),
+c varchar(1024),
+d varchar(1024),
+e varchar(1024),
+f varchar(1024),
+g varchar(1024),
+h varchar(1024),
+i varchar(1024),
+j varchar(1024),
+k varchar(1024),
+l varchar(1024),
+m varchar(1024),
+key (a),
+key (b),
+key (c),
+key (d),
+key (e),
+key (f)
+) ENGINE=InnoDB;
+SET @x=REPEAT('x',512);
+INSERT INTO t2 SELECT @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x
+FROM seq_1_to_768;
+DROP TABLE t1, t2;
+SET GLOBAL innodb_change_buffering= @buffering;
+SET GLOBAL innodb_flush_log_at_trx_commit= @flush;
diff --git a/mysql-test/suite/innodb/r/import_bugs.result b/mysql-test/suite/innodb/r/import_bugs.result
index a52fe6abbd6..98f3e76763b 100644
--- a/mysql-test/suite/innodb/r/import_bugs.result
+++ b/mysql-test/suite/innodb/r/import_bugs.result
@@ -8,5 +8,19 @@ FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
ALTER TABLE imp_t1 IMPORT TABLESPACE;
ERROR HY000: Schema mismatch (ROW_FORMAT mismatch)
+CREATE TABLE imp_t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+ERROR 42S01: Table 'imp_t1' already exists
+DROP TABLE imp_t1;
+CREATE TABLE imp_t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE imp_t1, t1;
SET GLOBAL innodb_checksum_algorithm=@save_innodb_checksum_algorithm;
+#
+# MDEV-27006 Assertion `!lock_trx_has_sys_table_locks(trx)'
+# failed in dberr_t row_discard_tablespace_for_mysql
+# (dict_table_t*, trx_t*)
+CREATE TABLE t1 (c INT KEY) ENGINE=INNODB;
+CREATE TABLE t2 (c INT KEY,FOREIGN KEY(c) REFERENCES t1 (c)) ENGINE=INNODB;
+ALTER TABLE t1 DISCARD TABLESPACE;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+DROP TABLE t2, t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/information_schema_grants.result b/mysql-test/suite/innodb/r/information_schema_grants.result
index 622faa2920a..feadb7b8d12 100644
--- a/mysql-test/suite/innodb/r/information_schema_grants.result
+++ b/mysql-test/suite/innodb/r/information_schema_grants.result
@@ -40,12 +40,8 @@ create sql security invoker view i_locks as select * from information_schema.inn
create sql security definer view d_locks as select * from information_schema.innodb_locks;
create sql security invoker view i_metrics as select * from information_schema.innodb_metrics;
create sql security definer view d_metrics as select * from information_schema.innodb_metrics;
-create sql security invoker view i_mutexes as select * from information_schema.innodb_mutexes;
-create sql security definer view d_mutexes as select * from information_schema.innodb_mutexes;
create sql security invoker view i_sys_columns as select * from information_schema.innodb_sys_columns;
create sql security definer view d_sys_columns as select * from information_schema.innodb_sys_columns;
-create sql security invoker view i_sys_datafiles as select * from information_schema.innodb_sys_datafiles;
-create sql security definer view d_sys_datafiles as select * from information_schema.innodb_sys_datafiles;
create sql security invoker view i_sys_fields as select * from information_schema.innodb_sys_fields;
create sql security definer view d_sys_fields as select * from information_schema.innodb_sys_fields;
create sql security invoker view i_sys_foreign as select * from information_schema.innodb_sys_foreign;
@@ -54,8 +50,6 @@ create sql security invoker view i_sys_foreign_cols as select * from information
create sql security definer view d_sys_foreign_cols as select * from information_schema.innodb_sys_foreign_cols;
create sql security invoker view i_sys_indexes as select * from information_schema.innodb_sys_indexes;
create sql security definer view d_sys_indexes as select * from information_schema.innodb_sys_indexes;
-create sql security invoker view i_sys_semaphore_waits as select * from information_schema.innodb_sys_semaphore_waits;
-create sql security definer view d_sys_semaphore_waits as select * from information_schema.innodb_sys_semaphore_waits;
create sql security invoker view i_sys_tables as select * from information_schema.innodb_sys_tables;
create sql security definer view d_sys_tables as select * from information_schema.innodb_sys_tables;
create sql security invoker view i_sys_tablespaces as select * from information_schema.innodb_sys_tablespaces;
@@ -191,13 +185,6 @@ ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s)
select count(*) > -1 from d_metrics;
count(*) > -1
1
-select count(*) > -1 from information_schema.innodb_mutexes;
-ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
-select count(*) > -1 from i_mutexes;
-ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
-select count(*) > -1 from d_mutexes;
-count(*) > -1
-1
select count(*) > -1 from information_schema.innodb_sys_columns;
ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
select count(*) > -1 from i_sys_columns;
@@ -205,13 +192,6 @@ ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s)
select count(*) > -1 from d_sys_columns;
count(*) > -1
1
-select count(*) > -1 from information_schema.innodb_sys_datafiles;
-ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
-select count(*) > -1 from i_sys_datafiles;
-ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
-select count(*) > -1 from d_sys_datafiles;
-count(*) > -1
-1
select count(*) > -1 from information_schema.innodb_sys_fields;
ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
select count(*) > -1 from i_sys_fields;
@@ -240,13 +220,6 @@ ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s)
select count(*) > -1 from d_sys_indexes;
count(*) > -1
1
-select count(*) > -1 from information_schema.innodb_sys_semaphore_waits;
-ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
-select count(*) > -1 from i_sys_semaphore_waits;
-ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
-select count(*) > -1 from d_sys_semaphore_waits;
-count(*) > -1
-1
select count(*) > -1 from information_schema.innodb_sys_tables;
ERROR 42000: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
select count(*) > -1 from i_sys_tables;
diff --git a/mysql-test/suite/innodb/r/innodb-16k.result b/mysql-test/suite/innodb/r/innodb-16k.result
index 110c340ad7a..53902ce6ca0 100644
--- a/mysql-test/suite/innodb/r/innodb-16k.result
+++ b/mysql-test/suite/innodb/r/innodb-16k.result
@@ -167,13 +167,15 @@ INSERT INTO t2 VALUES ('jejdkrun87'),('adfd72nh9k'),
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;
+SELECT a,LEFT(REPEAT(d,100*a),65535),REPEAT(d,20*a),d FROM t2,t3
+ORDER BY a,d;
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;
+LENGTH(b),b=LEFT(REPEAT(d,100*a),65535),LENGTH(c),c=REPEAT(d,20*a),d FROM t1
+ORDER BY a,d;
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
@@ -214,7 +216,8 @@ 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;
+LENGTH(b), b=LEFT(REPEAT(d,100*a), 65535),LENGTH(c), c=REPEAT(d,20*a), d FROM t1
+ORDER BY a,d;
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
@@ -240,7 +243,7 @@ t1 CREATE TABLE `t1` (
`d` text NOT NULL,
PRIMARY KEY (`a`,`b`(255),`c`(255)),
KEY `b` (`b`(767))
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/innodb/r/innodb-32k.result b/mysql-test/suite/innodb/r/innodb-32k.result
index 8b67dac8237..3660fac3a2f 100644
--- a/mysql-test/suite/innodb/r/innodb-32k.result
+++ b/mysql-test/suite/innodb/r/innodb-32k.result
@@ -1,3 +1,4 @@
+SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
call mtr.add_suppression("Innodb: Cannot add field.*row size is");
# Test 1) Show the page size from Information Schema
SELECT variable_value FROM information_schema.global_status
@@ -29,7 +30,7 @@ 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")
+Got one of the listed errors
CREATE TABLE t1 (a varchar(255) character set utf8,
b varchar(255) character set utf8,
c varchar(255) character set utf8,
@@ -283,6 +284,7 @@ Level Code Message
UPDATE t3 SET c = REPEAT('b',32800);
SHOW WARNINGS;
Level Code Message
+InnoDB 0 transactions not purged
DROP TABLE t3;
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
DROP TABLE tlong;
diff --git a/mysql-test/suite/innodb/r/innodb-alter-debug.result b/mysql-test/suite/innodb/r/innodb-alter-debug.result
index 4644c124a45..8962d6ba400 100644
--- a/mysql-test/suite/innodb/r/innodb-alter-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-alter-debug.result
@@ -43,9 +43,8 @@ SET DEBUG_SYNC = 'now SIGNAL s2';
/* connection default */
connection default;
/* reap */ alter table t1 force, 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 force, add b int, ALGORITHM=inplace;;
+alter table t1 force, add c int, ALGORITHM=inplace;;
/* connection con1 */
connection con1;
set DEBUG_SYNC = 'now WAIT_FOR s1';
@@ -55,7 +54,6 @@ SET DEBUG_SYNC = 'now SIGNAL s2';
/* connection default */
connection default;
/* reap */ alter table t1 force, add b int, ALGORITHM=inplace;
-ERROR 23000: Duplicate entry '1' for key 'uk'
SET DEBUG_SYNC = 'RESET';
drop table t1;
#
@@ -72,7 +70,6 @@ ERROR 23000: Duplicate entry '1' for key 'a'
SET DEBUG_SYNC = 'now SIGNAL S2';
disconnect con1;
connection default;
-ERROR 23000: Duplicate entry '1' for key 'a'
SET DEBUG_SYNC='RESET';
DROP TABLE t1;
#
@@ -107,3 +104,39 @@ ALTER TABLE t RENAME INDEX i2 to x, ALGORITHM=INPLACE;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
SET DEBUG_DBUG = @saved_debug_dbug;
DROP TABLE t;
+#
+# MDEV-26772 InnoDB DDL fails with DUPLICATE KEY error
+#
+create table t1(f1 int not null primary key,
+f2 int not null, index idx(f2))engine=innodb;
+insert into t1 values(1, 1);
+connect con1,localhost,root,,,;
+SET DEBUG_SYNC='before_delete_table_stats SIGNAL blocked WAIT_FOR go';
+SET innodb_lock_wait_timeout=0;
+ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR blocked';
+BEGIN;
+SELECT * FROM mysql.innodb_table_stats FOR UPDATE;
+database_name table_name last_update n_rows clustered_index_size sum_of_other_index_sizes
+SET DEBUG_SYNC='now SIGNAL go';
+connection con1;
+connection default;
+COMMIT;
+SET DEBUG_SYNC=RESET;
+connection con1;
+ALTER TABLE t1 RENAME KEY idx TO idx1, ALGORITHM=COPY;
+disconnect con1;
+connection default;
+DROP TABLE t1;
+#
+# MDEV-26903 Assertion ctx->trx->state == TRX_STATE_ACTIVE on DROP INDEX
+#
+CREATE TABLE t1(a INT PRIMARY KEY, b INT, INDEX(b)) ENGINE=InnoDB;
+SET @save_dbug=@@debug_dbug;
+SET debug_dbug='+d,deadlock_table_fail';
+ALTER TABLE t1 DROP INDEX b, ALGORITHM=INPLACE;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+SET debug_dbug=@save_dbug;
+DROP TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/innodb-alter-table.result b/mysql-test/suite/innodb/r/innodb-alter-table.result
index ad3b2cb04af..9f296e3b58e 100644
--- a/mysql-test/suite/innodb/r/innodb-alter-table.result
+++ b/mysql-test/suite/innodb/r/innodb-alter-table.result
@@ -85,7 +85,7 @@ w_findispmon05u CREATE TABLE `w_findispmon05u` (
KEY `atpkey` (`f5atpkey`),
KEY `inatkey` (`f5atzo05`,`pos`),
KEY `pos` (`pos`,`f5atzo05`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE `w_findispmon05u`;
CREATE TABLE t (
a INT NOT NULL,
diff --git a/mysql-test/suite/innodb/r/innodb-alter-tempfile.result b/mysql-test/suite/innodb/r/innodb-alter-tempfile.result
index 57229d05133..845dbacbada 100644
--- a/mysql-test/suite/innodb/r/innodb-alter-tempfile.result
+++ b/mysql-test/suite/innodb/r/innodb-alter-tempfile.result
@@ -1,7 +1,7 @@
call mtr.add_suppression("Cannot find index f2 in InnoDB index dictionary.");
-call mtr.add_suppression("InnoDB indexes are inconsistent with what defined in .frm for table .*");
-call mtr.add_suppression("Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in the MariaDB .*");
-call mtr.add_suppression("InnoDB could not find key no 1 with name f2 from dict cache for table .*");
+call mtr.add_suppression("InnoDB indexes are inconsistent with what defined in .frm for table");
+call mtr.add_suppression("Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in");
+call mtr.add_suppression("InnoDB could not find key no 1 with name f2 from dict cache for table");
#
# Bug #18734396 INNODB IN-PLACE ALTER FAILURES BLOCK FUTURE ALTERS
#
@@ -11,7 +11,7 @@ call mtr.add_suppression("InnoDB could not find key no 1 with name f2 from dict
CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
SET debug_dbug='+d,innodb_alter_commit_crash_before_commit';
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# restart
show create table t1;
Table Create Table
@@ -44,14 +44,8 @@ set DEBUG_SYNC="now WAIT_FOR default_signal";
# restart
disconnect con1;
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 f1 1 f1 A 2 NULL NULL BTREE
-t1 1 f2 1 f2 A NULL NULL NULL Corrupted
-Warnings:
-Warning 1082 InnoDB: Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in the MariaDB
-Warning 1082 InnoDB: Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in the MariaDB
-Warning 1082 InnoDB: Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in the MariaDB
-Warning 1082 InnoDB: Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in the MariaDB
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 f1 1 f1 A # NULL NULL BTREE NO
DROP TABLE t1;
#
# MDEV-25503 InnoDB hangs on startup during recovery
diff --git a/mysql-test/suite/innodb/r/innodb-blob.result b/mysql-test/suite/innodb/r/innodb-blob.result
index fdfbfe3e683..8173d30e92c 100644
--- a/mysql-test/suite/innodb/r/innodb-blob.result
+++ b/mysql-test/suite/innodb/r/innodb-blob.result
@@ -47,7 +47,7 @@ INSERT INTO t2 VALUES (42);
disconnect con1;
disconnect con2;
connection default;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
@@ -107,7 +107,7 @@ connection con2;
# restart
disconnect con2;
connection default;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
CHECK TABLE t1,t2,t3;
Table Op Msg_type Msg_text
test.t1 check status OK
@@ -139,7 +139,7 @@ UPDATE t3 SET c=REPEAT('j',3000) WHERE a=2
# restart
disconnect con2;
connection default;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
CHECK TABLE t1,t2,t3;
Table Op Msg_type Msg_text
test.t1 check status OK
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 f676d15b134..670340f3583 100644
--- a/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result
+++ b/mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result
@@ -27,7 +27,7 @@ DELETE FROM t1 WHERE a=1;
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
+ERROR HY000: Lost connection to server during query
disconnect con1;
connection default;
FOUND 1 /Wrote log record for ibuf update in place operation/ in mysqld.1.err
diff --git a/mysql-test/suite/innodb/r/innodb-dict.result b/mysql-test/suite/innodb/r/innodb-dict.result
index e3b2f0d5288..d56fec0f9af 100644
--- a/mysql-test/suite/innodb/r/innodb-dict.result
+++ b/mysql-test/suite/innodb/r/innodb-dict.result
@@ -24,6 +24,10 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref my_d my_d 5 const 128 Using index
ALTER TABLE t1 DROP INDEX my_d;
ALTER TABLE t1 MODIFY COLUMN D INT;
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
ALTER TABLE t1 ADD INDEX my_d (D);
EXPLAIN SELECT d FROM t1 WHERE d = 5;
id select_type table type possible_keys key key_len ref rows Extra
diff --git a/mysql-test/suite/innodb/r/innodb-fk.result b/mysql-test/suite/innodb/r/innodb-fk.result
index ce873be93da..7982c5f1f49 100644
--- a/mysql-test/suite/innodb/r/innodb-fk.result
+++ b/mysql-test/suite/innodb/r/innodb-fk.result
@@ -89,7 +89,7 @@ person CREATE TABLE `person` (
`Name` varchar(50) NOT NULL,
PRIMARY KEY (`Id`),
CONSTRAINT `fk_person_group` FOREIGN KEY (`Id`) REFERENCES `group` (`Id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
CREATE TABLE `kg_test2`.`person2` (
`Id` INT(11) NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(50) NOT NULL,
@@ -110,7 +110,7 @@ person2 CREATE TABLE `person2` (
`Name` varchar(50) NOT NULL,
PRIMARY KEY (`Id`),
CONSTRAINT `fk_person_group` FOREIGN KEY (`Id`) REFERENCES `kg_test1`.`group` (`Id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW WARNINGS;
Level Code Message
DROP DATABASE kg_test2;
@@ -136,7 +136,7 @@ Table Create Table
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
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE `#departaments_tree`;
DROP TABLE `#departaments`;
CREATE TABLE `boroda` (
@@ -164,7 +164,7 @@ Table Create Table
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
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE `#boroda`;
CREATE TABLE `boroda` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
@@ -188,7 +188,7 @@ bor#oda CREATE TABLE `bor#oda` (
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
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE `bor#oda`;
#
# MDEV-21127 Assertion `(size_t)(ptr - buf) < MAX_TEXT - 4' failed in key_text::key_text
diff --git a/mysql-test/suite/innodb/r/innodb-index-debug.result b/mysql-test/suite/innodb/r/innodb-index-debug.result
index 2eba29e6c28..c36a0531b95 100644
--- a/mysql-test/suite/innodb/r/innodb-index-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-index-debug.result
@@ -118,18 +118,21 @@ drop table 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;
+CREATE TABLE t1 (j INT UNIQUE, i INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES(2, 2);
connect con1,localhost,root,,test;
SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built WAIT_FOR log';
-ALTER TABLE t1 DROP j, FORCE;
+ALTER TABLE t1 DROP j, ADD UNIQUE INDEX(i), FORCE;
connection default;
SET DEBUG_SYNC='now WAIT_FOR built';
+SET DEBUG_DBUG='+d,row_ins_row_level';
INSERT INTO t1 (i) VALUES (0),(0);
-ERROR 23000: Duplicate entry '0' for key 'i'
SET DEBUG_SYNC='now SIGNAL log';
+SET DEBUG_DBUG=@saved_debug_dbug;
connection con1;
ERROR 23000: Duplicate entry '0' for key 'i'
+DELETE FROM t1;
+ALTER TABLE t1 ADD UNIQUE INDEX(i);
SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built2 WAIT_FOR log2';
ALTER TABLE t1 DROP j, FORCE;
connection default;
@@ -139,7 +142,6 @@ UPDATE t1 SET i=0;
ERROR 23000: Duplicate entry '0' for key 'i'
SET DEBUG_SYNC='now SIGNAL log2';
connection con1;
-ERROR 23000: Duplicate entry '0' for key 'i'
disconnect con1;
connection default;
SET DEBUG_SYNC='RESET';
diff --git a/mysql-test/suite/innodb/r/innodb-index-online-fk.result b/mysql-test/suite/innodb/r/innodb-index-online-fk.result
index 5f69d7ba0ac..5f12b58584d 100644
--- a/mysql-test/suite/innodb/r/innodb-index-online-fk.result
+++ b/mysql-test/suite/innodb/r/innodb-index-online-fk.result
@@ -120,10 +120,8 @@ test/child a1
test/child a2
SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
NAME
-SYS_DATAFILES
SYS_FOREIGN
SYS_FOREIGN_COLS
-SYS_TABLESPACES
SYS_VIRTUAL
mysql/innodb_index_stats
mysql/innodb_table_stats
@@ -312,10 +310,8 @@ test/child a1
test/child a2
SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
NAME
-SYS_DATAFILES
SYS_FOREIGN
SYS_FOREIGN_COLS
-SYS_TABLESPACES
SYS_VIRTUAL
mysql/innodb_index_stats
mysql/innodb_table_stats
@@ -340,10 +336,8 @@ test/child a2
test/child a3
SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
NAME
-SYS_DATAFILES
SYS_FOREIGN
SYS_FOREIGN_COLS
-SYS_TABLESPACES
SYS_VIRTUAL
mysql/innodb_index_stats
mysql/innodb_table_stats
@@ -379,10 +373,8 @@ test/child a1
test/child a2
SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
NAME
-SYS_DATAFILES
SYS_FOREIGN
SYS_FOREIGN_COLS
-SYS_TABLESPACES
SYS_VIRTUAL
mysql/innodb_index_stats
mysql/innodb_table_stats
@@ -416,10 +408,8 @@ test/child a2
test/child a3
SELECT NAME FROM information_schema.INNODB_SYS_TABLES;
NAME
-SYS_DATAFILES
SYS_FOREIGN
SYS_FOREIGN_COLS
-SYS_TABLESPACES
SYS_VIRTUAL
mysql/innodb_index_stats
mysql/innodb_table_stats
diff --git a/mysql-test/suite/innodb/r/innodb-index-online.result b/mysql-test/suite/innodb/r/innodb-index-online.result
index f101a63a6ed..be86cf7565e 100644
--- a/mysql-test/suite/innodb/r/innodb-index-online.result
+++ b/mysql-test/suite/innodb/r/innodb-index-online.result
@@ -8,7 +8,6 @@ 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
ddl_sort_file_alter_table 0
@@ -17,7 +16,6 @@ SET DEBUG_SYNC = 'RESET';
SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
INSERT INTO t1 VALUES(1,2,3);
connect con1,localhost,root,,;
-connection con1;
SET DEBUG_SYNC = 'now WAIT_FOR have_handle';
SET lock_wait_timeout = 1;
ALTER TABLE t1 ADD UNIQUE INDEX(c2);
@@ -28,7 +26,6 @@ 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
ddl_sort_file_alter_table 0
@@ -82,14 +79,14 @@ 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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
BEGIN;
INSERT INTO t1 VALUES(7,4,2);
-ROLLBACK;
+COMMIT;
+DELETE FROM t1 where c1 = 7;
SET DEBUG_SYNC = 'now SIGNAL rollback_done';
connection con1;
ERROR 23000: Duplicate entry '4' for key 'c2'
@@ -100,21 +97,19 @@ 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_online_create_index 1
ddl_pending_alter_table 1
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
INSERT INTO t1 VALUES(6,3,1);
SET DEBUG_SYNC = 'now SIGNAL dml_done';
connection con1;
-ERROR 23000: Duplicate entry for key 'c2'
+ERROR 23000: Duplicate entry '' for key '*UNKNOWN*'
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
ddl_sort_file_alter_table 0
@@ -154,6 +149,9 @@ database_name table_name index_name last_update stat_name stat_value sample_size
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_stats GEN_CLUST_INDEX LAST_UPDATE n_diff_pfx01 3 1 DB_ROW_ID
+test t1_c2_stats GEN_CLUST_INDEX LAST_UPDATE n_leaf_pages 1 NULL Number of leaf pages in the index
+test t1_c2_stats GEN_CLUST_INDEX LAST_UPDATE size 1 NULL Number of pages in the index
connection con1;
KILL QUERY @id;
ERROR 70100: Query execution was interrupted
@@ -164,7 +162,6 @@ 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
ddl_sort_file_alter_table 0
@@ -176,7 +173,6 @@ 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
ddl_sort_file_alter_table 0
@@ -208,9 +204,9 @@ 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
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 c1 A 80 NULL NULL BTREE NO
+t1 1 c2d 1 c2 A 10 NULL NULL YES BTREE NO
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
@@ -244,47 +240,29 @@ 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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
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
ddl_sort_file_alter_table 0
@@ -317,8 +295,7 @@ ERROR HY000: Creating index 'c2e' required more than 'innodb_online_alter_log_ma
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_online_create_index 1
ddl_pending_alter_table 0
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 1
@@ -329,8 +306,7 @@ 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_online_create_index 1
ddl_pending_alter_table 0
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 1
@@ -339,7 +315,6 @@ 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
ddl_sort_file_alter_table 0
@@ -364,7 +339,6 @@ 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
ddl_sort_file_alter_table 0
@@ -372,23 +346,48 @@ ddl_log_file_alter_table 1
BEGIN;
INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
DELETE FROM t1 WHERE c1 > 320;
-ROLLBACK;
+COMMIT;
BEGIN;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
+COMMIT;
BEGIN;
INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
DELETE FROM t1 WHERE c1 > 320;
-ROLLBACK;
+COMMIT;
BEGIN;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
+COMMIT;
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+COMMIT;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+COMMIT;
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+COMMIT;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+COMMIT;
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+COMMIT;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+COMMIT;
+BEGIN;
+INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
+DELETE FROM t1 WHERE c1 > 320;
+COMMIT;
+BEGIN;
+UPDATE t1 SET c2 = c2 + 1;
+COMMIT;
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
ddl_sort_file_alter_table 0
@@ -401,7 +400,6 @@ 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
ddl_sort_file_alter_table 0
@@ -465,8 +463,7 @@ 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_online_create_index 1
ddl_pending_alter_table 0
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 2
@@ -474,8 +471,7 @@ connection default;
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_online_create_index 1
ddl_pending_alter_table 0
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 2
@@ -494,7 +490,6 @@ 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
ddl_sort_file_alter_table 0
@@ -514,7 +509,6 @@ SET DEBUG_SYNC = 'row_log_apply_before SIGNAL t1u_created WAIT_FOR dup_done';
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;
@@ -525,6 +519,28 @@ 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`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
DROP TABLE t2,t1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0,0);
+connect con1,localhost,root,,;
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL created WAIT_FOR inserted';
+ALTER TABLE t1 ADD INDEX(b);
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR created';
+BEGIN;
+INSERT INTO t1 VALUES(1,1);
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL inserted';
+connection con1;
+disconnect con1;
+connection default;
+SELECT * FROM t1;
+a b
+0 0
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
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 3069a7348bf..e17e7e25cb5 100644
--- a/mysql-test/suite/innodb/r/innodb-index.result
+++ b/mysql-test/suite/innodb/r/innodb-index.result
@@ -579,7 +579,7 @@ t1 CREATE TABLE `t1` (
`c` char(10) DEFAULT NULL,
`d` varchar(20) DEFAULT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
alter table t1 add index (b);
insert into t1 values(10,10,'kkk','iii');
select * from t1;
@@ -610,7 +610,7 @@ t1 CREATE TABLE `t1` (
`d` varchar(20) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `b` (`b`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
alter table t1 add unique index (c), add index (d);
insert into t1 values(11,11,'aaa','mmm');
select * from t1;
@@ -669,7 +669,7 @@ t1 CREATE TABLE `t1` (
UNIQUE KEY `c` (`c`),
KEY `b` (`b`),
KEY `d` (`d`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/innodb/r/innodb-isolation.result b/mysql-test/suite/innodb/r/innodb-isolation.result
index ce9c530ff44..b6e512cc6de 100644
--- a/mysql-test/suite/innodb/r/innodb-isolation.result
+++ b/mysql-test/suite/innodb/r/innodb-isolation.result
@@ -939,40 +939,40 @@ COUNT(*)
#
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 12 #
+1 SIMPLE t1 ALL NULL NULL NULL NULL #
EXPLAIN SELECT COUNT(*) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL k2 5 NULL 12 Using index
+1 SIMPLE t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT COUNT(c1) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL k2 5 NULL 12 Using index
+1 SIMPLE t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT COUNT(c2) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL k2 5 NULL 12 #
+1 SIMPLE t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT COUNT(c3) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 12 #
+1 SIMPLE t1 ALL NULL NULL NULL NULL #
EXPLAIN SELECT SUM(c1) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL k2 5 NULL 12 #
+1 SIMPLE t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT SUM(c2) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL k2 5 NULL 12 #
+1 SIMPLE t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT AVG(c1), MAX(c1), MIN(c2), AVG(c3), SUM(c4) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 12 #
+1 SIMPLE t1 ALL NULL NULL NULL NULL #
EXPLAIN SELECT c1, c2 FROM t1 WHERE c1 > ((SELECT COUNT(*) FROM t1) / 2);
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL 8 #
-2 SUBQUERY t1 index NULL k2 5 NULL 12 #
+1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL # Using where
+2 SUBQUERY t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT COUNT(c2) FROM t1 WHERE c1 > ((SELECT COUNT(*) FROM t1) / 2);
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL 8 #
-2 SUBQUERY t1 index NULL k2 5 NULL 12 #
+1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL # Using where
+2 SUBQUERY t1 index NULL k2 5 NULL # Using index
EXPLAIN SELECT COUNT(*) FROM t1 WHERE c1 > (SELECT AVG(c1) FROM t1);
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL 7 #
-2 SUBQUERY t1 index NULL k2 5 NULL 12 #
+1 PRIMARY t1 range PRIMARY PRIMARY 4 NULL # Using where; Using index
+2 SUBQUERY t1 index NULL k2 5 NULL # Using index
#
# Make all indexes in t2 obsolete to the active repeatable read transaction
# in the default connection.
@@ -1395,11 +1395,11 @@ disconnect con3;
CREATE TABLE t1(c1 INT NOT NULL PRIMARY KEY,
c2 INT NOT NULL DEFAULT 1,
c3 char(20) DEFAULT '',
-KEY c2_idx (c2)) ENGINE=InnoDB;
+KEY c2_idx (c2)) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1(c1) VALUES (1), (2), (3);
INSERT INTO t1(c1) SELECT c1 + 10 FROM t1;
INSERT INTO t1(c1) SELECT c1 + 100 FROM t1;
-CREATE TABLE t2 SELECT * FROM t1;
+CREATE TABLE t2 STATS_PERSISTENT=0 SELECT * FROM t1;
EXPLAIN SELECT COUNT(*) FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL c2_idx 4 NULL 12 Using index
diff --git a/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result b/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result
deleted file mode 100644
index 886a7f477b6..00000000000
--- a/mysql-test/suite/innodb/r/innodb-lock-schedule-algorithm.result
+++ /dev/null
@@ -1,110 +0,0 @@
-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;
-i1
-1
-2
-UPDATE t1 SET i1 = 1;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-COMMIT;
-connection default;
-COMMIT;
-SELECT * FROM t1;
-i1
-SELECT * FROM t2;
-i2
-1
-2
-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;
-i1
-1
-2
-UPDATE t1 SET i1 = 1;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-connection default;
-COMMIT;
-connection con1;
-COMMIT;
-connection default;
-SELECT * FROM t1;
-i1
-SELECT * FROM t2;
-i2
-1
-2
-DROP TABLE t1, t2;
-disconnect con1;
-# "restart: --loose-innodb-lock-schedule-algorithm=FCFS"
-# 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;
-connect con1,localhost,root,,test;
-connection con1;
-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;
-connection default;
-COMMIT;
-SELECT * FROM t1;
-i1
-SELECT * FROM t2;
-i2
-1
-2
-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;
-i1
-1
-2
-UPDATE t1 SET i1 = 1;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-connection default;
-COMMIT;
-connection con1;
-COMMIT;
-connection default;
-SELECT * FROM t1;
-i1
-SELECT * FROM t2;
-i2
-1
-2
-DROP TABLE t1, t2;
-disconnect con1;
diff --git a/mysql-test/suite/innodb/r/innodb-lock.result b/mysql-test/suite/innodb/r/innodb-lock.result
index 1fe0d263fef..83bed139da8 100644
--- a/mysql-test/suite/innodb/r/innodb-lock.result
+++ b/mysql-test/suite/innodb/r/innodb-lock.result
@@ -147,6 +147,8 @@ DROP TABLE t1, t2;
#
CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
PARTITION BY key (pk) PARTITIONS 2;
+INSERT INTO t1 VALUES(100);
+INSERT INTO t1 VALUES(101);
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
INSERT INTO t2 VALUES (1),(2),(3),(4),(5),(6);
CREATE TABLE t3 (b INT) ENGINE=InnoDB;
diff --git a/mysql-test/suite/innodb/r/innodb-system-table-view.result b/mysql-test/suite/innodb/r/innodb-system-table-view.result
index 11fc1ae8cf9..a1037976866 100644
--- a/mysql-test/suite/innodb/r/innodb-system-table-view.result
+++ b/mysql-test/suite/innodb/r/innodb-system-table-view.result
@@ -9,10 +9,8 @@ WHERE table_id NOT IN (@table_stats_id, @index_stats_id) ORDER BY table_id;
TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
11 SYS_FOREIGN 0 7 0 Redundant 0 System
12 SYS_FOREIGN_COLS 0 7 0 Redundant 0 System
-13 SYS_TABLESPACES 0 6 0 Redundant 0 System
-14 SYS_DATAFILES 0 5 0 Redundant 0 System
-15 SYS_VIRTUAL 0 6 0 Redundant 0 System
-18 mysql/transaction_registry 33 8 3 Dynamic 0 Single
+13 SYS_VIRTUAL 0 6 0 Redundant 0 System
+16 mysql/transaction_registry 33 8 3 Dynamic 0 Single
SELECT table_id,pos,mtype,prtype,len,name
FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
WHERE table_id NOT IN (@table_stats_id, @index_stats_id)
@@ -26,19 +24,14 @@ table_id pos mtype prtype len name
12 1 6 0 4 POS
12 2 1 524292 0 FOR_COL_NAME
12 3 1 524292 0 REF_COL_NAME
-13 0 6 0 4 SPACE
-13 1 1 524292 0 NAME
-13 2 6 0 4 FLAGS
-14 0 6 0 4 SPACE
-14 1 1 524292 0 PATH
-15 0 6 0 8 TABLE_ID
-15 1 6 0 4 POS
-15 2 6 0 4 BASE_POS
-18 0 6 1800 8 transaction_id
-18 1 6 1800 8 commit_id
-18 2 3 526087 7 begin_timestamp
-18 3 3 526087 7 commit_timestamp
-18 4 6 1022 1 isolation_level
+13 0 6 0 8 TABLE_ID
+13 1 6 0 4 POS
+13 2 6 0 4 BASE_POS
+16 0 6 1800 8 transaction_id
+16 1 6 1800 8 commit_id
+16 2 3 526087 7 begin_timestamp
+16 3 3 526087 7 commit_timestamp
+16 4 6 1022 1 isolation_level
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES
WHERE table_id NOT IN (@table_stats_id, @index_stats_id) ORDER BY index_id;
INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE MERGE_THRESHOLD
@@ -46,8 +39,6 @@ INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE MERGE_THRESHOLD
# FOR_IND # 0 1 # # 50
# REF_IND # 0 1 # # 50
# ID_IND # 3 2 # # 50
-# SYS_TABLESPACES_SPACE # 3 1 # # 50
-# SYS_DATAFILES_SPACE # 3 1 # # 50
# BASE_IDX # 3 3 # # 50
# PRIMARY # 3 1 # # 50
# commit_id # 2 1 # # 50
@@ -62,16 +53,14 @@ index_id pos name
13 0 REF_NAME
14 0 ID
14 1 POS
-15 0 SPACE
-16 0 SPACE
-17 0 TABLE_ID
-17 1 POS
-17 2 BASE_POS
-20 0 transaction_id
-21 0 commit_id
-22 0 begin_timestamp
-23 0 commit_timestamp
-23 1 transaction_id
+15 0 TABLE_ID
+15 1 POS
+15 2 BASE_POS
+18 0 transaction_id
+19 0 commit_id
+20 0 begin_timestamp
+21 0 commit_timestamp
+21 1 transaction_id
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
ID FOR_NAME REF_NAME N_COLS TYPE
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
@@ -95,7 +84,7 @@ test/t_dynamic DEFAULT DEFAULT MYSQLD_DATADIR/test/t_dynamic.ibd
DROP TABLE t_redundant, t_compact, t_compressed, t_dynamic;
SELECT count(*) FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS;
count(*)
-8
+6
CREATE TABLE parent (id INT NOT NULL,
PRIMARY KEY (id)) ENGINE=INNODB;
CREATE TABLE child (id INT, parent_id INT,
@@ -119,10 +108,8 @@ test/parent 1 1
SELECT NAME, FLAG, N_COLS FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name NOT LIKE 'sys/%';
NAME FLAG N_COLS
-SYS_DATAFILES 0 5
SYS_FOREIGN 0 7
SYS_FOREIGN_COLS 0 7
-SYS_TABLESPACES 0 6
SYS_VIRTUAL 0 6
mysql/innodb_index_stats 33 11
mysql/innodb_table_stats 33 9
diff --git a/mysql-test/suite/innodb/r/innodb-table-online.result b/mysql-test/suite/innodb/r/innodb-table-online.result
index 7872332a4a8..659d645b5cc 100644
--- a/mysql-test/suite/innodb/r/innodb-table-online.result
+++ b/mysql-test/suite/innodb/r/innodb-table-online.result
@@ -1,6 +1,6 @@
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");
+call mtr.add_suppression("MariaDB 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;
CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT NOT NULL, c3 CHAR(255) NOT NULL)
@@ -10,7 +10,6 @@ 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
ddl_sort_file_alter_table 0
@@ -18,26 +17,21 @@ ddl_log_file_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)
connect con1,localhost,root,,;
-connection con1;
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
connection 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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
-# session con1
connection con1;
SET @saved_debug_dbug = @@SESSION.debug_dbug;
SET DEBUG_DBUG = '+d,innodb_OOM_prepare_inplace_alter';
@@ -55,7 +49,6 @@ 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
connection default;
SHOW CREATE TABLE t1;
Table Create Table
@@ -67,22 +60,17 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
BEGIN;
INSERT INTO t1 VALUES(7,4,2);
-# session con1
connection 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
connection default;
COMMIT;
-# session con1
connection con1;
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2);
ERROR 23000: Duplicate entry '4' for key 'c2'
-# session default
connection default;
DELETE FROM t1 WHERE c1 = 7;
-# session con1
connection con1;
ALTER TABLE t1 DROP PRIMARY KEY, ADD UNIQUE INDEX(c2), ROW_FORMAT=COMPACT,
LOCK = SHARED, ALGORITHM = INPLACE;
@@ -100,27 +88,22 @@ t1 CREATE TABLE `t1` (
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
connection 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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
-BEGIN;
INSERT INTO t1 VALUES(4,7,2);
SET DEBUG_SYNC = 'now SIGNAL insert_done';
-# session con1
connection con1;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
-# session default
+DELETE FROM t1 WHERE c1=4 and c2=7;
connection default;
ROLLBACK;
-# session con1
connection con1;
SHOW CREATE TABLE t1;
Table Create Table
@@ -137,12 +120,10 @@ 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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
-# session default
connection default;
INSERT INTO t1 VALUES(6,3,1);
ERROR 23000: Duplicate entry '3' for key 'c2_2'
@@ -152,20 +133,17 @@ DROP INDEX c2_2 ON t1;
BEGIN;
INSERT INTO t1 VALUES(7,4,2);
ROLLBACK;
-# session con1
connection 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
connection 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
ddl_sort_file_alter_table 0
@@ -176,18 +154,15 @@ ROLLBACK;
SET DEBUG_SYNC = 'now SIGNAL dml_done WAIT_FOR applied';
KILL QUERY @id;
SET DEBUG_SYNC = 'now SIGNAL kill_done';
-# session con1
connection 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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 0
-# session default
connection default;
CHECK TABLE t1;
Table Op Msg_type Msg_text
@@ -212,7 +187,6 @@ 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
connection con1;
SHOW CREATE TABLE t1;
Table Create Table
@@ -227,48 +201,37 @@ 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
connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt2';
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
ddl_sort_file_alter_table 0
ddl_log_file_alter_table 1
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
-BEGIN;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-BEGIN;
+UPDATE t1 SET c2 = c2 + 2;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
+UPDATE t1 SET c2 = c2 + 2;
+UPDATE t1 SET c2 = c2 + 1;
+UPDATE t1 SET c2 = c2 + 2;
+UPDATE t1 SET c2 = c2 + 1;
+UPDATE t1 SET c2 = c2 + 2;
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
ddl_sort_file_alter_table 0
@@ -290,13 +253,11 @@ SELECT
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
connection 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
ddl_sort_file_alter_table 0
@@ -317,17 +278,15 @@ 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'
+ERROR 23000: Duplicate entry '26' for key 'PRIMARY'
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c22f,c1,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
connection 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
ddl_sort_file_alter_table 2
@@ -335,26 +294,20 @@ ddl_log_file_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;
+COMMIT;
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
ddl_sort_file_alter_table 2
ddl_log_file_alter_table 2
SET DEBUG_SYNC = 'now SIGNAL dml3_done';
-# session con1
connection 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
ddl_sort_file_alter_table 2
@@ -405,70 +358,57 @@ SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created0 WAIT_FOR ins_
ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL, DROP COLUMN c22f,
DROP PRIMARY KEY, ADD PRIMARY KEY(c1,c4(5)),
ADD COLUMN c5 CHAR(5) DEFAULT 'tired' FIRST;
-# 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,'');
+COMMIT;
SET DEBUG_SYNC = 'now SIGNAL ins_done0';
-# session con1
-connection con1;
-ERROR 01000: Data truncated for column 'c3' at row 323
-# session default
-connection default;
-ROLLBACK;
-# session con1
connection con1;
+ERROR 22004: Invalid use of NULL value
+DELETE FROM t1 WHERE c1= 347 and c22f = 33101;
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
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';
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
connection 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
ddl_sort_file_alter_table 6
ddl_log_file_alter_table 2
-# session default
connection default;
SELECT COUNT(*) FROM t1;
COUNT(*)
-321
+322
ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
SELECT * FROM t1 LIMIT 10;
c22f c1 c3 c4
-5 1 1foo Online
-5 6 6foofoofoofoofoofoo Online
-5 11 11foofoofoofoofoofoofoofoofoofoofoo Online
-5 16 16foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-5 21 21foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-5 26 26foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-5 31 31foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-5 36 36foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-5 41 41foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-5 46 46foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
-# session con1
+27 1 1foo Online
+27 6 6foofoofoofoofoofoo Online
+27 11 11foofoofoofoofoofoofoofoofoofoofoo Online
+27 16 16foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
+27 21 21foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
+27 26 26foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
+27 31 31foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
+27 36 36foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
+27 41 41foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
+27 46 46foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo Online
connection con1;
ALTER TABLE t1 DISCARD TABLESPACE;
-# Disconnect session con1
-disconnect con1;
-# session default
connection default;
SHOW CREATE TABLE t1;
Table Create Table
@@ -479,9 +419,27 @@ t1 CREATE TABLE `t1` (
`c4` varchar(6) NOT NULL DEFAULT 'Online',
PRIMARY KEY (`c22f`,`c1`,`c4`(5))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
-SET DEBUG_SYNC = 'RESET';
SET GLOBAL innodb_monitor_disable = module_ddl;
DROP TABLE t1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b blob) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0,NULL);
+connection con1;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL created WAIT_FOR ins';
+ALTER TABLE t1 FORCE;
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR created';
+BEGIN;
+INSERT INTO t1 VALUES(1, repeat('a', 10000));
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL ins';
+connection con1;
+disconnect con1;
+connection default;
+SELECT * FROM t1;
+a b
+0 NULL
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
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-truncate.result b/mysql-test/suite/innodb/r/innodb-truncate.result
index 8610a892cc6..3bcee0e8ed4 100644
--- a/mysql-test/suite/innodb/r/innodb-truncate.result
+++ b/mysql-test/suite/innodb/r/innodb-truncate.result
@@ -89,5 +89,18 @@ ALTER TABLE t1 RENAME TO t3;
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`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `test`.`t1` (`f2`))
DROP TABLE t2, t1;
+#
+# MDEV-24861 Assertion `trx->rsegs.m_redo.rseg' failed
+# in innodb_prepare_commit_versioned
+#
+CREATE TABLE t1 (id INT PRIMARY KEY, f TEXT UNIQUE,
+s BIGINT UNSIGNED AS ROW START, e BIGINT UNSIGNED AS ROW END,
+PERIOD FOR SYSTEM_TIME(s,e))
+ENGINE=InnoDB WITH SYSTEM VERSIONING;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+ALTER TABLE t1 FORCE;
+TRUNCATE TABLE t2;
+DROP TABLE t1, t2;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/innodb-virtual-columns.result b/mysql-test/suite/innodb/r/innodb-virtual-columns.result
index 484c9b30bd6..1a726ee2675 100644
--- a/mysql-test/suite/innodb/r/innodb-virtual-columns.result
+++ b/mysql-test/suite/innodb/r/innodb-virtual-columns.result
@@ -38,7 +38,7 @@ grad_degree CREATE TABLE `grad_degree` (
`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',
PRIMARY KEY (`student_id`,`plan`,`admit_term`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
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 (
@@ -153,7 +153,7 @@ grad_degree CREATE TABLE `grad_degree` (
`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',
PRIMARY KEY (`student_id`,`plan`,`admit_term`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
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 (
@@ -210,7 +210,7 @@ grad_degree CREATE TABLE `grad_degree` (
`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
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE grad_degree;
CREATE TABLE IF NOT EXISTS grad_degree (
student_id int(8) UNSIGNED NOT NULL,
@@ -289,7 +289,7 @@ grad_degree CREATE TABLE `grad_degree` (
`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',
PRIMARY KEY (`student_id`,`plan`,`admit_term`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
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,
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522-debug.result b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
index 0b5d9ab55b6..2973e5de550 100644
--- a/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
@@ -1,6 +1,5 @@
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation.");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified.");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: .*");
call mtr.add_suppression("InnoDB: Ignoring tablespace .* because it could not be opened.");
call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
@@ -9,20 +8,21 @@ 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=");
call mtr.add_suppression("InnoDB: Unknown index id .* on page");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
FLUSH TABLES;
SET GLOBAL innodb_file_per_table = 1;
CREATE TABLE t1 (c1 INT) ENGINE = InnoDB;
INSERT INTO t1 VALUES(1),(2),(3);
SET SESSION debug_dbug="+d,ib_discard_before_commit_crash";
ALTER TABLE t1 DISCARD TABLESPACE;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
DROP TABLE t1;
SET GLOBAL innodb_file_per_table = 1;
CREATE TABLE t1 (c1 INT) ENGINE = InnoDB;
INSERT INTO t1 VALUES(1),(2),(3);
SET SESSION debug_dbug="+d,ib_discard_after_commit_crash";
ALTER TABLE t1 DISCARD TABLESPACE;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
DROP TABLE t1;
SET GLOBAL innodb_file_per_table = 1;
CREATE TABLE t1 (c1 INT) ENGINE = Innodb;
@@ -41,12 +41,12 @@ SELECT * FROM t1;
ERROR HY000: Tablespace has been discarded for table `t1`
SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
ALTER TABLE t1 IMPORT TABLESPACE;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
SELECT COUNT(*) FROM t1;
ERROR HY000: Tablespace has been discarded for table `t1`
SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
ALTER TABLE t1 IMPORT TABLESPACE;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
unlink: t1.ibd
unlink: t1.cfg
DROP TABLE t1;
@@ -454,7 +454,7 @@ 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 t1 IMPORT TABLESPACE;
-ERROR HY000: Got error 44 'Tablespace not found' from ./test/t1.ibd
+ERROR HY000: Got error 42 'Tablespace not found' from ./test/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";
@@ -477,6 +477,7 @@ ALTER TABLE t1 IMPORT TABLESPACE;
ERROR HY000: Index for table 't1' is corrupt; try to repair it
SET SESSION debug_dbug=@saved_debug_dbug;
restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;
CREATE TABLE t1 (
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
@@ -923,7 +924,7 @@ 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 t1 IMPORT TABLESPACE;
-ERROR HY000: Got error 39 'Data structure corruption' from ./test/t1.ibd
+ERROR HY000: Got error 37 'Data structure corruption' from ./test/t1.ibd
SET SESSION debug_dbug=@saved_debug_dbug;
DROP TABLE t1;
unlink: t1.ibd
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522.result b/mysql-test/suite/innodb/r/innodb-wl5522.result
index 3e6725138f3..8079057712d 100644
--- a/mysql-test/suite/innodb/r/innodb-wl5522.result
+++ b/mysql-test/suite/innodb/r/innodb-wl5522.result
@@ -1,5 +1,6 @@
call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\.");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
FLUSH TABLES;
CREATE TABLE t1
(a INT AUTO_INCREMENT PRIMARY KEY,
diff --git a/mysql-test/suite/innodb/r/innodb.result b/mysql-test/suite/innodb/r/innodb.result
index 5dbe8156c1a..d799cbb8fd9 100644
--- a/mysql-test/suite/innodb/r/innodb.result
+++ b/mysql-test/suite/innodb/r/innodb.result
@@ -45,7 +45,7 @@ level tinyint(4) DEFAULT '0' NOT NULL,
PRIMARY KEY (id),
KEY parent_id (parent_id),
KEY level (level)
-) engine=innodb;
+) engine=innodb stats_persistent=0;
INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
update t1 set parent_id=parent_id+100;
select * from t1 where parent_id=102;
@@ -175,10 +175,10 @@ Table Op Msg_type Msg_text
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
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 0 PRIMARY 1 id A # NULL NULL BTREE
-t1 1 parent_id 1 parent_id A # NULL NULL BTREE
-t1 1 level 1 level A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id A # NULL NULL BTREE NO
+t1 1 parent_id 1 parent_id A # NULL NULL BTREE NO
+t1 1 level 1 level A # NULL NULL BTREE NO
drop table t1;
CREATE TABLE t1 (
gesuchnr int(11) DEFAULT '0' NOT NULL,
@@ -220,8 +220,8 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 skr 1 a A # NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 skr 1 a A # NULL NULL YES BTREE NO
drop table t1;
create table t1 (a int,b varchar(20),key(a)) engine=innodb;
insert into t1 values (1,""), (2,"testing");
@@ -410,13 +410,13 @@ 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
-t1 0 PRIMARY 2 b A # NULL NULL BTREE
-t1 0 c 1 c A # NULL NULL BTREE
-t1 0 b 1 b A # NULL NULL BTREE
-t1 1 a 1 a A # NULL NULL BTREE
-t1 1 a_2 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 b A # NULL NULL BTREE NO
+t1 0 c 1 c A # NULL NULL BTREE NO
+t1 0 b 1 b A # NULL NULL BTREE NO
+t1 1 a 1 a A # NULL NULL BTREE NO
+t1 1 a_2 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));
alter table t1 engine=innodb;
@@ -753,8 +753,8 @@ Table Op Msg_type Msg_text
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize status OK
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 0 PRIMARY 1 a A # NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A # NULL NULL BTREE NO
drop table t1;
create table t1 (i int, j int ) ENGINE=innodb;
insert into t1 values (1,2);
@@ -2264,7 +2264,7 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
@@ -2317,7 +2317,7 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `v` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
SET sql_mode = default;
diff --git a/mysql-test/suite/innodb/r/innodb_blob_truncate.result b/mysql-test/suite/innodb/r/innodb_blob_truncate.result
deleted file mode 100644
index b10d4a94eb7..00000000000
--- a/mysql-test/suite/innodb/r/innodb_blob_truncate.result
+++ /dev/null
@@ -1,17 +0,0 @@
-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_buffer_pool_resize_bigtest.result b/mysql-test/suite/innodb/r/innodb_buffer_pool_resize_bigtest.result
new file mode 100644
index 00000000000..d6b29060dc7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_buffer_pool_resize_bigtest.result
@@ -0,0 +1,14 @@
+SET @save_size=@@innodb_buffer_pool_size;
+#
+# MDEV-27891: Delayed SIGSEGV in InnoDB buffer pool resize
+# after or during DROP TABLE
+#
+select @@innodb_buffer_pool_chunk_size;
+@@innodb_buffer_pool_chunk_size
+1048576
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL innodb_buffer_pool_size=256*1024*1024;
+DROP TABLE t1;
+SET GLOBAL innodb_buffer_pool_size=@@innodb_buffer_pool_size + @@innodb_buffer_pool_chunk_size;
+# End of 10.6 tests
+SET GLOBAL innodb_buffer_pool_size=@save_size;
diff --git a/mysql-test/suite/innodb/r/innodb_bug12400341.result b/mysql-test/suite/innodb/r/innodb_bug12400341.result
index 7b7f1c1a981..f4114595819 100644
--- a/mysql-test/suite/innodb/r/innodb_bug12400341.result
+++ b/mysql-test/suite/innodb/r/innodb_bug12400341.result
@@ -1,14 +1,4 @@
-call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too*");
call mtr.add_suppression("\\[Warning\\] InnoDB: Cannot find a free slot for an undo log. Do you have too");
-show variables like "max_connections";
-Variable_name Value
-max_connections 64
-show variables like "innodb_thread_concurrency";
-Variable_name Value
-innodb_thread_concurrency 0
-show variables like "innodb_file_per_table";
-Variable_name Value
-innodb_file_per_table ON
drop database if exists mysqltest;
create database mysqltest;
CREATE TABLE mysqltest.transtable (id int unsigned NOT NULL PRIMARY KEY, val int DEFAULT 0) ENGINE=InnoDB;
diff --git a/mysql-test/suite/innodb/r/innodb_bug84958.result b/mysql-test/suite/innodb/r/innodb_bug84958.result
index b721c73a0fc..a216dde1648 100644
--- a/mysql-test/suite/innodb/r/innodb_bug84958.result
+++ b/mysql-test/suite/innodb/r/innodb_bug84958.result
@@ -29,7 +29,7 @@ END~~
# Create a table with one record in it and start an RR transaction
#
CREATE TABLE t1 (a INT, b INT, c INT, PRIMARY KEY(a,b), KEY (b,c))
-ENGINE=InnoDB;
+ENGINE=InnoDB STATS_PERSISTENT=0;
BEGIN;
SELECT * FROM t1;
a b c
diff --git a/mysql-test/suite/innodb/r/innodb_ctype_ldml.result b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
index 502f57156c3..7cc6540d671 100644
--- a/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
+++ b/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
@@ -6,9 +6,9 @@ set names utf8;
show variables like 'character_sets_dir%';
Variable_name Value
character_sets_dir MYSQL_TEST_DIR/std_data/ldml/
-show collation like 'utf8_phone_ci';
+show collation like 'utf8mb3_phone_ci';
Collation Charset Id Default Compiled Sortlen
-utf8_phone_ci utf8 352 8
+utf8mb3_phone_ci utf8mb3 352 8
CREATE TABLE t1 (
name VARCHAR(64),
phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
@@ -35,9 +35,9 @@ 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';
+show collation like 'utf8mb3_test_ci';
Collation Charset Id Default Compiled Sortlen
-utf8_test_ci utf8 353 8
+utf8mb3_test_ci utf8mb3 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';
@@ -406,34 +406,34 @@ latin1_test latin1 331 1
latin1_test2 latin1 332 1
latin1_test2_cs latin1 333 1
latin1_swedish_nopad2_ci latin1 334 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
+utf8mb3_bengali_standard_ci utf8mb3 336 8
+utf8mb3_bengali_traditional_ci utf8mb3 337 8
+utf8mb3_implicit_weights_ci utf8mb3 338 8
+utf8mb3_phone_ci utf8mb3 352 8
+utf8mb3_test_ci utf8mb3 353 8
+utf8mb3_5624_1 utf8mb3 354 8
+utf8mb3_5624_2 utf8mb3 355 8
+utf8mb3_5624_3 utf8mb3 356 8
+utf8mb3_5624_4 utf8mb3 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
-utf8_czech_test_w2 utf8 370 4
-utf8_czech_test_nopad_w2 utf8 371 4
-utf8_czech_test_bad_w2 utf8 372 4
+utf8mb3_5624_5 utf8mb3 368 8
+utf8mb3_5624_5_bad utf8mb3 369 8
+utf8mb3_czech_test_w2 utf8mb3 370 4
+utf8mb3_czech_test_nopad_w2 utf8mb3 371 4
+utf8mb3_czech_test_bad_w2 utf8mb3 372 4
utf32_test_ci utf32 391 8
-utf8_maxuserid_ci utf8 2047 8
+utf8mb3_maxuserid_ci utf8mb3 2047 8
show collation like '%test%';
Collation Charset Id Default Compiled Sortlen
latin1_test latin1 331 1
latin1_test2 latin1 332 1
latin1_test2_cs latin1 333 1
-utf8_test_ci utf8 353 8
-utf8_czech_test_w2 utf8 370 4
-utf8_czech_test_nopad_w2 utf8 371 4
-utf8_czech_test_bad_w2 utf8 372 4
+utf8mb3_test_ci utf8mb3 353 8
+utf8mb3_czech_test_w2 utf8mb3 370 4
+utf8mb3_czech_test_nopad_w2 utf8mb3 371 4
+utf8mb3_czech_test_bad_w2 utf8mb3 372 4
ucs2_test_ci ucs2 358 8
utf8mb4_test_ci utf8mb4 326 8
utf8mb4_test_400_ci utf8mb4 328 8
@@ -465,9 +465,9 @@ a
b
DROP TABLE t1;
SET NAMES utf8 COLLATE utf8_phone_ci;
-SHOW COLLATION LIKE 'utf8_phone_ci';
+show collation like 'utf8mb3_phone_ci';
Collation Charset Id Default Compiled Sortlen
-utf8_phone_ci utf8 352 8
+utf8mb3_phone_ci utf8mb3 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))
diff --git a/mysql-test/suite/innodb/r/innodb_ctype_utf8.result b/mysql-test/suite/innodb/r/innodb_ctype_utf8.result
index 08f02aa01d4..38196899a12 100644
--- a/mysql-test/suite/innodb/r/innodb_ctype_utf8.result
+++ b/mysql-test/suite/innodb/r/innodb_ctype_utf8.result
@@ -16,9 +16,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_general_nopad_ci';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_general_nopad_ci NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_general_nopad_ci NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_nopad_ci
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_nopad_ci
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
@@ -153,9 +153,9 @@ CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'utf8_nopad_bin';
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(10) COLLATE utf8_nopad_bin NOT NULL,
+ `a` varchar(10) COLLATE utf8mb3_nopad_bin NOT NULL,
PRIMARY KEY (`a`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_nopad_bin
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_nopad_bin
INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a ');
SELECT HEX(a), a FROM t1 ORDER BY a;
HEX(a) a
diff --git a/mysql-test/suite/innodb/r/innodb_defrag_stats.result b/mysql-test/suite/innodb/r/innodb_defrag_stats.result
index d362608de79..c6fd7006f9e 100644
--- a/mysql-test/suite/innodb/r/innodb_defrag_stats.result
+++ b/mysql-test/suite/innodb/r/innodb_defrag_stats.result
@@ -111,7 +111,6 @@ t2 SECOND n_leaf_pages_defrag
t2 SECOND n_leaf_pages_reserved
t2 SECOND n_page_split
t2 SECOND n_pages_freed
-# Drop index should cause stats drop, but will not.
drop index SECOND on t2;
#
# MDEV-26636: Statistics must not be written for temporary tables
@@ -127,10 +126,6 @@ t2 PRIMARY n_leaf_pages_defrag
t2 PRIMARY n_leaf_pages_reserved
t2 PRIMARY n_page_split
t2 PRIMARY n_pages_freed
-t2 SECOND n_leaf_pages_defrag
-t2 SECOND n_leaf_pages_reserved
-t2 SECOND n_page_split
-t2 SECOND n_pages_freed
# Clean up
ALTER TABLE t2 STATS_PERSISTENT=1;
DROP TABLE t2;
diff --git a/mysql-test/suite/innodb/r/innodb_mutexes.result b/mysql-test/suite/innodb/r/innodb_mutexes.result
deleted file mode 100644
index ff7bfa6f32a..00000000000
--- a/mysql-test/suite/innodb/r/innodb_mutexes.result
+++ /dev/null
@@ -1,35 +0,0 @@
-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;
-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;
-connection con1;
-delete from t1 where a between 1000 and 1300;
-connection con2;
-update t1 set b=b+1 where a between 2000 and 2600;
-connection con3;
-insert into t1 select a+30000,b,c,d from t1 where a between 3000 and 4000;
-connection default;
-delete from t1 where a between 6000 and 7000;
-connection con1;
-connection con2;
-connection con3;
-connection default;
-disconnect con1;
-disconnect con2;
-disconnect con3;
-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 595a56a8bef..309ca847efb 100644
--- a/mysql-test/suite/innodb/r/innodb_mysql.result
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result
@@ -1564,7 +1564,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` text DEFAULT NULL,
KEY `a` (`a`(1024))
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
drop table t1;
CREATE TABLE t1 (
a INT,
@@ -2899,6 +2899,7 @@ Null
Index_type BTREE
Comment
Index_comment
+Ignored NO
Table t1
Non_unique 0
Key_name k
@@ -2912,6 +2913,7 @@ Null
Index_type BTREE
Comment
Index_comment
+Ignored NO
DROP TABLE t1;
#
# Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when
diff --git a/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
index 775bbc017a1..49fe8e629e3 100644
--- a/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
+++ b/mysql-test/suite/innodb/r/innodb_skip_innodb_is_tables.result
@@ -37,10 +37,8 @@ Warning 1012 InnoDB: SELECTing from INFORMATION_SCHEMA.innodb_cmpmem_reset but t
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 ENABLED TYPE COMMENT
metadata_table_handles_opened metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of table handles opened
-metadata_table_handles_closed metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of table handles closed
-metadata_table_reference_count metadata 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Table reference counter
-lock_deadlocks lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of deadlocks
-lock_timeouts lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of lock timeouts
+lock_deadlocks lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 value Number of deadlocks
+lock_timeouts lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 value Number of lock timeouts
lock_rec_lock_waits lock 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 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 0 counter Number of record locks requested
@@ -110,12 +108,8 @@ buffer_flush_background_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL
buffer_LRU_batch_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 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 0 set_member Pages scanned per LRU batch call
-buffer_LRU_batch_flush_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 set_member Number of LRU batches
-buffer_LRU_batch_flush_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 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 0 set_member Number of LRU batches
-buffer_LRU_batch_evict_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 set_member Pages queued as an LRU batch
+buffer_LRU_batch_flush_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Total pages flushed as part of LRU batches
+buffer_LRU_batch_evict_total_pages buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Total pages evicted as part of LRU batches
buffer_LRU_single_flush_failure_count Buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of times attempt to flush a single page from LRU failed
buffer_LRU_get_free_search Buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of searches performed for a clean page
buffer_LRU_search_scanned buffer 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 set_owner Total pages scanned as part of LRU search
@@ -171,7 +165,6 @@ trx_nl_ro_commits transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL N
trx_commits_insert_update transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of transactions committed with inserts and updates
trx_rollbacks transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of transactions rolled back
trx_rollbacks_savepoint transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of transactions rolled back to savepoint
-trx_active_transactions transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of active transactions
trx_rseg_history_len transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 counter Number of undo slots used
trx_undo_slots_cached transaction 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of undo slots cached
@@ -235,7 +228,6 @@ innodb_master_thread_sleeps server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL N
innodb_activity_count server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Current server activity count
innodb_master_active_loops server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 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 0 counter Time (in microseconds) spent to process drop table list
innodb_log_flush_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Time (in microseconds) spent to flush log records
innodb_dict_lru_usec server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 counter Number of tables evicted from DICT LRU list in the active loop
@@ -243,15 +235,6 @@ innodb_dict_lru_count_idle server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NU
innodb_dblwr_writes server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 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 0 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 0 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 0 status_counter Number of rwlock spin waits due to exclusive latch request
-innodb_rwlock_sx_spin_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of rwlock spin waits due to sx latch request
-innodb_rwlock_s_spin_rounds server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 status_counter Number of rwlock spin loop rounds due to exclusive latch request
-innodb_rwlock_sx_spin_rounds server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of rwlock spin loop rounds due to sx latch request
-innodb_rwlock_s_os_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 status_counter Number of OS waits due to exclusive latch request
-innodb_rwlock_sx_os_waits server 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of OS waits due to sx latch request
dml_reads dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of rows read
dml_inserts dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of rows inserted
dml_deletes dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of rows deleted
@@ -261,7 +244,6 @@ dml_system_inserts dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 s
dml_system_deletes dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of system rows deleted
dml_system_updates dml 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 status_counter Number of system rows updated
ddl_background_drop_indexes ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 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 0 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 0 counter Number of indexes being created online
ddl_pending_alter_table ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of ALTER TABLE, CREATE INDEX, DROP INDEX in progress
ddl_sort_file_alter_table ddl 0 NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL 0 counter Number of sort files created during alter table
@@ -336,7 +318,6 @@ 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 ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
Warnings:
@@ -366,23 +347,10 @@ 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 ROW_FORMAT PAGE_SIZE ZIP_PAGE_SIZE FS_BLOCK_SIZE FILE_SIZE ALLOCATED_SIZE
+SPACE NAME FLAG ROW_FORMAT PAGE_SIZE FILENAME FS_BLOCK_SIZE FILE_SIZE ALLOCATED_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;
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_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_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
index d2c3bd0127e..b300af767c6 100644
--- a/mysql-test/suite/innodb/r/innodb_stats.result
+++ b/mysql-test/suite/innodb/r/innodb_stats.result
@@ -52,6 +52,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1);
ANALYZE TABLE test_innodb_stats;
@@ -104,6 +105,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1);
ANALYZE TABLE test_innodb_stats;
@@ -156,6 +158,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (1);
ANALYZE TABLE test_innodb_stats;
@@ -208,6 +211,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
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;
@@ -260,6 +264,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (2);
ANALYZE TABLE test_innodb_stats;
@@ -312,6 +317,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2);
ANALYZE TABLE test_innodb_stats;
@@ -364,6 +370,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (2), (3);
ANALYZE TABLE test_innodb_stats;
@@ -416,6 +423,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
TRUNCATE TABLE test_innodb_stats;
INSERT INTO test_innodb_stats (a) VALUES (1), (1), (2), (3), (3);
ANALYZE TABLE test_innodb_stats;
@@ -468,6 +476,7 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
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;
@@ -520,3 +529,4 @@ NULLABLE YES
INDEX_TYPE BTREE
COMMENT
INDEX_COMMENT
+IGNORED NO
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
index 66ef5ed2696..3c3996e0bba 100644
--- a/mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result
+++ b/mysql-test/suite/innodb/r/innodb_stats_create_on_corrupted.result
@@ -1,5 +1,7 @@
call mtr.add_suppression("InnoDB: Table .*innodb_index_stats.* not found");
call mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table .*");
+call mtr.add_suppression("InnoDB: Table mysql\\.innodb_index_stats has length mismatch in the column name stat_description\\. Please run mariadb-upgrade");
+call mtr.add_suppression("InnoDB: Column stat_description in table mysql\\.innodb_index_stats is VARCHAR");
ALTER TABLE mysql.innodb_index_stats RENAME TO mysql.innodb_index_stats_;
CREATE TABLE test_ps_create_on_corrupted
(a INT, PRIMARY KEY (a))
@@ -17,6 +19,13 @@ avg_row_length 0
max_data_length 0
index_length 0
ALTER TABLE mysql.innodb_index_stats_ RENAME TO mysql.innodb_index_stats;
+SET old_mode='';
+ALTER TABLE mysql.innodb_index_stats
+MODIFY stat_description VARCHAR(1024) COLLATE utf8_bin;
+CREATE TABLE t (a INT) ENGINE=InnoDB STATS_PERSISTENT=1;
+ALTER TABLE mysql.innodb_index_stats
+MODIFY stat_description VARCHAR(1024) COLLATE utf8mb3_bin NOT NULL;
+DROP TABLE t;
# restart
SELECT seq_in_index, column_name, cardinality
FROM information_schema.statistics WHERE table_name = 'test_ps_create_on_corrupted'
diff --git a/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result b/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result
index 3ae06c48ecb..13f21463390 100644
--- a/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result
+++ b/mysql-test/suite/innodb/r/innodb_stats_drop_locked.result
@@ -1,7 +1,14 @@
+CREATE DATABASE unlocked;
+CREATE TABLE unlocked.t1(a INT PRIMARY KEY) ENGINE=INNODB STATS_PERSISTENT=0;
+CREATE DATABASE locked;
+CREATE TABLE locked.t1(a INT PRIMARY KEY) ENGINE=INNODB STATS_PERSISTENT=1;
+CREATE TABLE innodb_stats_drop_locked (c INT, KEY c_key (c))
+ENGINE=INNODB STATS_PERSISTENT=1;
+ANALYZE TABLE innodb_stats_drop_locked;
Table Op Msg_type Msg_text
test.innodb_stats_drop_locked analyze status Engine-independent statistics collected
test.innodb_stats_drop_locked analyze status OK
-SET autocommit=0;
+BEGIN;
SELECT table_name FROM mysql.innodb_table_stats
WHERE table_name='innodb_stats_drop_locked'
FOR UPDATE;
@@ -19,21 +26,24 @@ innodb_stats_drop_locked
innodb_stats_drop_locked
innodb_stats_drop_locked
connect con1,localhost,root,,;
-connection con1;
+SET innodb_lock_wait_timeout=1;
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';
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
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
+ `c` int(11) DEFAULT NULL,
+ KEY `c_key` (`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=1
DROP TABLE innodb_stats_drop_locked;
-SHOW TABLES;
-Tables_in_test
-connection default;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+DROP DATABASE unlocked;
+DROP DATABASE locked;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con1;
+connection default;
COMMIT;
+DROP DATABASE locked;
SELECT table_name FROM mysql.innodb_table_stats
WHERE table_name='innodb_stats_drop_locked';
table_name
@@ -48,5 +58,17 @@ innodb_stats_drop_locked
innodb_stats_drop_locked
innodb_stats_drop_locked
innodb_stats_drop_locked
-DELETE FROM mysql.innodb_index_stats WHERE database_name='test' AND table_name='innodb_stats_drop_locked';
-DELETE FROM mysql.innodb_table_stats WHERE database_name='test' AND table_name='innodb_stats_drop_locked';
+ALTER TABLE innodb_stats_drop_locked DROP INDEX c_key;
+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
+DROP TABLE innodb_stats_drop_locked;
+SELECT table_name FROM mysql.innodb_table_stats
+WHERE table_name='innodb_stats_drop_locked';
+table_name
+SELECT table_name FROM mysql.innodb_index_stats
+WHERE table_name='innodb_stats_drop_locked';
+table_name
diff --git a/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result b/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result
index a368f6271b9..1f8471304d5 100644
--- a/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result
+++ b/mysql-test/suite/innodb/r/innodb_stats_fetch_corrupted.result
@@ -1,5 +1,5 @@
-call mtr.add_suppression("InnoDB: Table `mysql`.`innodb_index_stats` not found");
-call mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table.*");
+call mtr.add_suppression("InnoDB: Column stat_value in table mysql\\.innodb_index_stats is BIGINT UNSIGNED but should be BIGINT UNSIGNED NOT NULL");
+call mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table");
CREATE TABLE test_ps_fetch_corrupted
(a INT, PRIMARY KEY (a))
ENGINE=INNODB STATS_PERSISTENT=1;
@@ -17,7 +17,21 @@ 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_;
+ALTER TABLE mysql.innodb_index_stats MODIFY stat_value BIGINT UNSIGNED NULL;
+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 MODIFY stat_value BIGINT UNSIGNED NOT NULL;
FLUSH TABLE test_ps_fetch_corrupted;
SELECT seq_in_index, column_name, cardinality
FROM information_schema.statistics WHERE table_name = 'test_ps_fetch_corrupted'
@@ -31,6 +45,5 @@ 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;
# restart
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
index 5614b4ba490..a966f629d7e 100644
--- 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
@@ -1,5 +1,6 @@
-CREATE TABLE stats_rename1 (a INT, PRIMARY KEY (a))
+CREATE TABLE stats_rename1 (a INT PRIMARY KEY, b INT UNIQUE)
ENGINE=INNODB STATS_PERSISTENT=1;
+BEGIN;
INSERT INTO mysql.innodb_table_stats
SELECT
database_name,
@@ -10,7 +11,7 @@ clustered_index_size,
sum_of_other_index_sizes
FROM mysql.innodb_table_stats
WHERE table_name = 'stats_rename1';
-INSERT INTO mysql.innodb_index_stats
+INSERT INTO mysql.innodb_index_stats
SELECT
database_name,
'stats_rename2' AS table_name,
@@ -22,6 +23,7 @@ sample_size,
stat_description
FROM mysql.innodb_index_stats
WHERE table_name = 'stats_rename1';
+COMMIT;
SELECT table_name, n_rows
FROM mysql.innodb_table_stats
WHERE table_name IN ('stats_rename1', 'stats_rename2');
@@ -44,6 +46,18 @@ table_name stats_rename1
index_name PRIMARY
stat_name size
stat_value 1
+table_name stats_rename1
+index_name b
+stat_name n_diff_pfx01
+stat_value 0
+table_name stats_rename1
+index_name b
+stat_name n_leaf_pages
+stat_value 1
+table_name stats_rename1
+index_name b
+stat_name size
+stat_value 1
table_name stats_rename2
index_name PRIMARY
stat_name n_diff_pfx01
@@ -56,7 +70,32 @@ table_name stats_rename2
index_name PRIMARY
stat_name size
stat_value 567
+table_name stats_rename2
+index_name b
+stat_name n_diff_pfx01
+stat_value 567
+table_name stats_rename2
+index_name b
+stat_name n_leaf_pages
+stat_value 567
+table_name stats_rename2
+index_name b
+stat_name size
+stat_value 567
RENAME TABLE stats_rename1 TO stats_rename2;
+ERROR 23000: Can't write; duplicate key in table 'mysql.innodb_table_stats'
+BEGIN;
+DELETE FROM mysql.innodb_table_stats WHERE table_name='stats_rename2';
+DELETE FROM mysql.innodb_index_stats WHERE table_name='stats_rename2';
+COMMIT;
+RENAME TABLE stats_rename1 TO stats_rename2;
+UPDATE mysql.innodb_index_stats SET index_name='c'
+WHERE table_name='stats_rename2' AND index_name='PRIMARY';
+ALTER TABLE stats_rename2 CHANGE b d INT, RENAME INDEX b TO c;
+ERROR 23000: Can't write; duplicate key in table 'mysql.innodb_index_stats'
+UPDATE mysql.innodb_index_stats SET index_name='PRIMARY'
+WHERE table_name='stats_rename2' AND index_name='c';
+ALTER TABLE stats_rename2 CHANGE b d INT, RENAME INDEX b TO c;
SELECT table_name, n_rows
FROM mysql.innodb_table_stats
WHERE table_name IN ('stats_rename1', 'stats_rename2');
@@ -77,4 +116,16 @@ table_name stats_rename2
index_name PRIMARY
stat_name size
stat_value 1
+table_name stats_rename2
+index_name c
+stat_name n_diff_pfx01
+stat_value 0
+table_name stats_rename2
+index_name c
+stat_name n_leaf_pages
+stat_value 1
+table_name stats_rename2
+index_name c
+stat_name size
+stat_value 1
DROP TABLE stats_rename2;
diff --git a/mysql-test/suite/innodb/r/innodb_status_variables.result b/mysql-test/suite/innodb/r/innodb_status_variables.result
index 0eda793621c..da5020bbe08 100644
--- a/mysql-test/suite/innodb/r/innodb_status_variables.result
+++ b/mysql-test/suite/innodb/r/innodb_status_variables.result
@@ -22,6 +22,7 @@ INNODB_BUFFER_POOL_PAGES_MISC
INNODB_BUFFER_POOL_PAGES_OLD
INNODB_BUFFER_POOL_PAGES_TOTAL
INNODB_BUFFER_POOL_PAGES_LRU_FLUSHED
+INNODB_BUFFER_POOL_PAGES_LRU_FREED
INNODB_BUFFER_POOL_READ_AHEAD_RND
INNODB_BUFFER_POOL_READ_AHEAD
INNODB_BUFFER_POOL_READ_AHEAD_EVICTED
diff --git a/mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result b/mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result
deleted file mode 100644
index 65d0a0bde43..00000000000
--- a/mysql-test/suite/innodb/r/innodb_sys_semaphore_waits.result
+++ /dev/null
@@ -1,27 +0,0 @@
-connect con1,localhost,root,,;
-connect con2,localhost,root,,;
-drop table if exists t1;
-connection con1;
-create table t1 (id integer, x integer) engine = InnoDB;
-insert into t1 values(0, 0);
-SET @saved_dbug = @@SESSION.debug_dbug;
-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;
-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;
-connection default;
-# 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 = @saved_dbug;
-drop table if exists t1;
-# Clean exit
diff --git a/mysql-test/suite/innodb/r/insert_into_empty.result b/mysql-test/suite/innodb/r/insert_into_empty.result
new file mode 100644
index 00000000000..b35b508fa7f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/insert_into_empty.result
@@ -0,0 +1,184 @@
+SET foreign_key_checks=0, unique_checks=0;
+#
+# MDEV-24715 Assertion !node->table->skip_alter_undo
+#
+CREATE TABLE t (a INT UNIQUE) ENGINE=InnoDB
+REPLACE SELECT 1 AS a, 2 AS b UNION SELECT 1 AS a, 3 AS c;
+SELECT * FROM t;
+a b
+1 3
+DROP TABLE t;
+CREATE TEMPORARY TABLE t (a INT UNIQUE) ENGINE=InnoDB
+REPLACE SELECT 1 AS a, 2 AS b UNION SELECT 1 AS a, 3 AS c;
+SELECT * FROM t;
+a b
+1 3
+DROP TEMPORARY TABLE t;
+#
+# MDEV-24720 AHI removal during bulk index rollback
+#
+SET @save_ahi = @@global.innodb_adaptive_hash_index;
+SET GLOBAL innodb_adaptive_hash_index = 1;
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 SELECT * FROM seq_1_to_65536;
+ROLLBACK;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+#
+# MDEV-24832 Root page AHI Removal fails fails during
+# bulk index rollback
+#
+BEGIN;
+INSERT INTO t1 SELECT * FROM seq_1_to_500;
+ROLLBACK;
+DROP TABLE t1;
+SET GLOBAL innodb_adaptive_hash_index = @save_ahi;
+#
+# MDEV-24951 Assertion m.first->second.valid(trx->undo_no) failed
+# in trx_undo_report_row_operation
+#
+CREATE TEMPORARY TABLE t (c INT) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2 (c INT) ENGINE=InnoDB;
+SET tx_read_only=1;
+BEGIN;
+INSERT INTO t2 VALUES(0);
+INSERT INTO t VALUES(0);
+COMMIT;
+INSERT INTO t VALUES(0);
+DROP TEMPORARY TABLE t,t2;
+ERROR 25006: Cannot execute statement in a READ ONLY transaction
+SET tx_read_only=0;
+DROP TEMPORARY TABLE t,t2;
+#
+# MDEV-24818 Optimize multiple INSERT into empty table
+#
+CREATE TABLE t1(f1 INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+INSERT INTO t1 VALUES (4),(5),(6);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+SELECT * FROM t1;
+f1
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+SAVEPOINT a;
+INSERT INTO t1 VALUES (4),(5),(6);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+ROLLBACK TO SAVEPOINT a;
+COMMIT;
+SELECT * FROM t1;
+f1
+5
+6
+7
+DROP TABLE t1;
+SET foreign_key_checks=1;
+CREATE TABLE t1(f1 INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+INSERT INTO t1 VALUES (4),(5),(6);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+COMMIT;
+SELECT * FROM t1;
+f1
+5
+6
+7
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+SAVEPOINT a;
+INSERT INTO t1 VALUES (4),(5),(6);
+ERROR 23000: Duplicate entry '5' for key 'PRIMARY'
+ROLLBACK TO SAVEPOINT a;
+COMMIT;
+SELECT * FROM t1;
+f1
+5
+6
+7
+DROP TABLE t1;
+SET foreign_key_checks=0;
+#
+# MDEV-25315 Crash in SHOW ENGINE INNODB STATUS
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+BEGIN;
+INSERT INTO t1 VALUES(1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+INSERT INTO t2 VALUES(0);
+INSERT INTO t1 VALUES(2), (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+SHOW ENGINE InnoDB STATUS;
+COMMIT;
+DROP TABLE t1,t2;
+#
+# MDEV-25297 Assertion: trx->roll_limit <= trx->undo_no
+# in ROLLBACK TO SAVEPOINT
+#
+CREATE TABLE t1 (c INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (c INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES(0);
+SAVEPOINT x;
+INSERT INTO t2 VALUES(0);
+INSERT INTO t1 VALUES(0);
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
+ROLLBACK TO SAVEPOINT x;
+ERROR HY000: Got error 153 "No savepoint with that name" during ROLLBACK
+COMMIT;
+SELECT * FROM t1;
+c
+SELECT * FROM t2;
+c
+DROP TABLE t1,t2;
+#
+# MDEV-25487 Assertion failed in lock_rec_move
+#
+CREATE TABLE t1 (a INT KEY) ENGINE=InnoDB;
+SET @save_limit = @@GLOBAL.innodb_limit_optimistic_insert_debug;
+SET GLOBAL innodb_limit_optimistic_insert_debug = 2;
+BEGIN;
+SELECT * FROM t1 LOCK IN SHARE MODE;
+a
+INSERT INTO t1 VALUES (0),(1),(2);
+INSERT INTO t1 VALUES (0,1);
+ERROR 21S01: Column count doesn't match value count at row 1
+INSERT INTO t1 VALUES (2);
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+COMMIT;
+SET GLOBAL innodb_limit_optimistic_insert_debug = @save_limit;
+SELECT * FROM t1;
+a
+0
+1
+2
+DROP TABLE t1;
+#
+# MDEV-25534 Assertion lock_table_has...LOCK_IX
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET autocommit=0;
+LOCK TABLE t1 WRITE;
+INSERT INTO t1 VALUES (1);
+COMMIT;
+CREATE TEMPORARY TABLE t0 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t0 VALUES (1);
+INSERT INTO t1 VALUES (2);
+COMMIT;
+SET autocommit=1;
+DROP TABLE t1;
+DROP TEMPORARY TABLE t0;
+#
+# MDEV-25496 Assertion 'trx->bulk_insert' failed
+# in trx_undo_report_row_operation on INSERT
+#
+CREATE TABLE t (i INT) ENGINE=InnoDB PARTITION BY HASH (i) PARTITIONS 2;
+INSERT INTO t VALUES (0);
+INSERT INTO t VALUES (1),(0),(1);
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/insert_into_empty_debug.result b/mysql-test/suite/innodb/r/insert_into_empty_debug.result
new file mode 100644
index 00000000000..6ee445eb218
--- /dev/null
+++ b/mysql-test/suite/innodb/r/insert_into_empty_debug.result
@@ -0,0 +1,32 @@
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
+PRIMARY KEY(f1))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 2), (2, 2);
+SET DEBUG_SYNC="innodb_rollback_inplace_alter_table SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 ADD UNIQUE KEY(f2);
+connect con1,localhost,root,,,;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+DELETE FROM t1;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection default;
+ERROR 23000: Duplicate entry '2' for key 'f2'
+connection con1;
+COMMIT;
+TRUNCATE TABLE t1;
+SET unique_checks=0, foreign_key_checks=0;
+BEGIN;
+INSERT INTO t1 VALUES(1, 2);
+ROLLBACK;
+connection default;
+SELECT * FROM t1;
+f1 f2
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` int(11) NOT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+disconnect con1;
+DROP TABLE t1;
+SET DEBUG_SYNC=RESET;
diff --git a/mysql-test/suite/innodb/r/instant_alter_charset.result b/mysql-test/suite/innodb/r/instant_alter_charset.result
index 6d29cffa5c9..7703b9c6b2a 100644
--- a/mysql-test/suite/innodb/r/instant_alter_charset.result
+++ b/mysql-test/suite/innodb/r/instant_alter_charset.result
@@ -2025,7 +2025,7 @@ ENGINE=InnoDB;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
+ `a` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
PRIMARY KEY (`a`(1))
) ENGINE=InnoDB DEFAULT CHARSET=latin1
ALTER TABLE t1 MODIFY a VARCHAR(2)
diff --git a/mysql-test/suite/innodb/r/instant_alter_crash.result b/mysql-test/suite/innodb/r/instant_alter_crash.result
index a2c388fa103..556e8d415f4 100644
--- a/mysql-test/suite/innodb/r/instant_alter_crash.result
+++ b/mysql-test/suite/innodb/r/instant_alter_crash.result
@@ -40,7 +40,6 @@ ALTER TABLE t2 DROP COLUMN c3, ADD COLUMN c5 TEXT DEFAULT 'naturam abhorrere';
connection default;
SET DEBUG_SYNC='now WAIT_FOR ddl';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
-SET debug_dbug='+d,dict_sys_mutex_avoid';
UPDATE t1 SET c2=c2+1;
# Kill the server
disconnect ddl;
@@ -69,7 +68,6 @@ ALTER TABLE t2 ADD COLUMN (c4 TEXT NOT NULL DEFAULT ' et malorum');
connection default;
SET DEBUG_SYNC='now WAIT_FOR ddl';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
-SET debug_dbug='+d,dict_sys_mutex_avoid';
DELETE FROM t1;
# Kill the server
disconnect ddl;
@@ -149,7 +147,6 @@ ALTER TABLE t3 ADD COLUMN c3 TEXT NOT NULL DEFAULT 'sic transit gloria mundi';
connection default;
SET DEBUG_SYNC='now WAIT_FOR ddl';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
-SET debug_dbug='+d,dict_sys_mutex_avoid';
INSERT INTO t1 VALUES(0,0);
# Kill the server
disconnect ddl;
diff --git a/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.rdiff b/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.rdiff
deleted file mode 100644
index 379514edad9..00000000000
--- a/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.rdiff
+++ /dev/null
@@ -1,6 +0,0 @@
-@@ -470,4 +470,4 @@
- FROM information_schema.global_status
- WHERE variable_name = 'innodb_instant_alter_column';
- instants
--33
-+32
diff --git a/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff b/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff
index eafa8e5725d..cff4ff18c70 100644
--- a/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff
+++ b/mysql-test/suite/innodb/r/instant_alter_debug,redundant.rdiff
@@ -1,4 +1,4 @@
-@@ -509,4 +509,4 @@
+@@ -527,4 +527,4 @@
FROM information_schema.global_status
WHERE variable_name = 'innodb_instant_alter_column';
instants
diff --git a/mysql-test/suite/innodb/r/instant_alter_debug.result b/mysql-test/suite/innodb/r/instant_alter_debug.result
index 82230573c44..5f74c234260 100644
--- a/mysql-test/suite/innodb/r/instant_alter_debug.result
+++ b/mysql-test/suite/innodb/r/instant_alter_debug.result
@@ -262,7 +262,6 @@ INSERT INTO t1 SET a=3;
ROLLBACK;
SET DEBUG_SYNC = 'now SIGNAL logged';
connection ddl;
-ERROR 22004: Invalid use of NULL value
disconnect ddl;
connection default;
SET DEBUG_SYNC = RESET;
diff --git a/mysql-test/suite/innodb/r/instant_alter_import.result b/mysql-test/suite/innodb/r/instant_alter_import.result
index fad2fd99685..5c6497b5939 100644
--- a/mysql-test/suite/innodb/r/instant_alter_import.result
+++ b/mysql-test/suite/innodb/r/instant_alter_import.result
@@ -1,3 +1,6 @@
+call mtr.add_suppression("Operating system error number .* in a file operation.");
+call mtr.add_suppression("The error means the system cannot find the path specified.");
+call mtr.add_suppression("File ./test/t1.ibd: 'delete' returned OS error");
set default_storage_engine=innodb;
#
# MDEV-18295 IMPORT TABLESPACE fails with instant-altered tables
diff --git a/mysql-test/suite/innodb/r/instant_alter_index_rename.result b/mysql-test/suite/innodb/r/instant_alter_index_rename.result
index 41dec275d90..c14043e0ad2 100644
--- a/mysql-test/suite/innodb/r/instant_alter_index_rename.result
+++ b/mysql-test/suite/innodb/r/instant_alter_index_rename.result
@@ -232,5 +232,17 @@ t1 ind3 n_diff_pfx01
t1 ind3 n_diff_pfx02
t1 ind3 n_leaf_pages
t1 ind3 size
+ALTER TABLE t1 DROP b, FORCE;
+SELECT table_name, index_name, stat_name FROM mysql.innodb_index_stats;
+table_name index_name stat_name
+t1 GEN_CLUST_INDEX n_diff_pfx01
+t1 GEN_CLUST_INDEX n_leaf_pages
+t1 GEN_CLUST_INDEX size
+t1 ind2 n_diff_pfx01
+t1 ind2 n_diff_pfx02
+t1 ind2 n_leaf_pages
+t1 ind2 size
UPDATE t1 SET a = 1 WHERE c = 'foo';
DROP TABLE t1;
+SELECT table_name, index_name, stat_name FROM mysql.innodb_index_stats;
+table_name index_name stat_name
diff --git a/mysql-test/suite/innodb/r/lock_insert_into_empty.result b/mysql-test/suite/innodb/r/lock_insert_into_empty.result
new file mode 100644
index 00000000000..c1dea2fc9af
--- /dev/null
+++ b/mysql-test/suite/innodb/r/lock_insert_into_empty.result
@@ -0,0 +1,57 @@
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0);
+BEGIN;
+DELETE FROM t1;
+INSERT INTO t2 VALUES(1),(1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+BEGIN;
+SELECT * FROM t2 LOCK IN SHARE MODE;
+a
+connect con1,localhost,root,,;
+SET innodb_lock_wait_timeout=0;
+INSERT INTO t2 VALUES(2);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+connection default;
+ROLLBACK;
+connection con1;
+INSERT INTO t2 VALUES(3);
+COMMIT;
+disconnect con1;
+connection default;
+SELECT * FROM t1;
+a
+SELECT * FROM t2;
+a
+3
+DROP TABLE t1, t2;
+#
+# MDEV-24700 Assertion "lock not found"==0 in lock_table_x_unlock()
+#
+SET FOREIGN_KEY_CHECKS=OFF;
+CREATE TABLE t1 (id INT PRIMARY KEY, f INT REFERENCES nonexistent(x))
+ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=ON;
+BEGIN;
+INSERT IGNORE INTO t1 VALUES (1,11);
+Warnings:
+Warning 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`f`) REFERENCES `nonexistent` (`x`))
+REPLACE INTO t1 VALUES (1,12);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`f`) REFERENCES `nonexistent` (`x`))
+COMMIT;
+DROP TABLE t1;
+#
+# MDEV-25942 Assertion failed in trx_t::drop_table()
+#
+CREATE TABLE t1 (k INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 SET k=1;
+START TRANSACTION;
+INSERT INTO t1 SET k=2;
+connect con1,localhost,root,,test;
+SET innodb_lock_wait_timeout=0;
+CREATE TABLE t2 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
+AS SELECT k FROM t1;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+disconnect con1;
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/log_file.result b/mysql-test/suite/innodb/r/log_file.result
index 591bd60c2ac..642ba41d97f 100644
--- a/mysql-test/suite/innodb/r/log_file.result
+++ b/mysql-test/suite/innodb/r/log_file.result
@@ -30,7 +30,7 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
-FOUND 1 /The innodb_system data file 'ibdata1' was not found but one of the other data files 'ibdata2' exists/ in mysqld.1.err
+FOUND 1 /The data file '.*ibdata1' was not found but one of the other data files '.*ibdata2' exists/ in mysqld.1.err
bak_ib_logfile0
bak_ibdata1
bak_ibdata2
diff --git a/mysql-test/suite/innodb/r/log_file_name.result b/mysql-test/suite/innodb/r/log_file_name.result
index 42b988ed3ca..766122959ab 100644
--- a/mysql-test/suite/innodb/r/log_file_name.result
+++ b/mysql-test/suite/innodb/r/log_file_name.result
@@ -1,6 +1,7 @@
SET GLOBAL innodb_file_per_table=ON;
FLUSH TABLES;
CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+# restart
CREATE TABLE t3(a INT PRIMARY KEY) ENGINE=InnoDB;
BEGIN;
INSERT INTO t3 VALUES (33101),(347);
@@ -31,7 +32,7 @@ WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
FOUND 1 /InnoDB: Ignoring data file '.*t[23].ibd' with space ID/ in mysqld.1.err
-FOUND 1 /InnoDB: Tablespace \d+ was not found at .*t1.ibd/ in mysqld.1.err
+NOT FOUND /InnoDB: Tablespace \d+ was not found at .*t1.ibd/ in mysqld.1.err
FOUND 1 /InnoDB: Tablespace \d+ was not found at .*t3.ibd/ in mysqld.1.err
FOUND 2 /InnoDB: Set innodb_force_recovery=1 to ignore this and to permanently lose all changes to the tablespace/ in mysqld.1.err
# Fault 4: Missing data file
@@ -54,7 +55,7 @@ WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
NOT FOUND /\[Note\] InnoDB: Cannot read first page of .*t2.ibd/ in mysqld.1.err
-FOUND 1 /\[ERROR\] InnoDB: Datafile .*t2.*\. Cannot determine the space ID from the first 64 pages/ in mysqld.1.err
+FOUND 1 /.*\[ERROR\] InnoDB: Cannot apply log to \[page id: space=[1-9][0-9]*, page number=3\] of corrupted file './test/t2\.ibd'/ in mysqld.1.err
# restart
SELECT * FROM t2;
a
@@ -71,7 +72,9 @@ t2
t3
DROP TABLE t2,t3;
CREATE TABLE t0(a INT PRIMARY KEY) ENGINE=InnoDB;
-ERROR HY000: Tablespace for table '`test`.`t0`' exists. Please DISCARD the tablespace before IMPORT
+ERROR HY000: Can't create table `test`.`t0` (errno: 184 "Tablespace already exists")
+CREATE TABLE t0(a INT PRIMARY KEY) ENGINE=InnoDB;
+ERROR HY000: Can't create table `test`.`t0` (errno: 184 "Tablespace already exists")
CREATE TABLE t0(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE t0;
CREATE TABLE u1(a INT PRIMARY KEY) ENGINE=InnoDB;
@@ -85,27 +88,6 @@ INSERT INTO u6 VALUES(2);
# Kill the server
# Fault 6: All-zero data file and innodb_force_recovery
# restart: --innodb-force-recovery=1
-SELECT * FROM INFORMATION_SCHEMA.ENGINES
-WHERE engine = 'innodb'
-AND support IN ('YES', 'DEFAULT', 'ENABLED');
-ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
-FOUND 1 /\[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
-FOUND 1 /\[ERROR\] InnoDB: Datafile .*u1.*\. Cannot determine the space ID from the first 64 pages/ in mysqld.1.err
-NOT FOUND /\[Note\] InnoDB: Cannot read first page of .*u2.ibd/ in mysqld.1.err
-# Fault 7: Missing or wrong data file and innodb_force_recovery
-# restart: --innodb-force-recovery=1
-SELECT * FROM INFORMATION_SCHEMA.ENGINES
-WHERE engine = 'innodb'
-AND support IN ('YES', 'DEFAULT', 'ENABLED');
-ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
-FOUND 1 /\[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
-FOUND 1 /InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace/ in mysqld.1.err
-FOUND 1 /\[ERROR\] InnoDB: Cannot replay rename of tablespace \d+ from '.*u4.ibd' to '.*u6.ibd' because the target file exists/ in mysqld.1.err
-# restart: --innodb-force-recovery=1
-FOUND 1 /\[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
-FOUND 1 /InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace/ in mysqld.1.err
-FOUND 1 /\[Warning\] InnoDB: Tablespace \d+ was not found at .*u[1-5].ibd, and innodb_force_recovery was set. All redo log for this tablespace will be ignored!/ in mysqld.1.err
-# restart
DROP TABLE u1,u2,u3,u6;
# List of files:
db.opt
diff --git a/mysql-test/suite/innodb/r/log_file_size.result b/mysql-test/suite/innodb/r/log_file_size.result
index 3929747525e..a0ab35d5c43 100644
--- a/mysql-test/suite/innodb/r/log_file_size.result
+++ b/mysql-test/suite/innodb/r/log_file_size.result
@@ -1,9 +1,9 @@
CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
-# restart: --innodb-thread-concurrency=1 --innodb-log-file-size=2m
+# restart: --innodb-log-file-size=2m
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
-# restart: --innodb-thread-concurrency=100 --innodb-log-file-size=20M
+# restart: --innodb-log-file-size=20M
BEGIN;
INSERT INTO t1 VALUES (42);
# restart: --innodb-log-file-size=12M
diff --git a/mysql-test/suite/innodb/r/monitor.result b/mysql-test/suite/innodb/r/monitor.result
index 7bdcf7acb45..2e5e5e2241a 100644
--- a/mysql-test/suite/innodb/r/monitor.result
+++ b/mysql-test/suite/innodb/r/monitor.result
@@ -3,8 +3,6 @@ select name, if(enabled,'enabled','disabled') status
from information_schema.innodb_metrics;
name status
metadata_table_handles_opened disabled
-metadata_table_handles_closed disabled
-metadata_table_reference_count disabled
lock_deadlocks disabled
lock_timeouts disabled
lock_rec_lock_waits disabled
@@ -77,11 +75,7 @@ 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_failure_count disabled
buffer_LRU_get_free_search disabled
buffer_LRU_search_scanned disabled
@@ -137,7 +131,6 @@ trx_nl_ro_commits disabled
trx_commits_insert_update disabled
trx_rollbacks disabled
trx_rollbacks_savepoint disabled
-trx_active_transactions disabled
trx_rseg_history_len disabled
trx_undo_slots_used disabled
trx_undo_slots_cached disabled
@@ -201,7 +194,6 @@ 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_log_flush_usec disabled
innodb_dict_lru_usec disabled
innodb_dict_lru_count_active disabled
@@ -209,15 +201,6 @@ innodb_dict_lru_count_idle 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_sx_spin_waits disabled
-innodb_rwlock_s_spin_rounds disabled
-innodb_rwlock_x_spin_rounds disabled
-innodb_rwlock_sx_spin_rounds disabled
-innodb_rwlock_s_os_waits disabled
-innodb_rwlock_x_os_waits disabled
-innodb_rwlock_sx_os_waits disabled
dml_reads disabled
dml_inserts disabled
dml_deletes disabled
@@ -227,7 +210,6 @@ 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
ddl_sort_file_alter_table disabled
@@ -272,15 +254,6 @@ 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_sx_spin_waits disabled
-innodb_rwlock_s_spin_rounds disabled
-innodb_rwlock_x_spin_rounds disabled
-innodb_rwlock_sx_spin_rounds disabled
-innodb_rwlock_s_os_waits disabled
-innodb_rwlock_x_os_waits disabled
-innodb_rwlock_sx_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="%%%%%%%%%%%%%%%%%%%%%%%%%%%";
@@ -395,27 +368,9 @@ select name, max_count, min_count, count,
max_count_reset, min_count_reset, count_reset,
if(enabled,'enabled','disabled') 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,
-if(enabled,'enabled','disabled') 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,
-if(enabled,'enabled','disabled') 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 1 NULL 1 1 NULL 1 enabled
-metadata_table_handles_closed 1 NULL 1 1 NULL 1 enabled
-metadata_table_reference_count 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,
@@ -425,8 +380,6 @@ 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 1 NULL 1 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
set global innodb_monitor_reset_all = module_metadata;
select name, max_count, min_count, count,
max_count_reset, min_count_reset, count_reset,
@@ -435,8 +388,6 @@ 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
set global innodb_monitor_enable = module_trx;
begin;
insert into monitor_test values(9);
@@ -448,10 +399,9 @@ select name, max_count, min_count, count,
max_count_reset, min_count_reset, count_reset,
if(enabled,'enabled','disabled') status
from information_schema.innodb_metrics
-where name like "trx_rollbacks" or name like "trx_active_transactions";
+where name='trx_rollbacks';
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);
@@ -462,7 +412,7 @@ if(enabled,'enabled','disabled') 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_reads 2 NULL 2 2 NULL 2 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
@@ -477,7 +427,7 @@ if(enabled,'enabled','disabled') 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_reads 4 NULL 4 4 NULL 4 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
@@ -492,7 +442,7 @@ if(enabled,'enabled','disabled') 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_reads 4 NULL 4 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
@@ -509,7 +459,7 @@ if(enabled,'enabled','disabled') 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_reads 6 NULL 6 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
@@ -524,7 +474,7 @@ if(enabled,'enabled','disabled') 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_reads 6 NULL 6 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
@@ -539,7 +489,7 @@ if(enabled,'enabled','disabled') 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_reads 6 NULL 6 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
@@ -628,7 +578,7 @@ set global innodb_monitor_reset_all = default;
# Bug#22576241 SETTING INNODB_MONITOR_ENABLE TO ALL DOES NOT ENABLE ALL
# MONITORS
#
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
SELECT NAME, COUNT > 0 FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME
LIKE 'buffer_page_written_index_leaf';
NAME COUNT > 0
diff --git a/mysql-test/suite/innodb/r/online_table_rebuild.result b/mysql-test/suite/innodb/r/online_table_rebuild.result
new file mode 100644
index 00000000000..0ba26fca1d9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/online_table_rebuild.result
@@ -0,0 +1,47 @@
+CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(200), f3 CHAR(200))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(3, "innodb", "alter log");
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 ADD PRIMARY KEY(f3(10)), ADD UNIQUE KEY(f2(10));
+CONNECT con1,localhost,root,,,;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+INSERT INTO t1 VALUES(1, repeat('b', 100), repeat('c', 100));
+INSERT INTO t1 VALUES(2, repeat('b', 100), repeat('a', 100));
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection default;
+ERROR 23000: Duplicate entry 'bbbbbbbbbb' for key 'f2'
+connection default;
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 ADD PRIMARY KEY(f1);
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+INSERT INTO t1 SELECT 10, repeat('a', 100), repeat('b', 100) FROM seq_1_to_4800;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection default;
+ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again
+DELETE FROM t1;
+INSERT INTO t1 VALUES(1, repeat('a', 100), repeat('b', 100));
+ALTER TABLE t1 ADD PRIMARY KEY(f1);
+set DEBUG_SYNC="innodb_inplace_alter_table_enter SIGNAL dml_start WAIT_FOR dml_commit";
+ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(f3(10));
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+INSERT INTO t1 VALUES(2, repeat('b', 100), repeat('c', 100));
+UPDATE t1 set f3=repeat('c', 100) where f1=1;
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+connection default;
+ERROR 23000: Duplicate entry 'cccccccccc' for key 'PRIMARY'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `f1` int(11) NOT NULL,
+ `f2` char(200) DEFAULT NULL,
+ `f3` char(200) DEFAULT NULL,
+ PRIMARY KEY (`f1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+DROP TABLE t1;
+disconnect con1;
+SET DEBUG_SYNC=reset;
diff --git a/mysql-test/suite/innodb/r/partition_locking.result b/mysql-test/suite/innodb/r/partition_locking.result
new file mode 100644
index 00000000000..56bfe388517
--- /dev/null
+++ b/mysql-test/suite/innodb/r/partition_locking.result
@@ -0,0 +1,461 @@
+set @start_read_only= @@global.read_only;
+set @start_autocommit= @@global.autocommit;
+set default_storage_engine= innodb;
+set @@global.autocommit= 0;
+CREATE USER test@localhost;
+grant CREATE, SELECT, UPDATE on *.* to test@localhost;
+CREATE USER test2@localhost;
+grant CREATE, SELECT, UPDATE on *.* to test2@localhost;
+CREATE TABLE t1 (
+a char(2) NOT NULL,
+b char(2) NOT NULL,
+c int(10) unsigned NOT NULL,
+d varchar(255) DEFAULT NULL,
+e varchar(1000) DEFAULT NULL,
+PRIMARY KEY (a, b, c),
+KEY (a),
+KEY (a, b)
+) charset latin1 PARTITION BY KEY (a) PARTITIONS 20;
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343')
+;
+CREATE TABLE t2 (a int, name VARCHAR(50), purchased DATE)
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (3),
+PARTITION p1 VALUES LESS THAN (7),
+PARTITION p2 VALUES LESS THAN (9),
+PARTITION p3 VALUES LESS THAN (11));
+INSERT INTO t2 VALUES
+(1, 'desk organiser', '2003-10-15'),
+(2, 'CD player', '1993-11-05'),
+(3, 'TV set', '1996-03-10'),
+(4, 'bookcase', '1982-01-10'),
+(5, 'exercise bike', '2004-05-09'),
+(6, 'sofa', '1987-06-05'),
+(7, 'popcorn maker', '2001-11-22'),
+(8, 'acquarium', '1992-08-04'),
+(9, 'study desk', '1984-09-16'),
+(10, 'lava lamp', '1998-12-25');
+CREATE TABLE t3 SELECT * FROM t1;
+ALTER TABLE t3 ADD PRIMARY KEY (d);
+ALTER TABLE t3 ADD KEY (a);
+ALTER TABLE t3 ADD KEY (a, b);
+ANALYZE TABLE t3;
+Table Op Msg_type Msg_text
+test.t3 analyze status Engine-independent statistics collected
+test.t3 analyze status OK
+########################################################################
+connect con1,localhost,test,,test;
+BEGIN;
+SELECT d,a,b,c FROM t1 partition (p0);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p1);
+d a b c
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t1 partition (p2);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p3);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p4);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p5);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p6);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p7);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p8);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p9);
+d a b c
+2 01 04 343
+3 01 06 343
+4 01 07 343
+5 01 08 343
+6 01 09 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+SELECT d,a,b,c FROM t1 partition (p10);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p11);
+d a b c
+13 11 03 343
+14 11 04 343
+SELECT d,a,b,c FROM t1 partition (p12);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p13);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p14);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p15);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p16);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p17);
+d a b c
+1 07 03 343
+SELECT d,a,b,c FROM t1 partition (p18);
+d a b c
+SELECT d,a,b,c FROM t1 partition (p19);
+d a b c
+SELECT * FROM t1 WHERE a='01' FOR UPDATE ;
+a b c d e
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+SELECT * FROM t3 FORCE INDEX(a) WHERE a='01' FOR UPDATE ;
+a b c d e
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+connect con2,localhost,test,,test;
+BEGIN;
+SET SESSION innodb_lock_wait_timeout=1;
+#
+# SHARE ...
+SELECT * FROM t1 LOCK IN SHARE MODE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 LOCK IN SHARE MODE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+a b c d e
+07 03 343 1 07_03_343
+04 03 343 10 04_03_343
+04 06 343 11 04_06_343
+05 03 343 12 05_03_343
+11 03 343 13 11_03_343
+11 04 343 14 11_04_343
+03 03 343 7 03_03_343
+03 06 343 8 03_06_343
+03 07 343 9 03_07_343
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a LOCK IN SHARE MODE SKIP LOCKED;
+a count(b)
+01 5
+03 3
+04 2
+05 1
+07 1
+11 2
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+LOCK IN SHARE MODE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+ANALYZE TABLE t3;
+Table Op Msg_type Msg_text
+test.t3 analyze status Engine-independent statistics collected
+test.t3 analyze status OK
+SELECT d,a,b,c FROM t3 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+explain SELECT d,a,b,c FROM t3 ORDER BY d
+LOCK IN SHARE MODE SKIP LOCKED;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 index NULL PRIMARY 257 NULL 14
+#
+# UPDATE ...
+SELECT * FROM t1 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 ORDER BY a FOR UPDATE SKIP LOCKED;
+a b c d e
+03 03 343 7 03_03_343
+03 06 343 8 03_06_343
+03 07 343 9 03_07_343
+04 03 343 10 04_03_343
+04 06 343 11 04_06_343
+05 03 343 12 05_03_343
+07 03 343 1 07_03_343
+11 03 343 13 11_03_343
+11 04 343 14 11_04_343
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a FOR UPDATE SKIP LOCKED;
+a count(b)
+03 3
+04 2
+05 1
+07 1
+11 2
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+FOR UPDATE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t1 ORDER BY d FOR UPDATE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t3 ORDER BY d FOR UPDATE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+connection con1;
+COMMIT;
+connection con1;
+BEGIN;
+SELECT * FROM t1 WHERE a='01' LOCK IN SHARE MODE ;
+a b c d e
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+SELECT * FROM t3 FORCE INDEX(a) WHERE a='01' LOCK IN SHARE MODE ;
+a b c d e
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+connection con2;
+BEGIN;
+SET SESSION innodb_lock_wait_timeout=1;
+#
+# SHARE ...
+SELECT * FROM t1 LOCK IN SHARE MODE;
+a b c d e
+03 03 343 7 03_03_343
+03 06 343 8 03_06_343
+03 07 343 9 03_07_343
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+04 03 343 10 04_03_343
+04 06 343 11 04_06_343
+05 03 343 12 05_03_343
+11 03 343 13 11_03_343
+11 04 343 14 11_04_343
+07 03 343 1 07_03_343
+SELECT * FROM t1 LOCK IN SHARE MODE NOWAIT;
+a b c d e
+03 03 343 7 03_03_343
+03 06 343 8 03_06_343
+03 07 343 9 03_07_343
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+04 03 343 10 04_03_343
+04 06 343 11 04_06_343
+05 03 343 12 05_03_343
+11 03 343 13 11_03_343
+11 04 343 14 11_04_343
+07 03 343 1 07_03_343
+SELECT * FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+a b c d e
+07 03 343 1 07_03_343
+04 03 343 10 04_03_343
+04 06 343 11 04_06_343
+05 03 343 12 05_03_343
+11 03 343 13 11_03_343
+11 04 343 14 11_04_343
+01 04 343 2 01_04_343
+01 06 343 3 01_06_343
+01 07 343 4 01_07_343
+01 08 343 5 01_08_343
+01 09 343 6 01_09_343
+03 03 343 7 03_03_343
+03 06 343 8 03_06_343
+03 07 343 9 03_07_343
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a LOCK IN SHARE MODE SKIP LOCKED;
+a count(b)
+01 5
+03 3
+04 2
+05 1
+07 1
+11 2
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+LOCK IN SHARE MODE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+2 01 04 343
+3 01 06 343
+4 01 07 343
+5 01 08 343
+6 01 09 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+2 01 04 343
+3 01 06 343
+4 01 07 343
+5 01 08 343
+6 01 09 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+ANALYZE TABLE t3;
+Table Op Msg_type Msg_text
+test.t3 analyze status Engine-independent statistics collected
+test.t3 analyze status OK
+SELECT d,a,b,c FROM t3 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+2 01 04 343
+3 01 06 343
+4 01 07 343
+5 01 08 343
+6 01 09 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+explain SELECT d,a,b,c FROM t3 ORDER BY d
+LOCK IN SHARE MODE SKIP LOCKED;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t3 index NULL PRIMARY 257 NULL 14
+#
+# UPDATE ...
+SELECT * FROM t1 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 ORDER BY a FOR UPDATE SKIP LOCKED;
+a b c d e
+03 03 343 7 03_03_343
+03 06 343 8 03_06_343
+03 07 343 9 03_07_343
+04 03 343 10 04_03_343
+04 06 343 11 04_06_343
+05 03 343 12 05_03_343
+07 03 343 1 07_03_343
+11 03 343 13 11_03_343
+11 04 343 14 11_04_343
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a FOR UPDATE SKIP LOCKED;
+a count(b)
+03 3
+04 2
+05 1
+07 1
+11 2
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+FOR UPDATE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t1 ORDER BY d FOR UPDATE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+SELECT d,a,b,c FROM t3 ORDER BY d FOR UPDATE SKIP LOCKED;
+d a b c
+1 07 03 343
+10 04 03 343
+11 04 06 343
+12 05 03 343
+13 11 03 343
+14 11 04 343
+7 03 03 343
+8 03 06 343
+9 03 07 343
+connection default;
+disconnect con1;
+disconnect con2;
+DROP TABLE t1, t2, t3;
+DROP USER test@localhost;
+DROP USER test2@localhost;
+set @@global.read_only= @start_read_only;
+set @@global.autocommit= @start_autocommit;
+set default_storage_engine= default;
diff --git a/mysql-test/suite/innodb/r/read_only_recover_committed.result b/mysql-test/suite/innodb/r/read_only_recover_committed.result
index f0579a98024..0cdf4ec1118 100644
--- a/mysql-test/suite/innodb/r/read_only_recover_committed.result
+++ b/mysql-test/suite/innodb/r/read_only_recover_committed.result
@@ -19,7 +19,8 @@ SET DEBUG_SYNC='now WAIT_FOR committed';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
BEGIN;
INSERT INTO t VALUES(-10000);
-ROLLBACK;
+DELETE FROM t WHERE a=-10000;
+COMMIT;
# restart: --innodb-force-recovery=3
disconnect con1;
disconnect con2;
diff --git a/mysql-test/suite/innodb/r/read_only_recovery.result b/mysql-test/suite/innodb/r/read_only_recovery.result
index e83bf66432e..2db12863246 100644
--- a/mysql-test/suite/innodb/r/read_only_recovery.result
+++ b/mysql-test/suite/innodb/r/read_only_recovery.result
@@ -13,7 +13,8 @@ FLUSH TABLES;
SET GLOBAL innodb_flush_log_at_trx_commit=1;
BEGIN;
INSERT INTO t VALUES(0);
-ROLLBACK;
+DELETE FROM t WHERE a=0;
+COMMIT;
# restart: --innodb-force-recovery=3
disconnect con1;
SELECT * FROM t;
@@ -40,4 +41,3 @@ SELECT * FROM t;
a
3
DROP TABLE t;
-FOUND 1 /Rolled back recovered transaction [^0]/ in mysqld.1.err
diff --git a/mysql-test/suite/innodb/r/rename_table.result b/mysql-test/suite/innodb/r/rename_table.result
index 23bb8c52d4a..8c3722c7940 100644
--- a/mysql-test/suite/innodb/r/rename_table.result
+++ b/mysql-test/suite/innodb/r/rename_table.result
@@ -1,9 +1,10 @@
+call mtr.add_suppression("InnoDB: In RENAME TABLE table `test`.`t4` is referenced in foreign key constraints which are not compatible with the new table definition.");
CREATE DATABASE test_jfg;
CREATE DATABASE test_jfg2;
CREATE TABLE test_jfg.test (a int unsigned PRIMARY KEY) ENGINE=InnoDB;
RENAME TABLE test_jfg.test TO test_jfg2.test;
-SELECT REPLACE(path,'\\','/') path
-FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%';
+SELECT REPLACE(filename,'\\','/') path
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE filename LIKE '%test%';
path
./test_jfg2/test.ibd
DROP DATABASE test_jfg;
@@ -13,8 +14,8 @@ CREATE DATABASE abc_def;
CREATE DATABASE abc_def2;
CREATE TABLE abc_def.test (a int unsigned PRIMARY KEY) ENGINE=InnoDB;
RENAME TABLE abc_def.test TO abc_def2.test1;
-SELECT REPLACE(path,'\\','/') path
-FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%';
+SELECT REPLACE(filename,'\\','/') path
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE filename LIKE '%test%';
path
./abc_def2/test1.ibd
DROP DATABASE abc_def;
@@ -26,3 +27,16 @@ RENAME TABLE t1 TO non_existing_db.t1;
ERROR HY000: Error on rename of './test/t1' to './non_existing_db/t1' (errno: 168 "Unknown (generic) error from engine")
FOUND 1 /\[ERROR\] InnoDB: Cannot rename file '.*t1\.ibd' to '.*non_existing_db/ in mysqld.1.err
DROP TABLE t1;
+#
+# MDEV-25509 Atomic DDL: Assertion `err != DB_DUPLICATE_KEY'
+# fails after previous error upon multi-RENAME
+#
+SET FOREIGN_KEY_CHECKS= OFF;
+CREATE TABLE t1 (pk INT PRIMARY KEY, f INT, FOREIGN KEY (f) REFERENCES t4 (x)) ENGINE=InnoDB;
+ALTER TABLE t1 DROP KEY f;
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+RENAME TABLE t1 TO t3, t3 TO t4;
+ERROR HY000: Error on rename of './test/t3' to './test/t4' (errno: 150 "Foreign key constraint is incorrectly formed")
+RENAME TABLE t2 TO t3;
+DROP TABLE t3, t1;
+SET FOREIGN_KEY_CHECKS=DEFAULT;
diff --git a/mysql-test/suite/innodb/r/rename_table_debug.result b/mysql-test/suite/innodb/r/rename_table_debug.result
deleted file mode 100644
index d13fc84aa43..00000000000
--- a/mysql-test/suite/innodb/r/rename_table_debug.result
+++ /dev/null
@@ -1,14 +0,0 @@
-FLUSH TABLES;
-CREATE TABLE t1 (a SERIAL, b INT, c INT, d INT) ENGINE=InnoDB;
-INSERT INTO t1 () VALUES ();
-connect con1,localhost,root,,test;
-SET DEBUG_SYNC='before_rename_table_commit SIGNAL renamed WAIT_FOR ever';
-RENAME TABLE t1 TO t2;
-connection default;
-SET DEBUG_SYNC='now WAIT_FOR renamed';
-# restart
-disconnect con1;
-SELECT * FROM t1;
-a b c d
-1 NULL NULL NULL
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/restart.result b/mysql-test/suite/innodb/r/restart.result
index 2c786572cd8..aba08a9ae99 100644
--- a/mysql-test/suite/innodb/r/restart.result
+++ b/mysql-test/suite/innodb/r/restart.result
@@ -7,8 +7,7 @@
call mtr.add_suppression("\\[ERROR\\] InnoDB: Tablespace flags are invalid in datafile: .*test.t[rcd]\\.ibd");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number .* in a file operation\\.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: The error means the system cannot find the path specified\\.");
-call mtr.add_suppression("\\[ERROR\\] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them\\.");
-call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace for `test`\\.`td` because it could not be opened\\.");
+call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace for test/td because it could not be opened\\.");
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;
diff --git a/mysql-test/suite/innodb/r/row_format_redundant.result b/mysql-test/suite/innodb/r/row_format_redundant.result
index 0eede61b175..b798832e96f 100644
--- a/mysql-test/suite/innodb/r/row_format_redundant.result
+++ b/mysql-test/suite/innodb/r/row_format_redundant.result
@@ -1,3 +1,4 @@
+SET GLOBAL innodb_fast_shutdown=0;
# restart: --innodb-data-home-dir=MYSQLTEST_VARDIR/tmp/row_format_redundant --innodb-log-group-home-dir=MYSQLTEST_VARDIR/tmp/row_format_redundant --innodb-data-file-path=ibdata1:1M:autoextend --innodb-undo-tablespaces=0 --innodb-stats-persistent=0
SET GLOBAL innodb_file_per_table=1;
#
@@ -8,25 +9,17 @@ SET GLOBAL innodb_file_per_table=ON;
create table t1 (a int not null, d varchar(15) not null, b
varchar(198) not null, c char(156)) 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;
+create temporary table t like t1;
+insert into t values(123, 'abcdef', 'jghikl', 'mnop');
+insert into t values(456, 'abcdef', 'jghikl', 'mnop');
+insert into t values(789, 'abcdef', 'jghikl', 'mnop');
+insert into t values(134, 'kasdfsdsadf', 'adfjlasdkfjasd', 'adfsadflkasdasdfljasdf');
+insert into t1 select a,d,b,c from t, seq_1_to_1024;
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;
+insert into t2 select a,d,b,c from t, seq_1_to_1024;
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;
@@ -75,7 +68,7 @@ DROP TABLE t1;
Warnings:
Warning 1932 Table 'test.t1' doesn't exist in engine
DROP TABLE t2,t3;
-FOUND 5 /\[ERROR\] InnoDB: Table `test`\.`t1` in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=1 SYS_TABLES\.MIX_LEN=511\b/ in mysqld.1.err
+FOUND 6 /\[ERROR\] InnoDB: Table test/t1 in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=1 SYS_TABLES\.MIX_LEN=511\b/ in mysqld.1.err
# restart
ib_buffer_pool
ib_logfile0
diff --git a/mysql-test/suite/innodb/r/skip_locked_nowait.result b/mysql-test/suite/innodb/r/skip_locked_nowait.result
new file mode 100644
index 00000000000..5ff7ef4478a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/skip_locked_nowait.result
@@ -0,0 +1,205 @@
+connect con1,localhost,root,,;
+SET SESSION innodb_lock_wait_timeout=1;
+connection default;
+SET SESSION innodb_lock_wait_timeout=1;
+# Case 1: Test primary index
+CREATE TABLE t1(
+seat_id INT,
+state INT,
+PRIMARY KEY(seat_id)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,0), (2,0), (3,0), (4,0);
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+seat_id state
+1 0
+2 0
+connection con1;
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+seat_id state
+1 0
+2 0
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE SKIP LOCKED;
+seat_id state
+1 0
+2 0
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+seat_id state
+3 0
+4 0
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+seat_id state
+3 0
+4 0
+COMMIT;
+connection default;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE;
+seat_id state
+1 0
+2 0
+connection con1;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE SKIP LOCKED;
+seat_id state
+3 0
+4 0
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+seat_id state
+3 0
+4 0
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+seat_id state
+3 0
+4 0
+COMMIT;
+connection default;
+COMMIT;
+DROP TABLE t1;
+# Case 2: Test primary index & secondary index
+CREATE TABLE t1(
+seat_id INT,
+row_id INT,
+state INT,
+PRIMARY KEY(seat_id),
+KEY(row_id)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,1,0), (2,1,0), (3,2,0), (4,2,0);
+# Test secondary key
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE NOWAIT;
+seat_id row_id state
+1 1 0
+connection con1;
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE SKIP LOCKED;
+seat_id row_id state
+2 1 0
+SELECT * FROM t1 WHERE state = 0 AND row_id > 0 LIMIT 1 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 AND row_id > 0 LIMIT 1 FOR UPDATE SKIP LOCKED;
+seat_id row_id state
+2 1 0
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE SKIP LOCKED;
+seat_id row_id state
+2 1 0
+3 2 0
+4 2 0
+COMMIT;
+connection default;
+COMMIT;
+BEGIN;
+SELECT * FROM t1 WHERE seat_id = 1 FOR UPDATE NOWAIT;
+seat_id row_id state
+1 1 0
+connection con1;
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE SKIP LOCKED;
+seat_id row_id state
+2 1 0
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE SKIP LOCKED;
+seat_id row_id state
+2 1 0
+3 2 0
+4 2 0
+COMMIT;
+connection default;
+COMMIT;
+DROP TABLE t1;
+# Case 3: Test primary index & spatial index
+CREATE TABLE t1(
+seat_id INT,
+pos POINT NOT NULL,
+state INT,
+PRIMARY KEY(seat_id),
+SPATIAL KEY(pos)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES
+(1,ST_PointFromText('POINT(1 0)'),0),
+(2,ST_PointFromText('POINT(1 1)'),0),
+(3,ST_PointFromText('POINT(2 0)'),0),
+(4,ST_PointFromText('POINT(2 1)'),0),
+(5,ST_PointFromText('POINT(3 0)'),0),
+(6,ST_PointFromText('POINT(3 1)'),0);
+BEGIN;
+SET @g = ST_GeomFromText('POLYGON((0 0,0 2,2 2,0 2,0 0))');
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE NOWAIT;
+seat_id state ST_AsText(pos)
+2 0 POINT(1 1)
+connection con1;
+BEGIN;
+SET @g = ST_GeomFromText('POLYGON((0 0,0 4,4 4,0 4,0 0))');
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE SKIP LOCKED;
+seat_id state ST_AsText(pos)
+5 0 POINT(3 0)
+6 0 POINT(3 1)
+COMMIT;
+connection default;
+COMMIT;
+connection con1;
+SET @g = ST_GeomFromText('POLYGON((0 0,0 3,3 3,0 3,0 0))');
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE;
+seat_id state ST_AsText(pos)
+4 0 POINT(2 1)
+2 0 POINT(1 1)
+connection default;
+BEGIN;
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE seat_id = 4 FOR UPDATE NOWAIT;
+seat_id state ST_AsText(pos)
+4 0 POINT(2 1)
+connection con1;
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE SKIP LOCKED;
+seat_id state ST_AsText(pos)
+2 0 POINT(1 1)
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE NOWAIT;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE SKIP LOCKED;
+seat_id state ST_AsText(pos)
+1 0 POINT(1 0)
+2 0 POINT(1 1)
+3 0 POINT(2 0)
+5 0 POINT(3 0)
+6 0 POINT(3 1)
+connection default;
+COMMIT;
+DROP TABLE t1;
+disconnect con1;
diff --git a/mysql-test/suite/innodb/r/sp_temp_table.result b/mysql-test/suite/innodb/r/sp_temp_table.result
index 49a2a4aa831..0361e8b8171 100644
--- a/mysql-test/suite/innodb/r/sp_temp_table.result
+++ b/mysql-test/suite/innodb/r/sp_temp_table.result
@@ -2,7 +2,7 @@
# Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE
# CALLED FROM A FUNCTION
#
-call mtr.add_suppression("MySQL is trying to drop table");
+call mtr.add_suppression("MariaDB is trying to drop table");
CREATE PROCEDURE cachedata(
IN obj_id BIGINT UNSIGNED,
IN start DATETIME,
diff --git a/mysql-test/suite/innodb/r/stat_tables.result b/mysql-test/suite/innodb/r/stat_tables.result
index bb449570479..c1ce6fc8fce 100644
--- a/mysql-test/suite/innodb/r/stat_tables.result
+++ b/mysql-test/suite/innodb/r/stat_tables.result
@@ -13,3 +13,17 @@ a
drop table t1;
rename table mysql.table_stats_save to mysql.table_stats;
flush tables;
+#
+# MDEV-26753 Assertion state == TRX_STATE_PREPARED ||... failed
+#
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+XA START 'test';
+SELECT COUNT(*)>0 FROM mysql.innodb_index_stats LOCK IN SHARE MODE;
+COUNT(*)>0
+1
+INSERT INTO t1 VALUES (1),(2);
+UPDATE mysql.innodb_table_stats SET last_update=NULL WHERE table_name='t1';
+XA END 'test';
+XA ROLLBACK 'test';
+DROP TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/table_definition_cache_debug.result b/mysql-test/suite/innodb/r/table_definition_cache_debug.result
index df171c89cd4..6bd754aaca3 100644
--- a/mysql-test/suite/innodb/r/table_definition_cache_debug.result
+++ b/mysql-test/suite/innodb/r/table_definition_cache_debug.result
@@ -12,6 +12,7 @@ connection default;
SET DEBUG_SYNC = 'now WAIT_FOR scanned';
BEGIN;
INSERT INTO to_be_evicted VALUES(3, 2);
+COMMIT;
SET DEBUG_SYNC = 'now SIGNAL got_duplicate';
connection ddl;
ERROR 23000: Duplicate entry '2' for key 'b'
diff --git a/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
deleted file mode 100644
index 7e851cf5634..00000000000
--- a/mysql-test/suite/innodb/r/table_flags,32k,debug.rdiff
+++ /dev/null
@@ -1,132 +0,0 @@
---- suite/innodb/r/table_flags.result
-+++ suite/innodb/r/table_flags,32k,debug.reject
-@@ -5,96 +5,98 @@
- SET innodb_strict_mode=OFF;
- 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=DYNAMIC.
- SET innodb_strict_mode=ON;
- 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=10; LEVEL=0; INDEX_ID=0x0000000000000001
--header=0x01000003016e (NAME=0x696e66696d756d00)
--header=0x00002815008d (NAME='SYS_DATAFILES',
-+header=0x0100000301bf (NAME=0x696e66696d756d00)
-+header=0x0000301500de (NAME='SYS_DATAFILES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- 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=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000b,
-+ 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=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000c,
-+ ID=0x000000000000000d,
- N_COLS=0x00000004,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x0400201501b8 (NAME='SYS_TABLESPACES',
-+header=0x040028150209 (NAME='SYS_TABLESPACES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000d,
-+ ID=0x000000000000000e,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x000030150244 (NAME='SYS_VIRTUAL',
-+header=0x000038150251 (NAME='SYS_VIRTUAL',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000f,
-+ ID=0x0000000000000010,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x000040150288 (NAME='test/tc',
-+header=0x000040150295 (NAME='test/tc',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000011,
-+ ID=0x0000000000000012,
- N_COLS=0x80000001,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000002)
--header=0x000048150310 (NAME='test/td',
-+header=0x00004815031d (NAME='test/td',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000012,
-+ ID=0x0000000000000013,
- N_COLS=0x80000001,
- TYPE=0x00000021,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000003)
--header=0x000058150200 (NAME='test/tp',
-+header=0x00005815008d (NAME='test/tp',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000014,
-+ ID=0x0000000000000015,
- N_COLS=0x80000001,
- TYPE=0x000009a1,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000005)
--header=0x0000381502cc (NAME='test/tr',
-+header=0x0000101502d9 (NAME='test/tr',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000010,
-+ ID=0x0000000000000011,
- N_COLS=0x00000001,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
-@@ -104,9 +106,9 @@
- header=0x000050150074 (NAME='test/tz',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000013,
-+ ID=0x0000000000000014,
- 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,release.rdiff b/mysql-test/suite/innodb/r/table_flags,32k.rdiff
index ce1ff623d50..8079d58bc43 100644
--- a/mysql-test/suite/innodb/r/table_flags,32k,release.rdiff
+++ b/mysql-test/suite/innodb/r/table_flags,32k.rdiff
@@ -1,6 +1,6 @@
--- suite/innodb/r/table_flags.result
-+++ suite/innodb/r/table_flags,32k.reject
-@@ -5,6 +5,8 @@
++++ suite/innodb/r/table_flags.reject
+@@ -6,6 +6,8 @@
SET innodb_strict_mode=OFF;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
@@ -9,9 +9,9 @@
SET innodb_strict_mode=ON;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
-@@ -103,7 +105,7 @@
+@@ -87,7 +89,7 @@
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000013,
+ ID=0x0000000000000011,
N_COLS=0x80000001,
- TYPE=0x00000023,
+ TYPE=0x00000021,
diff --git a/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
deleted file mode 100644
index da52f17fa68..00000000000
--- a/mysql-test/suite/innodb/r/table_flags,64k,debug.rdiff
+++ /dev/null
@@ -1,132 +0,0 @@
---- suite/innodb/r/table_flags.result
-+++ suite/innodb/r/table_flags,64k,debug.reject
-@@ -5,96 +5,98 @@
- SET innodb_strict_mode=OFF;
- 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=DYNAMIC.
- SET innodb_strict_mode=ON;
- 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=10; LEVEL=0; INDEX_ID=0x0000000000000001
--header=0x01000003016e (NAME=0x696e66696d756d00)
--header=0x00002815008d (NAME='SYS_DATAFILES',
-+header=0x0100000301bf (NAME=0x696e66696d756d00)
-+header=0x0000301500de (NAME='SYS_DATAFILES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- 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=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000b,
-+ 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=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000c,
-+ ID=0x000000000000000d,
- N_COLS=0x00000004,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x0400201501b8 (NAME='SYS_TABLESPACES',
-+header=0x040028150209 (NAME='SYS_TABLESPACES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000d,
-+ ID=0x000000000000000e,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x000030150244 (NAME='SYS_VIRTUAL',
-+header=0x000038150251 (NAME='SYS_VIRTUAL',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000f,
-+ ID=0x0000000000000010,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x000040150288 (NAME='test/tc',
-+header=0x000040150295 (NAME='test/tc',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000011,
-+ ID=0x0000000000000012,
- N_COLS=0x80000001,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000002)
--header=0x000048150310 (NAME='test/td',
-+header=0x00004815031d (NAME='test/td',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000012,
-+ ID=0x0000000000000013,
- N_COLS=0x80000001,
- TYPE=0x00000021,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000003)
--header=0x000058150200 (NAME='test/tp',
-+header=0x00005815008d (NAME='test/tp',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000014,
-+ ID=0x0000000000000015,
- N_COLS=0x80000001,
- TYPE=0x000009a1,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000005)
--header=0x0000381502cc (NAME='test/tr',
-+header=0x0000101502d9 (NAME='test/tr',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000010,
-+ ID=0x0000000000000011,
- N_COLS=0x00000001,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
-@@ -104,9 +106,9 @@
- header=0x000050150074 (NAME='test/tz',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000013,
-+ ID=0x0000000000000014,
- 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,release.rdiff b/mysql-test/suite/innodb/r/table_flags,64k.rdiff
index f2ba1280be3..8079d58bc43 100644
--- a/mysql-test/suite/innodb/r/table_flags,64k,release.rdiff
+++ b/mysql-test/suite/innodb/r/table_flags,64k.rdiff
@@ -1,6 +1,6 @@
--- suite/innodb/r/table_flags.result
-+++ suite/innodb/r/table_flags,64k.reject
-@@ -5,6 +5,8 @@
++++ suite/innodb/r/table_flags.reject
+@@ -6,6 +6,8 @@
SET innodb_strict_mode=OFF;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
@@ -9,9 +9,9 @@
SET innodb_strict_mode=ON;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
-@@ -103,7 +105,7 @@
+@@ -87,7 +89,7 @@
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000013,
+ ID=0x0000000000000011,
N_COLS=0x80000001,
- TYPE=0x00000023,
+ TYPE=0x00000021,
diff --git a/mysql-test/suite/innodb/r/table_flags,debug.rdiff b/mysql-test/suite/innodb/r/table_flags,debug.rdiff
deleted file mode 100644
index 16f748468dd..00000000000
--- a/mysql-test/suite/innodb/r/table_flags,debug.rdiff
+++ /dev/null
@@ -1,122 +0,0 @@
---- suite/innodb/r/table_flags.result
-+++ suite/innodb/r/table_flags,debug.reject
-@@ -10,91 +10,91 @@
- PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
- SYS_TABLES clustered index root page (8):
- N_RECS=10; LEVEL=0; INDEX_ID=0x0000000000000001
--header=0x01000003016e (NAME=0x696e66696d756d00)
--header=0x00002815008d (NAME='SYS_DATAFILES',
-+header=0x0100000301bf (NAME=0x696e66696d756d00)
-+header=0x0000301500de (NAME='SYS_DATAFILES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- 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=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000b,
-+ 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=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000c,
-+ ID=0x000000000000000d,
- N_COLS=0x00000004,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x0400201501b8 (NAME='SYS_TABLESPACES',
-+header=0x040028150209 (NAME='SYS_TABLESPACES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000d,
-+ ID=0x000000000000000e,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x000030150244 (NAME='SYS_VIRTUAL',
-+header=0x000038150251 (NAME='SYS_VIRTUAL',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x000000000000000f,
-+ ID=0x0000000000000010,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
--header=0x000040150288 (NAME='test/tc',
-+header=0x000040150295 (NAME='test/tc',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000011,
-+ ID=0x0000000000000012,
- N_COLS=0x80000001,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000002)
--header=0x000048150310 (NAME='test/td',
-+header=0x00004815031d (NAME='test/td',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000012,
-+ ID=0x0000000000000013,
- N_COLS=0x80000001,
- TYPE=0x00000021,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000003)
--header=0x000058150200 (NAME='test/tp',
-+header=0x00005815008d (NAME='test/tp',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000014,
-+ ID=0x0000000000000015,
- N_COLS=0x80000001,
- TYPE=0x000009a1,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000050,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000005)
--header=0x0000381502cc (NAME='test/tr',
-+header=0x0000101502d9 (NAME='test/tr',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000010,
-+ ID=0x0000000000000011,
- N_COLS=0x00000001,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
-@@ -104,7 +104,7 @@
- header=0x000050150074 (NAME='test/tz',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
-- ID=0x0000000000000013,
-+ ID=0x0000000000000014,
- 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
index 347ba5ef52c..ce71d9b022d 100644
--- a/mysql-test/suite/innodb/r/table_flags.result
+++ b/mysql-test/suite/innodb/r/table_flags.result
@@ -10,18 +10,8 @@ SET innodb_strict_mode=ON;
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=10; LEVEL=0; INDEX_ID=0x0000000000000001
-header=0x01000003016e (NAME=0x696e66696d756d00)
-header=0x00002815008d (NAME='SYS_DATAFILES',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
- ID=0x000000000000000e,
- N_COLS=0x00000002,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
+N_RECS=8; LEVEL=0; INDEX_ID=0x0000000000000001
+header=0x01000003008d (NAME=0x696e66696d756d00)
header=0x0000101500d5 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
@@ -42,7 +32,7 @@ header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x0400201501b8 (NAME='SYS_TABLESPACES',
+header=0x0000201501ae (NAME='SYS_VIRTUAL',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
ID=0x000000000000000d,
@@ -52,67 +42,57 @@ header=0x0400201501b8 (NAME='SYS_TABLESPACES',
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
-header=0x000030150244 (NAME='SYS_VIRTUAL',
+header=0x0400301501f2 (NAME='test/tc',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
ID=0x000000000000000f,
- N_COLS=0x00000003,
- TYPE=0x00000001,
- MIX_ID=0x0000000000000000,
- MIX_LEN=0x00000040,
- CLUSTER_NAME=NULL(0 bytes),
- SPACE=0x00000000)
-header=0x000040150288 (NAME='test/tc',
- DB_TRX_ID=0x000000000000,
- DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000002)
-header=0x000048150310 (NAME='test/td',
+header=0x00003815027a (NAME='test/td',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000012,
+ ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000003)
-header=0x000058150200 (NAME='test/tp',
+header=0x00004815016a (NAME='test/tp',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000014,
+ ID=0x0000000000000012,
N_COLS=0x80000001,
TYPE=0x000009a1,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000005)
-header=0x0000381502cc (NAME='test/tr',
+header=0x000028150236 (NAME='test/tr',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000010,
+ ID=0x000000000000000e,
N_COLS=0x00000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000001)
-header=0x000050150074 (NAME='test/tz',
+header=0x000040150074 (NAME='test/tz',
DB_TRX_ID=0x000000000000,
DB_ROLL_PTR=0x80000000000000,
- ID=0x0000000000000013,
+ ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000023,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000004)
-header=0x070008030000 (NAME=0x73757072656d756d00)
+header=0x050008030000 (NAME=0x73757072656d756d00)
# restart: with restart_parameters
SHOW CREATE TABLE tr;
ERROR 42S02: Table 'test.tr' doesn't exist in engine
@@ -142,8 +122,8 @@ a
42
SHOW CREATE TABLE tp;
ERROR 42S02: Table 'test.tp' doesn't exist in engine
-FOUND 5 /InnoDB: Table `test`.`t[cp]` in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=(129|289|3873|1232[13]) SYS_TABLES\.N_COLS=2147483649/ in mysqld.1.err
-FOUND 2 /InnoDB: Table `test`\.`tr` in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=65 SYS_TABLES\.MIX_LEN=4294967295\b/ in mysqld.1.err
+FOUND 5 /InnoDB: Table test/t[cp] in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=(129|289|3873|1232[13]) SYS_TABLES\.N_COLS=2147483649/ in mysqld.1.err
+FOUND 2 /InnoDB: Table test/tr in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=65 SYS_TABLES\.MIX_LEN=4294967295\b/ in mysqld.1.err
Restoring SYS_TABLES clustered index root page (8)
# restart: with restart_parameters
SHOW CREATE TABLE tr;
diff --git a/mysql-test/suite/innodb/r/temp_table.result b/mysql-test/suite/innodb/r/temp_table.result
index e90da0d5e77..dea47787a52 100644
--- a/mysql-test/suite/innodb/r/temp_table.result
+++ b/mysql-test/suite/innodb/r/temp_table.result
@@ -199,7 +199,7 @@ create temporary table t1
(keyc int, c1 char(100), c2 char(100),
primary key(keyc), index sec_index(c1)
) engine = innodb key_block_size = 4;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
create temporary table t1
(keyc int, c1 char(100), c2 char(100),
primary key(keyc), index sec_index(c1)
diff --git a/mysql-test/suite/innodb/r/temporary_table.result b/mysql-test/suite/innodb/r/temporary_table.result
index 7e470c34c32..3168c357bde 100644
--- a/mysql-test/suite/innodb/r/temporary_table.result
+++ b/mysql-test/suite/innodb/r/temporary_table.result
@@ -165,11 +165,11 @@ ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
create temporary table t (
i int)
engine = innodb row_format = compressed;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
create temporary table t (
i int)
engine = innodb row_format = compressed key_block_size = 8;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
create temporary table t (
i int)
engine = innodb row_format = dynamic;
@@ -202,7 +202,7 @@ drop table t;
create temporary table t (
i int)
engine = innodb row_format = compressed;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
#files in MYSQL_TMP_DIR, expecting only default temporary tablespace file
ibtmp1
create temporary table t (
@@ -474,19 +474,19 @@ CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
) ENGINE = InnoDB KEY_BLOCK_SIZE = 4;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
) ENGINE = InnoDB KEY_BLOCK_SIZE = 4, ROW_FORMAT = COMPACT;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
@@ -506,37 +506,37 @@ CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
) ENGINE = InnoDB KEY_BLOCK_SIZE = 4;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
) ENGINE = InnoDB ROW_FORMAT = COMPRESSED;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
) ENGINE = InnoDB ROW_FORMAT = COMPRESSED KEY_BLOCK_SIZE = 8;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
) ENGINE = InnoDB ROW_FORMAT = COMPRESSED KEY_BLOCK_SIZE = 7;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
@@ -556,22 +556,22 @@ CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY
) ENGINE = InnoDB ROW_FORMAT = REDUNDANT;
ALTER TABLE t1 ROW_FORMAT = COMPRESSED;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
ALTER TABLE t1 KEY_BLOCK_SIZE = 4;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
ALTER TABLE t1 ROW_FORMAT = DYNAMIC KEY_BLOCK_SIZE = 4;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
ALTER TABLE t1 ROW_FORMAT = DYNAMIC;
set innodb_strict_mode = OFF;
@@ -614,10 +614,10 @@ Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED is ignored for TEMPORARY TABLE.
Warning 1478 InnoDB: assuming ROW_FORMAT=DYNAMIC.
set innodb_strict_mode = ON;
ALTER TABLE t1 ADD COLUMN j INT;
-ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
SHOW WARNINGS;
Level Code Message
-Error 4047 CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+Error 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
SHOW CREATE TABLE t1;
Table Create Table
diff --git a/mysql-test/suite/innodb/r/temporary_table_optimization.result b/mysql-test/suite/innodb/r/temporary_table_optimization.result
index 3459dbb7837..c678fd56880 100644
--- a/mysql-test/suite/innodb/r/temporary_table_optimization.result
+++ b/mysql-test/suite/innodb/r/temporary_table_optimization.result
@@ -244,23 +244,14 @@ index sk (b(3021))
drop table t;
CREATE TABLE t1 ( i INT ) ENGINE = Innodb;
CREATE TEMPORARY TABLE t2 ( i INT ) ENGINE = Innodb;
-SELECT COUNT(*) FROM information_schema.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%t_';
-COUNT(*)
-0
SELECT COUNT(*) FROM information_schema.INNODB_SYS_TABLES WHERE NAME LIKE '%test%t_';
COUNT(*)
1
CREATE TEMPORARY table t3 ( i INT ) ENGINE = Innodb;
-SELECT COUNT(*) FROM information_schema.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%t_';
-COUNT(*)
-0
SELECT COUNT(*) FROM information_schema.INNODB_SYS_TABLES WHERE NAME LIKE '%test%t_';
COUNT(*)
1
DROP TABLE t1,t2,t3;
-SELECT COUNT(*) FROM information_schema.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%t_';
-COUNT(*)
-0
SELECT COUNT(*) FROM information_schema.INNODB_SYS_TABLES WHERE NAME LIKE '%test%t_';
COUNT(*)
0
diff --git a/mysql-test/suite/innodb/r/truncate.result b/mysql-test/suite/innodb/r/truncate.result
index 180414f47c7..ae1ca0f474d 100644
--- a/mysql-test/suite/innodb/r/truncate.result
+++ b/mysql-test/suite/innodb/r/truncate.result
@@ -25,7 +25,7 @@ call mtr.add_suppression("InnoDB: (Operating system )?[Ee]rror number");
call mtr.add_suppression("InnoDB: Cannot create file '.*t1\\.ibd");
FLUSH TABLES;
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-ERROR HY000: Tablespace for table '`test`.`t1`' exists. Please DISCARD the tablespace before IMPORT
+ERROR 42S01: Table '`test`.`t1`' already exists
SELECT * FROM t1;
a
1
@@ -50,3 +50,13 @@ Warnings:
Warning 1814 Tablespace has been discarded for table `u`
TRUNCATE u;
DROP TABLE u;
+#
+# Test for a regression found during MDEV-25506 rewrite of DROP
+#
+CREATE TEMPORARY TABLE t1 (a INT) ENGINE=InnoDB;
+LOCK TABLE t1 READ;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+UNLOCK TABLES;
+DROP TEMPORARY TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/truncate_foreign.result b/mysql-test/suite/innodb/r/truncate_foreign.result
index 12a41860708..3154674aabf 100644
--- a/mysql-test/suite/innodb/r/truncate_foreign.result
+++ b/mysql-test/suite/innodb/r/truncate_foreign.result
@@ -43,16 +43,19 @@ SET DEBUG_SYNC='foreign_constraint_check_for_ins SIGNAL fk WAIT_FOR go';
INSERT INTO child SET a=5;
connection default;
SET DEBUG_SYNC='now WAIT_FOR fk';
-SET foreign_key_checks=0;
+SET foreign_key_checks=0, innodb_lock_wait_timeout=0;
TRUNCATE TABLE parent;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SET DEBUG_SYNC='now SIGNAL go';
connection dml;
-ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`a`) REFERENCES `parent` (`a`) ON UPDATE CASCADE)
SELECT * FROM parent;
a
+3
+5
SELECT * FROM child;
a
3
+5
disconnect dml;
connection default;
SET DEBUG_SYNC = RESET;
@@ -68,3 +71,21 @@ TRUNCATE TABLE t1;
ALTER TABLE t1 ADD c INT;
UNLOCK TABLES;
DROP TABLE t1;
+#
+# MDEV-26052 Assertion prebuilt->trx_id < table->def_trx_id failed
+#
+call mtr.add_suppression("InnoDB: In ALTER TABLE `test`\\.`t1` has or is");
+CREATE TABLE t1 (pk INT, a INT, PRIMARY KEY (pk), KEY (a)) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=0;
+ALTER TABLE t1 ADD FOREIGN KEY (a) REFERENCES t1 (a), ALGORITHM=COPY;
+INSERT INTO t1 VALUES (1,1);
+LOCK TABLES t1 WRITE;
+TRUNCATE t1;
+ERROR HY000: Cannot add foreign key constraint for `t1`
+INSERT INTO t1 VALUES (2,2);
+SELECT * FROM t1;
+pk a
+1 1
+2 2
+DROP TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/innodb/r/truncate_missing.result b/mysql-test/suite/innodb/r/truncate_missing.result
index 938bd5f2213..1cc654f0d7e 100644
--- a/mysql-test/suite/innodb/r/truncate_missing.result
+++ b/mysql-test/suite/innodb/r/truncate_missing.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Operating system error number ");
call mtr.add_suppression("InnoDB: (The error means|If you are|Cannot open datafile) ");
-call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\.`t`");
+call mtr.add_suppression("InnoDB: Ignoring tablespace for test/t ");
call mtr.add_suppression("InnoDB: Table test/t .* does not exist");
CREATE TABLE t (a SERIAL) ENGINE=InnoDB;
INSERT INTO t() VALUES();
diff --git a/mysql-test/suite/innodb/r/update_time.result b/mysql-test/suite/innodb/r/update_time.result
index 534914e0216..a9c432ce6a8 100644
--- a/mysql-test/suite/innodb/r/update_time.result
+++ b/mysql-test/suite/innodb/r/update_time.result
@@ -2,7 +2,7 @@
# Test that INFORMATION_SCHEMA.TABLES.UPDATE_TIME is filled
# correctly for InnoDB tables.
#
-CREATE TABLE t (a INT) ENGINE=INNODB;
+CREATE TABLE t (a INT) ENGINE=INNODB STATS_PERSISTENT=0;
SELECT update_time FROM information_schema.tables WHERE table_name = 't';
update_time
NULL
diff --git a/mysql-test/suite/innodb/r/xa_recovery.result b/mysql-test/suite/innodb/r/xa_recovery.result
index ed9f19b7eb3..f61e29be20e 100644
--- a/mysql-test/suite/innodb/r/xa_recovery.result
+++ b/mysql-test/suite/innodb/r/xa_recovery.result
@@ -18,8 +18,9 @@ disconnect con2;
connect con1,localhost,root;
SELECT * FROM t1 LOCK IN SHARE MODE;
connection default;
+SET innodb_lock_wait_timeout=1;
DROP TABLE t2;
-# restart
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con1;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM t1;
@@ -30,6 +31,9 @@ SELECT * FROM t1;
a
1
DROP TABLE t1;
+DROP TABLE t2;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+XA ROLLBACK 'y';
+DROP TABLE t2;
SET GLOBAL innodb_fast_shutdown=0;
# restart
-XA ROLLBACK 'y';
diff --git a/mysql-test/suite/innodb/t/alter_algorithm.combinations b/mysql-test/suite/innodb/t/alter_algorithm.combinations
index 197748d168e..af644d65ec5 100644
--- a/mysql-test/suite/innodb/t/alter_algorithm.combinations
+++ b/mysql-test/suite/innodb/t/alter_algorithm.combinations
@@ -1,11 +1,15 @@
[COPY]
--alter_algorithm=copy
+--skip-innodb-read-only-compressed
[INPLACE]
--alter_algorithm=inplace
+--skip-innodb-read-only-compressed
[NOCOPY]
--alter_algorithm=nocopy
+--skip-innodb-read-only-compressed
[INSTANT]
--alter_algorithm=instant
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/innodb/t/alter_candidate_key.test b/mysql-test/suite/innodb/t/alter_candidate_key.test
index 7c8f5e30993..824ad1ea799 100644
--- a/mysql-test/suite/innodb/t/alter_candidate_key.test
+++ b/mysql-test/suite/innodb/t/alter_candidate_key.test
@@ -50,7 +50,7 @@ connection con1;
SET DEBUG_SYNC='now WAIT_FOR dml';
BEGIN;
INSERT INTO t1 SET a=NULL;
-ROLLBACK;
+COMMIT;
set DEBUG_SYNC='now SIGNAL dml_done';
connection default;
--error ER_INVALID_USE_OF_NULL
diff --git a/mysql-test/suite/innodb/t/alter_copy.test b/mysql-test/suite/innodb/t/alter_copy.test
index de2f99b68d4..6b6a0151de4 100644
--- a/mysql-test/suite/innodb/t/alter_copy.test
+++ b/mysql-test/suite/innodb/t/alter_copy.test
@@ -63,7 +63,7 @@ let $shutdown_timeout=0;
disconnect hang;
let $shutdown_timeout=;
let $datadir=`select @@datadir`;
---replace_regex /#sql-alter-[0-9a-f_\-]*/#sql-alter/ /FTS_[0-9a-f]*_[0-9a-f]*/FTS/
+--replace_regex /FTS_[0-9a-f]*_[0-9a-f]*/FTS/
--list_files $datadir/test
SHOW CREATE TABLE t;
SELECT COUNT(*) FROM t;
@@ -76,7 +76,7 @@ CHECK TABLE t1;
--let $restart_parameters= --innodb-read-only
--source include/restart_mysqld.inc
---replace_regex /#sql-alter-[0-9a-f_\-]*/#sql-alter/ /FTS_[0-9a-f]*_[0-9a-f]*/FTS/
+--replace_regex /FTS_[0-9a-f]*_[0-9a-f]*/FTS/
--list_files $datadir/test
SHOW CREATE TABLE t;
@@ -90,9 +90,6 @@ CHECK TABLE t1;
--let $restart_parameters=
--source include/restart_mysqld.inc
---replace_regex /#sql-alter-[0-9a-f_\-]*/#sql-alter/ /FTS_[0-9a-f]*_[0-9a-f]*/FTS/
+--replace_regex /FTS_[0-9a-f]*_[0-9a-f]*/FTS/
--list_files $datadir/test
DROP TABLE t1,t;
-
-# Work around missing crash recovery at the SQL layer.
---remove_files_wildcard $datadir/test #sql-*.frm
diff --git a/mysql-test/suite/innodb/t/alter_crash.test b/mysql-test/suite/innodb/t/alter_crash.test
index 72116b0ca9d..e0e294ae4f0 100644
--- a/mysql-test/suite/innodb/t/alter_crash.test
+++ b/mysql-test/suite/innodb/t/alter_crash.test
@@ -4,6 +4,7 @@
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/have_debug.inc
+--source include/have_debug_sync.inc
--source include/not_crashrep.inc
--disable_query_log
@@ -74,19 +75,6 @@ let $orig_table_id = `SELECT table_id
--error 2013
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
-let TABLENAME_INC= $MYSQLTEST_VARDIR/tmp/tablename.inc;
-perl;
-die unless open OUT, ">$ENV{TABLENAME_INC}";
-chdir "$ENV{'datadir'}/test";
-my @frm_file = map { substr($_, 0, -4) } glob "#sql-*.frm";
-print OUT 'let $tablename=', $frm_file[0], ';';
-close OUT or die;
-EOF
-source $TABLENAME_INC;
-remove_file $TABLENAME_INC;
-
-move_file $datadir/test/$tablename.frm $datadir/test/t1.frm;
-
--echo # Restart mysqld after the crash and reconnect.
--source include/start_mysqld.inc
@@ -127,8 +115,6 @@ let $orig_table_id = `SELECT table_id
--error 2013
ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
-remove_files_wildcard $datadir/test #sql-*.frm;
-
--echo # Startup the server after the crash
--source include/start_mysqld.inc
@@ -169,18 +155,6 @@ let $orig_table_id = `select table_id from
--error 2013
ALTER TABLE t1 ADD INDEX (b), CHANGE c d int, ALGORITHM=INPLACE;
-perl;
-die unless open OUT, ">$ENV{TABLENAME_INC}";
-chdir "$ENV{'datadir'}/test";
-my @frm_file = map { substr($_, 0, -4) } glob "#sql-*.frm";
-print OUT 'let $tablename=', $frm_file[0], ';';
-close OUT or die;
-EOF
-source $TABLENAME_INC;
-remove_file $TABLENAME_INC;
-
-move_file $datadir/test/$tablename.frm $datadir/test/t1.frm;
-
--echo # Restart mysqld after the crash and reconnect.
--source include/start_mysqld.inc
@@ -188,7 +162,6 @@ move_file $datadir/test/$tablename.frm $datadir/test/t1.frm;
eval SELECT * FROM information_schema.innodb_sys_tables
WHERE table_id = $orig_table_id;
---echo # Files in datadir after manual recovery.
--list_files $MYSQLD_DATADIR/test
SHOW TABLES;
@@ -223,3 +196,34 @@ disconnect con1;
DROP TABLE t1;
SET DEBUG_SYNC = 'RESET';
SET SQL_MODE=DEFAULT;
+
+--echo #
+--echo # MDEV-26936 Recovery crash on rolling back DELETE FROM SYS_INDEXES
+--echo #
+
+CREATE TABLE t1(a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1,1);
+
+connect ddl, localhost, root;
+SET DEBUG_SYNC = 'row_merge_after_scan SIGNAL scanned WAIT_FOR commit';
+SET DEBUG_SYNC = 'before_commit_rollback_inplace SIGNAL c WAIT_FOR ever';
+send ALTER TABLE t1 ADD UNIQUE INDEX(b), ALGORITHM=INPLACE;
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR scanned';
+BEGIN;
+INSERT INTO t1 VALUES(2,1);
+COMMIT;
+SET DEBUG_SYNC = 'now SIGNAL commit';
+SET DEBUG_SYNC = 'now WAIT_FOR c';
+# Make all pending changes durable for recovery.
+SET GLOBAL innodb_fil_make_page_dirty_debug=0;
+
+--source include/kill_mysqld.inc
+disconnect ddl;
+--source include/start_mysqld.inc
+
+CHECK TABLE t1;
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/alter_crash_rebuild.test b/mysql-test/suite/innodb/t/alter_crash_rebuild.test
new file mode 100644
index 00000000000..0ed3e4a1f9c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_crash_rebuild.test
@@ -0,0 +1,24 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+CREATE TABLE t1 (a INT NOT NULL) ENGINE=InnoDB STATS_PERSISTENT=0;
+
+connect ddl,localhost,root;
+SET DEBUG_SYNC='after_trx_committed_in_memory SIGNAL stuck WAIT_FOR ever';
+send ALTER TABLE t1 ADD PRIMARY KEY(a);
+
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR stuck';
+
+SET GLOBAL innodb_log_checkpoint_now=ON;
+
+--let $shutdown_timeout=0
+--source include/restart_mysqld.inc
+
+disconnect ddl;
+
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+DROP TABLE t1;
+--source include/wait_all_purged.inc
diff --git a/mysql-test/suite/innodb/t/alter_dml_apply.opt b/mysql-test/suite/innodb/t/alter_dml_apply.opt
new file mode 100644
index 00000000000..fa3418284bf
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_dml_apply.opt
@@ -0,0 +1,2 @@
+--innodb_online_alter_log_max_size=64k
+--innodb_sort_buffer_size=64k
diff --git a/mysql-test/suite/innodb/t/alter_dml_apply.test b/mysql-test/suite/innodb/t/alter_dml_apply.test
new file mode 100644
index 00000000000..4d6fd418691
--- /dev/null
+++ b/mysql-test/suite/innodb/t/alter_dml_apply.test
@@ -0,0 +1,58 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_sequence.inc
+
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
+ f3 CHAR(200), f4 CHAR(200),
+ PRIMARY KEY(f1))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(6000, 6000, "InnoDB", "MariaDB");
+
+# InnoDB DML thread applies the online log, aborts other online index
+
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+SEND ALTER TABLE t1 ADD UNIQUE KEY(f2), ADD UNIQUE INDEX(f4(10));
+
+# InnoDB DML thread applies insert log
+
+connect(con1,localhost,root,,,);
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+# Rollback should avoid online index
+BEGIN;
+DELETE FROM t1 WHERE f1= 6000;
+INSERT INTO t1 VALUES(6000, 6000, "InnoDB", "MariaDB");
+ROLLBACK;
+
+# Insert log will fetch the previous version in this case
+BEGIN;
+DELETE FROM t1 WHERE f1= 6000;
+INSERT INTO t1 VALUES(6000, 6000, "InnoDB", "MariaDB");
+INSERT INTO t1 SELECT seq, seq, repeat('a', 200), repeat('b', 200) FROM seq_1_to_4000;
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+
+# DML Thread applies update log
+
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+SEND ALTER TABLE t1 ADD UNIQUE KEY(f2), ADD INDEX(f3(10));
+
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+DELETE FROM t1;
+INSERT INTO t1 SELECT seq, seq, repeat('d', 200), repeat('e', 200) FROM
+seq_1_to_4000;
+UPDATE t1 SET f3=repeat('c', 200), f4= repeat('d', 200), f2=3;
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+disconnect con1;
+CHECK TABLE t1;
+DROP TABLE t1;
+SET DEBUG_SYNC=reset;
diff --git a/mysql-test/suite/innodb/t/alter_foreign_crash.test b/mysql-test/suite/innodb/t/alter_foreign_crash.test
index 1952a1b30d4..b65dfa175c2 100644
--- a/mysql-test/suite/innodb/t/alter_foreign_crash.test
+++ b/mysql-test/suite/innodb/t/alter_foreign_crash.test
@@ -2,6 +2,7 @@
--source include/have_debug_sync.inc
# The embedded server does not support restarting.
--source include/not_embedded.inc
+--source include/have_case_sensitive_file_system.inc
--echo #
--echo # Bug #20476395 DICT_LOAD_FOREIGNS() FAILED IN
@@ -10,6 +11,11 @@
call mtr.add_suppression("InnoDB: Failed to load table");
+CREATE DATABASE Bug;
+CREATE TABLE Bug.parent(a SERIAL) ENGINE=INNODB;
+CREATE TABLE Bug.child(a SERIAL, FOREIGN KEY f(a) REFERENCES Bug.parent(a))
+ENGINE=INNODB;
+
create database bug;
use bug;
@@ -18,6 +24,7 @@ create table child(a serial, foreign key fk (a) references parent(a))engine=inno
insert into parent values(1);
insert into child values(1);
+drop database Bug;
connect (con1,localhost,root,,bug);
SET DEBUG_SYNC='innodb_rename_table_ready SIGNAL s1 WAIT_FOR s2 EXECUTE 2';
@@ -32,6 +39,9 @@ disconnect con1;
show tables;
alter table parent row_format=dynamic;
-
+select * from child;
+--error ER_ROW_IS_REFERENCED_2
+drop table parent;
+drop table child;
drop table parent;
drop database bug;
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
index c11da6e8cc5..6eb81210eb5 100644
--- a/mysql-test/suite/innodb/t/alter_key_block_size-11757.test
+++ b/mysql-test/suite/innodb/t/alter_key_block_size-11757.test
@@ -2,6 +2,10 @@
# MDEV-11757 KEY_BLOCK_SIZE strangeness when UNCOMPRESSing COMPRESSed InnoDB tables
#
source include/have_innodb.inc;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
create table t1 (
id1 bigint(20) not null,
@@ -17,6 +21,9 @@ SET innodb_strict_mode=OFF;
alter table t1 row_format=dynamic;
show create table t1;
SET innodb_strict_mode=ON;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
alter table t1 key_block_size=0;
show create table t1;
alter table t1 drop primary key, add primary key (id1),
diff --git a/mysql-test/suite/innodb/t/alter_kill.test b/mysql-test/suite/innodb/t/alter_kill.test
index 2313d63db69..a371a77971d 100644
--- a/mysql-test/suite/innodb/t/alter_kill.test
+++ b/mysql-test/suite/innodb/t/alter_kill.test
@@ -43,7 +43,7 @@ connection default;
disconnect con1;
--- echo # Corrupt FIL_PAGE_OFFSET in bug16720368.ibd,
+-- echo # Corrupt FIL_PAGE_TYPE in bug16720368.ibd,
-- echo # and recompute innodb_checksum_algorithm=crc32
perl;
do "$ENV{MTR_SUITE_DIR}/include/crc32.pl";
@@ -56,7 +56,7 @@ die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
my $full_crc32 = unpack("N",substr($page,54,4)) & 0x10; # FIL_SPACE_FLAGS
sysseek(FILE, 3*$ps, 0) || die "Unable to seek $file\n";
die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
-substr($page,4,4)=pack("N",0xc001cafe);
+substr($page,24,2)='42';
my $polynomial = 0x82f63b78; # CRC-32C
if ($full_crc32)
{
@@ -86,7 +86,7 @@ INSERT INTO bug16720368_1 VALUES(1);
-- echo # Shut down the server to uncorrupt the data.
-- source include/shutdown_mysqld.inc
-# Uncorrupt the FIL_PAGE_OFFSET.
+# Uncorrupt the FIL_PAGE_TYPE.
perl;
do "$ENV{MTR_SUITE_DIR}/include/crc32.pl";
my $file = "$ENV{MYSQLD_DATADIR}/test/bug16720368.ibd";
@@ -98,7 +98,7 @@ die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
my $full_crc32 = unpack("N",substr($page,54,4)) & 0x10; # FIL_SPACE_FLAGS
sysseek(FILE, 3*$ps, 0) || die "Unable to seek $file\n";
die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
-substr($page,4,4)=pack("N",3);
+substr($page,24,2)=pack("H*","45BF");
my $polynomial = 0x82f63b78; # CRC-32C
if ($full_crc32)
{
diff --git a/mysql-test/suite/innodb/t/alter_mdl_timeout.test b/mysql-test/suite/innodb/t/alter_mdl_timeout.test
index 15e7f524fd0..ff77921b2d2 100644
--- a/mysql-test/suite/innodb/t/alter_mdl_timeout.test
+++ b/mysql-test/suite/innodb/t/alter_mdl_timeout.test
@@ -14,7 +14,7 @@ begin;
INSERT INTO t1 VALUES('e','e',5, 5);
SET DEBUG_SYNC="now SIGNAL con1_insert";
SET DEBUG_SYNC="now WAIT_FOR con1_wait";
-SET DEBUG_SYNC="before_row_upd_sec_new_index_entry SIGNAL con1_update WAIT_FOR alter_rollback";
+SET DEBUG_SYNC="after_row_upd_clust SIGNAL con1_update WAIT_FOR alter_rollback";
SEND UPDATE t1 set f4 = 10 order by f1 desc limit 2;
connection default;
diff --git a/mysql-test/suite/innodb/t/alter_missing_tablespace.test b/mysql-test/suite/innodb/t/alter_missing_tablespace.test
index c1cfc0fa092..bf7111509bd 100644
--- a/mysql-test/suite/innodb/t/alter_missing_tablespace.test
+++ b/mysql-test/suite/innodb/t/alter_missing_tablespace.test
@@ -10,8 +10,7 @@
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: ");
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them");
-call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`.`\(t\|x\.\.d\)` because it could not be opened");
+call mtr.add_suppression("InnoDB: Ignoring tablespace for test/\(t\|x@002e@002ed\) because it could not be opened");
call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* because the .ibd file is missing");
call mtr.add_suppression("Could not find a valid tablespace file for");
call mtr.add_suppression("InnoDB: Failed to find tablespace for table `test`\.`\(t\|x\.\.d\)` in the cache");
diff --git a/mysql-test/suite/innodb/t/alter_not_null_debug.test b/mysql-test/suite/innodb/t/alter_not_null_debug.test
index 9c5ba0faff0..87113b2b3f8 100644
--- a/mysql-test/suite/innodb/t/alter_not_null_debug.test
+++ b/mysql-test/suite/innodb/t/alter_not_null_debug.test
@@ -7,7 +7,7 @@ let $sql_mode = `SELECT @@SQL_MODE`;
let $error_code = 0;
if ($sql_mode == "STRICT_TRANS_TABLES") {
- let $error_code = WARN_DATA_TRUNCATED;
+ let $error_code = ER_INVALID_USE_OF_NULL;
}
diff --git a/mysql-test/suite/innodb/t/alter_partitioned.test b/mysql-test/suite/innodb/t/alter_partitioned.test
index 8a74bc50ec9..8c6adbbb20f 100644
--- a/mysql-test/suite/innodb/t/alter_partitioned.test
+++ b/mysql-test/suite/innodb/t/alter_partitioned.test
@@ -31,6 +31,8 @@ SHOW CREATE TABLE t1;
--connection con1
COMMIT;
--connection default
+SET lock_wait_timeout=@save_timeout;
+SET innodb_lock_wait_timeout=@save_innodb_timeout;
ALTER TABLE t2 PARTITION BY HASH(pk);
# Cleanup
--disconnect con1
diff --git a/mysql-test/suite/innodb/t/alter_rename_existing.test b/mysql-test/suite/innodb/t/alter_rename_existing.test
index 06602ae8e74..556d8e660b4 100644
--- a/mysql-test/suite/innodb/t/alter_rename_existing.test
+++ b/mysql-test/suite/innodb/t/alter_rename_existing.test
@@ -88,6 +88,6 @@ SELECT * from t1;
DROP TABLE t1;
--disable_query_log
-call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot rename '.*' to '.*' because the target file exists. Remove the target file and try again");
+call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot rename '.*' to '.*' because the target file exists");
SET GLOBAL innodb_file_per_table = @old_innodb_file_per_table;
--enable_query_log
diff --git a/mysql-test/suite/innodb/t/autoinc_persist.test b/mysql-test/suite/innodb/t/autoinc_persist.test
index fd85b45fbfa..6e094b40e02 100644
--- a/mysql-test/suite/innodb/t/autoinc_persist.test
+++ b/mysql-test/suite/innodb/t/autoinc_persist.test
@@ -410,6 +410,17 @@ INSERT INTO mdev6076a SET b=NULL;
SELECT * FROM mdev6076a;
INSERT INTO mdev6076b SET b=NULL;
SELECT * FROM mdev6076b;
+# MDEV-515 resets the PAGE_ROOT_AUTOINC field in
+# root page during rollback.
+--disable_query_log
+BEGIN;
+let $i = 55;
+WHILE ($i) {
+ eval INSERT INTO mdev6076empty SET b=$i;
+ dec $i;
+}
+ROLLBACK;
+--enable_query_log
INSERT INTO mdev6076empty SET b=NULL;
SELECT * FROM mdev6076empty;
DROP TABLE mdev6076a, mdev6076b, mdev6076empty;
diff --git a/mysql-test/suite/innodb/t/binlog_consistent.test b/mysql-test/suite/innodb/t/binlog_consistent.test
index 2a735a30a0e..3b03d291708 100644
--- a/mysql-test/suite/innodb/t/binlog_consistent.test
+++ b/mysql-test/suite/innodb/t/binlog_consistent.test
@@ -16,7 +16,10 @@ connect(con4,localhost,root,,);
connection default;
CREATE TABLE t1 (a INT, b VARCHAR(100), PRIMARY KEY (a,b)) ENGINE=innodb;
-let pos=`select $binlog_start_pos + 254`;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(9, "");
+let pos=`select $binlog_start_pos + 431`;
--replace_result $pos <pos>
SHOW MASTER STATUS;
--replace_result $pos <pos>
@@ -53,10 +56,10 @@ COMMIT;
connection default;
SELECT * FROM t1 ORDER BY a,b;
-let pos=`select $binlog_start_pos + 788`;
+let pos=`select $binlog_start_pos + 974`;
--replace_result $pos <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
-let pos=`select $binlog_start_pos + 1164`;
+let pos=`select $binlog_start_pos + 1350`;
--replace_result $pos <pos>
SHOW MASTER STATUS;
SELECT * FROM t2 ORDER BY a;
@@ -74,7 +77,7 @@ FLUSH LOGS;
connection default;
SELECT * FROM t1 ORDER BY a,b;
-let pos=`select $binlog_start_pos + 788`;
+let pos=`select $binlog_start_pos + 974`;
--replace_result $pos <pos>
SHOW STATUS LIKE 'binlog_snapshot_%';
let pos=`select $binlog_start_pos + 131`;
diff --git a/mysql-test/suite/innodb/t/create_table_insert_skip_locked.test b/mysql-test/suite/innodb/t/create_table_insert_skip_locked.test
new file mode 100644
index 00000000000..e889883e9d7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/create_table_insert_skip_locked.test
@@ -0,0 +1,73 @@
+#
+# MDEV-13115 Implement SKIP LOCKED
+#
+--source include/have_innodb.inc
+
+
+connect (con1,localhost,root,,);
+SET SESSION innodb_lock_wait_timeout=1;
+
+connection default;
+SET SESSION innodb_lock_wait_timeout=1;
+
+--echo # Case 1: Test primary index - CREATE TABLE .. SELECT .. SKIP LOCKED
+CREATE TABLE t1(
+ seat_id INT,
+ state INT,
+ PRIMARY KEY(seat_id)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES(1,0), (2,0), (3,0), (4,0);
+
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+
+connection con1;
+BEGIN;
+CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+SELECT * FROM s0;
+
+CREATE TEMPORARY TABLE s1 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+SELECT * FROM s1;
+
+connection default;
+CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE SKIP LOCKED;
+SELECT * FROM s0;
+
+COMMIT;
+DROP TABLE s0;
+
+connection con1;
+COMMIT;
+DROP TABLE s0, s1;
+
+connection default;
+
+--echo # Case 2: Test primary index - INSERT .. SELECT .. SKIP LOCKED
+
+CREATE TABLE t2 LIKE t1;
+
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+
+connection con1;
+BEGIN;
+
+INSERT INTO t2 SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE RETURNING seat_id, state;
+
+CREATE TEMPORARY TABLE t2s LIKE t1;
+INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED RETURNING seat_id, state;
+
+connection default;
+CREATE TEMPORARY TABLE t2s LIKE t1;
+INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE SKIP LOCKED RETURNING seat_id, state;
+COMMIT;
+DROP TABLE t2s;
+
+connection con1;
+COMMIT;
+DROP TABLE t2s;
+DROP TABLE t2;
+
+connection default;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/data_types.test b/mysql-test/suite/innodb/t/data_types.test
index cfdd5201af2..2856650dad1 100644
--- a/mysql-test/suite/innodb/t/data_types.test
+++ b/mysql-test/suite/innodb/t/data_types.test
@@ -11,6 +11,8 @@
--source include/have_innodb.inc
+--enable_prepare_warnings
+
CREATE TABLE t1
(
t1_BIGINT BIGINT,
@@ -95,6 +97,8 @@ CREATE TABLE t1
t1_VARMYSQL_0 VARCHAR(0) CHARACTER SET utf8
) ENGINE=InnoDB;
+--disable_prepare_warnings
+
INSERT INTO t1 () VALUES ();
SELECT
diff --git a/mysql-test/suite/innodb/t/ddl_purge.test b/mysql-test/suite/innodb/t/ddl_purge.test
index e38b68c7bc9..8f84206c52a 100644
--- a/mysql-test/suite/innodb/t/ddl_purge.test
+++ b/mysql-test/suite/innodb/t/ddl_purge.test
@@ -4,6 +4,10 @@
CREATE TABLE t0 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t0 VALUES(100);
+
INSERT INTO t1 VALUES(100, 100);
--connect (con1,localhost,root,,test)
diff --git a/mysql-test/suite/innodb/t/deadlock_detect.combinations b/mysql-test/suite/innodb/t/deadlock_detect.combinations
new file mode 100644
index 00000000000..67d1a486714
--- /dev/null
+++ b/mysql-test/suite/innodb/t/deadlock_detect.combinations
@@ -0,0 +1,7 @@
+[OFF]
+--innodb-deadlock-detect=OFF
+--innodb-lock-wait-timeout=1
+
+[ON]
+--innodb-deadlock-detect=ON
+--innodb-lock-wait-timeout=1
diff --git a/mysql-test/suite/innodb/t/deadlock_detect.test b/mysql-test/suite/innodb/t/deadlock_detect.test
index babdb54719f..e853790755a 100644
--- a/mysql-test/suite/innodb/t/deadlock_detect.test
+++ b/mysql-test/suite/innodb/t/deadlock_detect.test
@@ -3,11 +3,9 @@
#
--source include/have_innodb.inc
---source include/not_embedded.inc
--source include/count_sessions.inc
-SET GLOBAL innodb_deadlock_detect=OFF;
-SET GLOBAL innodb_lock_wait_timeout=2;
+let $have_deadlock=`select @@GLOBAL.innodb_deadlock_detect`;
connection default;
@@ -22,24 +20,37 @@ INSERT INTO t1 VALUES(1), (2), (3);
--disable_result_log
BEGIN;
-SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
+SELECT * FROM t1 WHERE id = 1 LOCK IN SHARE MODE;
connect (con1,localhost,root,,);
-
BEGIN;
+SELECT * FROM t1 WHERE id = 2 LOCK IN SHARE MODE;
-SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
+connect (con2,localhost,root,,);
+BEGIN;
+SELECT * FROM t1 WHERE id = 2 LOCK IN SHARE MODE;
send SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
connection default;
send SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
-connection con1;
+connection con2;
+if (!$have_deadlock) {
--error ER_LOCK_WAIT_TIMEOUT
reap;
-
+disconnect con1;
+}
+if ($have_deadlock) {
+connection con1;
+COMMIT;
+disconnect con1;
+connection con2;
+--error 0,ER_LOCK_DEADLOCK,ER_LOCK_WAIT_TIMEOUT
+reap;
+}
ROLLBACK;
+disconnect con2;
#
# Note here that con1 is the older transaction as it
@@ -50,8 +61,14 @@ ROLLBACK;
# and does the update.
#
connection default;
+if (!$have_deadlock) {
--error 0,ER_LOCK_WAIT_TIMEOUT
reap;
+}
+if ($have_deadlock) {
+--error 0,ER_LOCK_DEADLOCK
+reap;
+}
ROLLBACK;
@@ -59,9 +76,4 @@ ROLLBACK;
DROP TABLE t1;
-disconnect con1;
-
--source include/wait_until_count_sessions.inc
-
-SET GLOBAL innodb_lock_wait_timeout=default;
-SET GLOBAL innodb_deadlock_detect=default;
diff --git a/mysql-test/suite/innodb/t/default_row_format_compatibility.test b/mysql-test/suite/innodb/t/default_row_format_compatibility.test
index 0868974c9df..5ebbe2003c7 100644
--- a/mysql-test/suite/innodb/t/default_row_format_compatibility.test
+++ b/mysql-test/suite/innodb/t/default_row_format_compatibility.test
@@ -49,16 +49,15 @@ 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 the *.ibd,*.cfg file into original 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
+--move_file $MYSQLD_DATADIR/test/tab.cfg $MYSQLD_DATADIR/tab.cfg
+--move_file $MYSQLD_DATADIR/test/tab.ibd $MYSQLD_DATADIR/tab.ibd
# Cleanup
DROP TABLE tab;
@@ -150,14 +149,22 @@ SHOW TABLE STATUS LIKE 'tab';
# Check by SELECT, no errors
SELECT * FROM tab;
-# Check no errors
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=ON;
+
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
ALTER TABLE tab ROW_FORMAT=COMPRESSED;
+SET GLOBAL innodb_read_only_compressed=OFF;
+ALTER TABLE tab ROW_FORMAT=COMPRESSED;
+SET GLOBAL innodb_read_only_compressed=ON;
# Check by SELECT, no errors
SELECT * FROM tab;
-# Check no errors
ALTER TABLE tab ROW_FORMAT=Dynamic;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+
+# Check no errors
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
SHOW TABLE STATUS LIKE 'tab';
diff --git a/mysql-test/suite/innodb/t/default_row_format_create.test b/mysql-test/suite/innodb/t/default_row_format_create.test
index 534a7312620..cd497d74de7 100644
--- a/mysql-test/suite/innodb/t/default_row_format_create.test
+++ b/mysql-test/suite/innodb/t/default_row_format_create.test
@@ -21,6 +21,10 @@ CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
SHOW TABLE STATUS LIKE 't1';
DROP TABLE t1;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB
ROW_FORMAT=COMPRESSED;
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
@@ -28,6 +32,9 @@ SHOW TABLE STATUS LIKE 't1';
TRUNCATE TABLE t1;
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
SHOW TABLE STATUS LIKE 't1';
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
DROP TABLE t1;
--error 0,ER_CANT_CREATE_TABLE
@@ -62,10 +69,13 @@ DROP TABLE IF EXISTS t;
SET GLOBAL innodb_compression_level=1;
CREATE TABLE t(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC page_compressed=1;
+CREATE TEMPORARY TABLE tt(a INT PRIMARY KEY)
+ROW_FORMAT=DYNAMIC page_compressed=1 ENGINE=InnoDB;
SET GLOBAL innodb_compression_level=0;
--error ER_ILLEGAL_HA_CREATE_OPTION
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=INPLACE;
--error ER_CANT_CREATE_TABLE
ALTER TABLE t FORCE, ROW_FORMAT=DEFAULT, ALGORITHM=COPY;
DROP TABLE t;
+TRUNCATE tt;
SET GLOBAL innodb_compression_level=@save_level;
diff --git a/mysql-test/suite/innodb/t/doublewrite.test b/mysql-test/suite/innodb/t/doublewrite.test
index bd4f5fadcc3..d8dac955348 100644
--- a/mysql-test/suite/innodb/t/doublewrite.test
+++ b/mysql-test/suite/innodb/t/doublewrite.test
@@ -38,7 +38,7 @@ connect (stop_purge,localhost,root,,);
START TRANSACTION WITH CONSISTENT SNAPSHOT;
connection default;
-create table t1 (f1 int primary key, f2 blob) engine=innodb;
+create table t1 (f1 int primary key, f2 blob) engine=innodb stats_persistent=0;
start transaction;
insert into t1 values(1, repeat('#',12));
@@ -52,8 +52,8 @@ commit work;
--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;
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
begin;
insert into t1 values (6, repeat('%', 12));
@@ -152,13 +152,15 @@ select f1, f2 from t1;
--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;
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
--echo # Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
unlock tables;
+set global innodb_log_checkpoint_now=1;
+
begin;
insert into t1 values (6, repeat('%', 12));
@@ -196,8 +198,8 @@ select f1, f2 from t1;
--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;
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
--echo # Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
@@ -239,8 +241,8 @@ select f1, f2 from t1;
--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;
+select space into @space_id from information_schema.innodb_sys_tables
+where name = 'test/t1';
--echo # Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
diff --git a/mysql-test/suite/innodb/t/drop_table_background.test b/mysql-test/suite/innodb/t/drop_table_background.test
deleted file mode 100644
index 20101dada84..00000000000
--- a/mysql-test/suite/innodb/t/drop_table_background.test
+++ /dev/null
@@ -1,48 +0,0 @@
---source include/have_innodb.inc
---source include/have_debug.inc
-# Embedded server does not support restarting
---source include/not_embedded.inc
-
-let $MYSQLD_DATADIR=`select @@datadir`;
-
-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;
-
-CREATE TABLE `#mysql50##sql-ib-foo`(a SERIAL) ENGINE=InnoDB;
-INSERT INTO t (c1) VALUES (1),(2),(1);
-
-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
---error ER_DUP_ENTRY
-CREATE TABLE target (PRIMARY KEY(c1)) ENGINE=InnoDB SELECT * FROM t;
---error ER_NO_SUCH_TABLE
-SELECT * from target;
-DROP TABLE t;
---source include/shutdown_mysqld.inc
---remove_files_wildcard $MYSQLD_DATADIR/test #sql-*.ibd
---source include/start_mysqld.inc
-CREATE TABLE t (a INT) ENGINE=InnoDB;
-DROP TABLE t;
---error ER_BAD_TABLE_ERROR
-DROP TABLE target;
-CREATE TABLE target (a INT) ENGINE=InnoDB;
-DROP TABLE target;
---error ER_NO_SUCH_TABLE_IN_ENGINE
-SELECT * FROM `#mysql50##sql-ib-foo`;
-DROP TABLE `#mysql50##sql-ib-foo`;
diff --git a/mysql-test/suite/innodb/t/dropdb.test b/mysql-test/suite/innodb/t/dropdb.test
index 7f5ac809d7c..f27aede78ec 100644
--- a/mysql-test/suite/innodb/t/dropdb.test
+++ b/mysql-test/suite/innodb/t/dropdb.test
@@ -1,5 +1,8 @@
--source include/have_innodb.inc
+SET NAMES utf8;
+call mtr.add_suppression("Invalid .old.. table or database name");
+
--echo #
--echo # Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
--echo #
@@ -9,4 +12,16 @@ create database `b`;
use `b`;
--error ER_WRONG_TABLE_NAME
create table `#mysql50#q.q` select 1;
+create table `#mysql50#q·q` select 1;
drop database `b`;
+
+--echo #
+--echo # MDEV-27336 Crash on DROP DATABASE due to out-of-bounds result
+--echo # from InnoDB SUBSTR() function
+--echo #
+USE test;
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2(a INT PRIMARY KEY REFERENCES t1(a)) ENGINE=InnoDB;
+CREATE DATABASE somewhat_longer_name_to_cause_trouble;
+DROP DATABASE somewhat_longer_name_to_cause_trouble;
+DROP TABLE t2,t1;
diff --git a/mysql-test/suite/innodb/t/evict_tables_on_commit_debug.test b/mysql-test/suite/innodb/t/evict_tables_on_commit_debug.test
new file mode 100644
index 00000000000..8cb45d01465
--- /dev/null
+++ b/mysql-test/suite/innodb/t/evict_tables_on_commit_debug.test
@@ -0,0 +1,11 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+SET @save_debug= @@GLOBAL.innodb_evict_tables_on_commit_debug;
+SET GLOBAL innodb_evict_tables_on_commit_debug=on;
+CREATE TEMPORARY TABLE t1(a INT) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2 VALUES(2);
+DROP TABLE t2;
+SET GLOBAL innodb_evict_tables_on_commit_debug=@save_debug;
+DROP TEMPORARY TABLE t1;
diff --git a/mysql-test/suite/innodb/t/file_format_defaults.test b/mysql-test/suite/innodb/t/file_format_defaults.test
index 5c7c617cb52..f648610f47f 100644
--- a/mysql-test/suite/innodb/t/file_format_defaults.test
+++ b/mysql-test/suite/innodb/t/file_format_defaults.test
@@ -14,6 +14,11 @@ SELECT @@innodb_file_per_table;
SET SQL_MODE=strict_all_tables;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
+
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
SHOW CREATE TABLE tab0;
DROP TABLE tab0;
@@ -33,3 +38,7 @@ SELECT @@innodb_strict_mode;
CREATE TABLE tab1(c1 int ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
DROP TABLE tab1;
+
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test
index f4ec45971fe..93c61dc7648 100644
--- a/mysql-test/suite/innodb/t/foreign_key.test
+++ b/mysql-test/suite/innodb/t/foreign_key.test
@@ -182,9 +182,7 @@ SET FOREIGN_KEY_CHECKS=1;
--echo #
--disable_query_log
-call mtr.add_suppression("InnoDB: Possible reasons:");
-call mtr.add_suppression("InnoDB: \\([12]\\) Table ");
-call mtr.add_suppression("InnoDB: If table `test`\\.`t2` is a temporary table");
+call mtr.add_suppression("InnoDB: Table rename might cause two FOREIGN KEY");
call mtr.add_suppression("InnoDB: Cannot delete/update rows with cascading foreign key constraints that exceed max depth of 15\\.");
--enable_query_log
@@ -447,8 +445,8 @@ INSERT INTO t1 VALUES (1,2);
--error ER_XAER_RMFAIL
CREATE TABLE x AS SELECT * FROM t1;
--connect (con1,localhost,root,,test)
-SET foreign_key_checks= OFF, innodb_lock_wait_timeout= 1;
-SET lock_wait_timeout=5;
+SET foreign_key_checks= OFF, innodb_lock_wait_timeout= 0;
+SET lock_wait_timeout=2;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 ADD FOREIGN KEY f (a) REFERENCES t1 (pk), LOCK=EXCLUSIVE;# Cleanup
--disconnect con1
@@ -542,7 +540,7 @@ UPDATE users SET name = 'qux' WHERE id = 1;
connect (con1,localhost,root);
--connection con1
-SET innodb_lock_wait_timeout= 1;
+SET innodb_lock_wait_timeout= 0;
DELETE FROM matchmaking_groups WHERE id = 10;
--connection default
@@ -580,9 +578,10 @@ BEGIN;
UPDATE t2 SET f = 11 WHERE id = 1;
--connection default
-SET innodb_lock_wait_timeout= 1;
+SET innodb_lock_wait_timeout= 0;
--error ER_LOCK_WAIT_TIMEOUT
DELETE FROM t1 WHERE id = 1;
+SET innodb_lock_wait_timeout= 1;
--connection con1
COMMIT;
@@ -979,4 +978,69 @@ drop tables t2, t1;
--echo # End of 10.5 tests
+--echo #
+--echo # MDEV-26554 Table-rebuilding DDL on parent table causes crash
+--echo # for INSERT into child table
+--echo #
+
+CREATE TABLE parent(a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE child(a INT PRIMARY KEY REFERENCES parent(a)) ENGINE=InnoDB;
+connect (con1, localhost, root,,);
+BEGIN;
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO child SET a=1;
+connection default;
+SET innodb_lock_wait_timeout=0, foreign_key_checks=0;
+--error ER_LOCK_WAIT_TIMEOUT
+TRUNCATE TABLE parent;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT;
+connection con1;
+COMMIT;
+connection default;
+# Restore the timeout to avoid occasional races with purge.
+SET innodb_lock_wait_timeout=DEFAULT;
+TRUNCATE TABLE parent;
+ALTER TABLE parent FORCE, ALGORITHM=COPY;
+ALTER TABLE parent FORCE, ALGORITHM=INPLACE;
+ALTER TABLE parent ADD COLUMN b INT, ALGORITHM=INSTANT;
+DROP TABLE child, parent;
+
+--echo #
+--echo # MDEV-26217 Failing assertion: list.count > 0 in ut_list_remove
+--echo # or Assertion `lock->trx == this' failed in dberr_t trx_t::drop_table
+--echo #
+
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1);
+
+CREATE TABLE t2 (pk INT PRIMARY KEY, FOREIGN KEY(pk) REFERENCES t1(pk))
+ENGINE=InnoDB;
+
+--connection con1
+SET FOREIGN_KEY_CHECKS=OFF;
+--send
+CREATE OR REPLACE TABLE t1 (b INT) ENGINE=InnoDB;
+
+--connection default
+--error 0,ER_NO_REFERENCED_ROW_2,ER_LOCK_DEADLOCK
+INSERT INTO t2 VALUES (1);
+
+--connection con1
+--error 0,ER_CANT_CREATE_TABLE
+--reap
+
+# Cleanup
+--disconnect con1
+--connection default
+--disable_warnings
+DROP TABLE IF EXISTS t2, t1;
+--enable_warnings
+
+--echo # End of 10.6 tests
+
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/group_commit.test b/mysql-test/suite/innodb/t/group_commit.test
index 692e06f38b8..3a2018bec5d 100644
--- a/mysql-test/suite/innodb/t/group_commit.test
+++ b/mysql-test/suite/innodb/t/group_commit.test
@@ -10,6 +10,9 @@
# to check some edge case for concurrency control.
CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) ENGINE=innodb;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(100);
SELECT variable_value INTO @commits FROM information_schema.global_status
WHERE variable_name = 'binlog_commits';
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 801895e825d..c2e38d5412d 100644
--- a/mysql-test/suite/innodb/t/group_commit_binlog_pos.test
+++ b/mysql-test/suite/innodb/t/group_commit_binlog_pos.test
@@ -97,7 +97,7 @@ 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 + 730`;
+let pos=`select $binlog_start_pos + 739`;
--replace_result $pos <pos>
--exec sed -ne 's/.*\(InnoDB: Last binlog file .* position.*\)/\1/p' $MYSQLD_DATADIR/../../log/mysqld.1.err | tail -1
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 116bc54441e..250f0beeab6 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
@@ -98,7 +98,7 @@ 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 + 730`;
+let pos=`select $binlog_start_pos + 739`;
--replace_result $pos <pos>
--exec sed -ne 's/.*\(InnoDB: Last binlog file .* position.*\)/\1/p' $MYSQLD_DATADIR/../../log/mysqld.1.err | tail -1
SET DEBUG_SYNC= 'RESET';
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 85c0e295424..107fc6f4056 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
@@ -10,6 +10,9 @@
# to check some edge case for concurrency control.
CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) ENGINE=innodb;
+# MDEV-515 takes X-LOCK on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES("default");
SELECT variable_value INTO @commits FROM information_schema.global_status
WHERE variable_name = 'binlog_commits';
diff --git a/mysql-test/suite/innodb/t/ibuf_delete.test b/mysql-test/suite/innodb/t/ibuf_delete.test
new file mode 100644
index 00000000000..82b740b6aa1
--- /dev/null
+++ b/mysql-test/suite/innodb/t/ibuf_delete.test
@@ -0,0 +1,67 @@
+--source include/have_innodb.inc
+--source include/have_sequence.inc
+
+SET @buffering= @@innodb_change_buffering;
+SET GLOBAL innodb_change_buffering= deletes;
+SET @flush= @@innodb_flush_log_at_trx_commit;
+SET GLOBAL innodb_flush_log_at_trx_commit= 0;
+
+CREATE TABLE t1 (
+ a varchar(1024),
+ b varchar(1024),
+ c varchar(1024),
+ d varchar(1024),
+ e varchar(1024),
+ f varchar(1024),
+ g varchar(1024),
+ h varchar(1024),
+ key (a),
+ key (b),
+ key (c),
+ key (d)
+) ENGINE=InnoDB;
+
+INSERT INTO t1
+SELECT REPEAT('x',10), REPEAT('x',13), REPEAT('x',427), REPEAT('x',244),
+REPEAT('x',9), REPEAT('x',112), REPEAT('x',814), REPEAT('x',633)
+FROM seq_1_to_1024;
+
+CREATE TEMPORARY TABLE t2 (
+ a varchar(1024),
+ b varchar(1024),
+ c varchar(1024),
+ d varchar(1024),
+ e varchar(1024),
+ f varchar(1024),
+ g varchar(1024),
+ h varchar(1024),
+ i varchar(1024),
+ j varchar(1024),
+ k varchar(1024),
+ l varchar(1024),
+ m varchar(1024),
+ key (a),
+ key (b),
+ key (c),
+ key (d),
+ key (e),
+ key (f)
+) ENGINE=InnoDB;
+
+SET @x=REPEAT('x',512);
+INSERT INTO t2 SELECT @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x
+FROM seq_1_to_768;
+
+--disable_query_log
+--let $run=1024
+while ($run)
+{
+ eval DELETE FROM t1 LIMIT 1 /* $run */;
+ --dec $run
+}
+--enable_query_log
+
+# Cleanup
+DROP TABLE t1, t2;
+SET GLOBAL innodb_change_buffering= @buffering;
+SET GLOBAL innodb_flush_log_at_trx_commit= @flush;
diff --git a/mysql-test/suite/innodb/t/import_bugs.test b/mysql-test/suite/innodb/t/import_bugs.test
index 42bb5d90ef9..7fcab9f9abc 100644
--- a/mysql-test/suite/innodb/t/import_bugs.test
+++ b/mysql-test/suite/innodb/t/import_bugs.test
@@ -14,6 +14,22 @@ let $datadir=`select @@datadir`;
UNLOCK TABLES;
--error ER_TABLE_SCHEMA_MISMATCH
ALTER TABLE imp_t1 IMPORT TABLESPACE;
+--error ER_TABLE_EXISTS_ERROR
+CREATE TABLE imp_t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+DROP TABLE imp_t1;
+CREATE TABLE imp_t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE imp_t1, t1;
SET GLOBAL innodb_checksum_algorithm=@save_innodb_checksum_algorithm;
+
+--echo #
+--echo # MDEV-27006 Assertion `!lock_trx_has_sys_table_locks(trx)'
+--echo # failed in dberr_t row_discard_tablespace_for_mysql
+--echo # (dict_table_t*, trx_t*)
+CREATE TABLE t1 (c INT KEY) ENGINE=INNODB;
+CREATE TABLE t2 (c INT KEY,FOREIGN KEY(c) REFERENCES t1 (c)) ENGINE=INNODB;
+--error ER_ROW_IS_REFERENCED_2
+ALTER TABLE t1 DISCARD TABLESPACE;
+DROP TABLE t2, t1;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/suite/innodb/t/import_corrupted.test b/mysql-test/suite/innodb/t/import_corrupted.test
index 976cbe03dbb..3a9b9a40493 100644
--- a/mysql-test/suite/innodb/t/import_corrupted.test
+++ b/mysql-test/suite/innodb/t/import_corrupted.test
@@ -56,13 +56,10 @@ CREATE TABLE t2 (
ALTER TABLE t2 DISCARD TABLESPACE;
---copy_file $MYSQLD_DATADIR/test/tmp.ibd $MYSQLD_DATADIR/test/t2.ibd
---copy_file $MYSQLD_DATADIR/test/tmp.cfg $MYSQLD_DATADIR/test/t2.cfg
+--move_file $MYSQLD_DATADIR/test/tmp.ibd $MYSQLD_DATADIR/test/t2.ibd
+--move_file $MYSQLD_DATADIR/test/tmp.cfg $MYSQLD_DATADIR/test/t2.cfg
--error ER_NOT_KEYFILE
ALTER TABLE t2 IMPORT TABLESPACE;
DROP TABLE t2;
-
---remove_file $MYSQLD_DATADIR/test/tmp.ibd
---remove_file $MYSQLD_DATADIR/test/tmp.cfg
diff --git a/mysql-test/suite/innodb/t/index_merge_threshold.opt b/mysql-test/suite/innodb/t/index_merge_threshold.opt
index 56434e883de..ad0f33c3f1e 100644
--- a/mysql-test/suite/innodb/t/index_merge_threshold.opt
+++ b/mysql-test/suite/innodb/t/index_merge_threshold.opt
@@ -1 +1,2 @@
--loose-innodb_sys_tablespaces
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/innodb/t/information_schema_grants.opt b/mysql-test/suite/innodb/t/information_schema_grants.opt
index 38c5e3cf1cd..74a9bcfe284 100644
--- a/mysql-test/suite/innodb/t/information_schema_grants.opt
+++ b/mysql-test/suite/innodb/t/information_schema_grants.opt
@@ -25,8 +25,5 @@
--enable-plugin-innodb-sys-foreign
--enable-plugin-innodb-sys-foreign-cols
--enable-plugin-innodb-sys-tablespaces
---enable-plugin-innodb-sys-datafiles
--enable-plugin-innodb-sys-virtual
---enable-plugin-innodb-mutexes
---enable-plugin-innodb-sys-semaphore-waits
--enable-plugin-innodb-tablespaces-encryption
diff --git a/mysql-test/suite/innodb/t/information_schema_grants.test b/mysql-test/suite/innodb/t/information_schema_grants.test
index 72982b3ec1c..8960db9aad9 100644
--- a/mysql-test/suite/innodb/t/information_schema_grants.test
+++ b/mysql-test/suite/innodb/t/information_schema_grants.test
@@ -64,15 +64,9 @@ create sql security definer view d_locks as select * from information_schema.inn
create sql security invoker view i_metrics as select * from information_schema.innodb_metrics;
create sql security definer view d_metrics as select * from information_schema.innodb_metrics;
-create sql security invoker view i_mutexes as select * from information_schema.innodb_mutexes;
-create sql security definer view d_mutexes as select * from information_schema.innodb_mutexes;
-
create sql security invoker view i_sys_columns as select * from information_schema.innodb_sys_columns;
create sql security definer view d_sys_columns as select * from information_schema.innodb_sys_columns;
-create sql security invoker view i_sys_datafiles as select * from information_schema.innodb_sys_datafiles;
-create sql security definer view d_sys_datafiles as select * from information_schema.innodb_sys_datafiles;
-
create sql security invoker view i_sys_fields as select * from information_schema.innodb_sys_fields;
create sql security definer view d_sys_fields as select * from information_schema.innodb_sys_fields;
@@ -85,9 +79,6 @@ create sql security definer view d_sys_foreign_cols as select * from information
create sql security invoker view i_sys_indexes as select * from information_schema.innodb_sys_indexes;
create sql security definer view d_sys_indexes as select * from information_schema.innodb_sys_indexes;
-create sql security invoker view i_sys_semaphore_waits as select * from information_schema.innodb_sys_semaphore_waits;
-create sql security definer view d_sys_semaphore_waits as select * from information_schema.innodb_sys_semaphore_waits;
-
create sql security invoker view i_sys_tables as select * from information_schema.innodb_sys_tables;
create sql security definer view d_sys_tables as select * from information_schema.innodb_sys_tables;
@@ -213,24 +204,12 @@ select count(*) > -1 from i_metrics;
select count(*) > -1 from d_metrics;
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-select count(*) > -1 from information_schema.innodb_mutexes;
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
-select count(*) > -1 from i_mutexes;
-select count(*) > -1 from d_mutexes;
-
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
select count(*) > -1 from information_schema.innodb_sys_columns;
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
select count(*) > -1 from i_sys_columns;
select count(*) > -1 from d_sys_columns;
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-select count(*) > -1 from information_schema.innodb_sys_datafiles;
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
-select count(*) > -1 from i_sys_datafiles;
-select count(*) > -1 from d_sys_datafiles;
-
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
select count(*) > -1 from information_schema.innodb_sys_fields;
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
select count(*) > -1 from i_sys_fields;
@@ -255,12 +234,6 @@ select count(*) > -1 from i_sys_indexes;
select count(*) > -1 from d_sys_indexes;
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-select count(*) > -1 from information_schema.innodb_sys_semaphore_waits;
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
-select count(*) > -1 from i_sys_semaphore_waits;
-select count(*) > -1 from d_sys_semaphore_waits;
-
---error ER_SPECIFIC_ACCESS_DENIED_ERROR
select count(*) > -1 from information_schema.innodb_sys_tables;
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
select count(*) > -1 from i_sys_tables;
diff --git a/mysql-test/suite/innodb/t/innodb-16k-master.opt b/mysql-test/suite/innodb/t/innodb-16k-master.opt
index a99075f5329..6532d092a55 100644
--- a/mysql-test/suite/innodb/t/innodb-16k-master.opt
+++ b/mysql-test/suite/innodb/t/innodb-16k-master.opt
@@ -1 +1,2 @@
--default_storage_engine=InnoDB
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/innodb/t/innodb-16k.test b/mysql-test/suite/innodb/t/innodb-16k.test
index 90395d95497..56109543ee4 100644
--- a/mysql-test/suite/innodb/t/innodb-16k.test
+++ b/mysql-test/suite/innodb/t/innodb-16k.test
@@ -4,7 +4,6 @@
--source include/have_innodb_16k.inc
call mtr.add_suppression("InnoDB: Cannot add field .* in table");
-
let $MYSQLD_DATADIR= `select @@datadir`;
--echo # Test 1) Show the page size from Information Schema
@@ -185,11 +184,13 @@ INSERT INTO t2 VALUES ('jejdkrun87'),('adfd72nh9k'),
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;
+SELECT a,LEFT(REPEAT(d,100*a),65535),REPEAT(d,20*a),d FROM t2,t3
+ORDER BY a,d;
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;
+LENGTH(b),b=LEFT(REPEAT(d,100*a),65535),LENGTH(c),c=REPEAT(d,20*a),d FROM t1
+ORDER BY a,d;
# in-place alter table should trigger ER_PRIMARY_CANT_HAVE_NULL
--error ER_DUP_ENTRY
@@ -202,7 +203,8 @@ 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;
+LENGTH(b), b=LEFT(REPEAT(d,100*a), 65535),LENGTH(c), c=REPEAT(d,20*a), d FROM t1
+ORDER BY a,d;
SHOW CREATE TABLE t1;
CHECK TABLE t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-32k.test b/mysql-test/suite/innodb/t/innodb-32k.test
index a9645d65998..07c6c10d013 100644
--- a/mysql-test/suite/innodb/t/innodb-32k.test
+++ b/mysql-test/suite/innodb/t/innodb-32k.test
@@ -3,6 +3,8 @@
--source include/have_innodb.inc
--source include/have_innodb_32k.inc
+SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
+
call mtr.add_suppression("Innodb: Cannot add field.*row size is");
let $MYSQLD_DATADIR= `select @@datadir`;
@@ -20,7 +22,7 @@ SELECT variable_value FROM information_schema.global_status
SET SESSION innodb_strict_mode = ON;
--replace_regex /> [0-9]*/> max_row_size/
---error 1005
+--error ER_CANT_CREATE_TABLE,ER_UNSUPPORTED_COMPRESSED_TABLE
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),
@@ -334,13 +336,10 @@ 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
+--source include/wait_all_purged.inc
+DROP TABLE t3;
DROP TABLE t1_purge, t2_purge, t3_purge, t4_purge;
DROP TABLE tlong;
DROP TABLE tlong2;
diff --git a/mysql-test/suite/innodb/t/innodb-alter-debug.test b/mysql-test/suite/innodb/t/innodb-alter-debug.test
index 7fbbb3159ee..c4a68ac71b7 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-debug.test
@@ -52,11 +52,10 @@ SET DEBUG_SYNC = 'now SIGNAL s2';
--echo /* connection default */
connection default;
--echo /* reap */ alter table t1 force, 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 force, add b int, ALGORITHM=inplace;
+--send alter table t1 force, add c int, ALGORITHM=inplace;
--echo /* connection con1 */
connection con1;
@@ -68,7 +67,6 @@ SET DEBUG_SYNC = 'now SIGNAL s2';
--echo /* connection default */
connection default;
--echo /* reap */ alter table t1 force, add b int, ALGORITHM=inplace;
---error ER_DUP_ENTRY
--reap
SET DEBUG_SYNC = 'RESET';
@@ -92,7 +90,6 @@ SET DEBUG_SYNC = 'now SIGNAL S2';
disconnect con1;
CONNECTION default;
---error ER_DUP_ENTRY
reap;
SET DEBUG_SYNC='RESET';
@@ -142,5 +139,54 @@ SET DEBUG_DBUG = @saved_debug_dbug;
DROP TABLE t;
+--echo #
+--echo # MDEV-26772 InnoDB DDL fails with DUPLICATE KEY error
+--echo #
+
+create table t1(f1 int not null primary key,
+
+ f2 int not null, index idx(f2))engine=innodb;
+
+insert into t1 values(1, 1);
+
+connect(con1,localhost,root,,,);
+SET DEBUG_SYNC='before_delete_table_stats SIGNAL blocked WAIT_FOR go';
+SET innodb_lock_wait_timeout=0;
+send ALTER TABLE t1 FORCE, ALGORITHM=COPY;
+
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR blocked';
+BEGIN;
+SELECT * FROM mysql.innodb_table_stats FOR UPDATE;
+SET DEBUG_SYNC='now SIGNAL go';
+
+connection con1;
+reap;
+
+connection default;
+COMMIT;
+SET DEBUG_SYNC=RESET;
+
+connection con1;
+ALTER TABLE t1 RENAME KEY idx TO idx1, ALGORITHM=COPY;
+disconnect con1;
+
+connection default;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-26903 Assertion ctx->trx->state == TRX_STATE_ACTIVE on DROP INDEX
+--echo #
+
+CREATE TABLE t1(a INT PRIMARY KEY, b INT, INDEX(b)) ENGINE=InnoDB;
+SET @save_dbug=@@debug_dbug;
+SET debug_dbug='+d,deadlock_table_fail';
+--error ER_LOCK_DEADLOCK
+ALTER TABLE t1 DROP INDEX b, ALGORITHM=INPLACE;
+SET debug_dbug=@save_dbug;
+DROP TABLE t1;
+
+--echo # End of 10.6 tests
+
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/suite/innodb/t/innodb-alter-tempfile.test b/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
index dac176f3b77..ab6e1586897 100644
--- a/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
+++ b/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
@@ -15,9 +15,9 @@
--source include/have_debug_sync.inc
call mtr.add_suppression("Cannot find index f2 in InnoDB index dictionary.");
-call mtr.add_suppression("InnoDB indexes are inconsistent with what defined in .frm for table .*");
-call mtr.add_suppression("Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in the MariaDB .*");
-call mtr.add_suppression("InnoDB could not find key no 1 with name f2 from dict cache for table .*");
+call mtr.add_suppression("InnoDB indexes are inconsistent with what defined in .frm for table");
+call mtr.add_suppression("Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in");
+call mtr.add_suppression("InnoDB could not find key no 1 with name f2 from dict cache for table");
--echo #
@@ -40,8 +40,6 @@ SET debug_dbug='+d,innodb_alter_commit_crash_before_commit';
--error 2013
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
-remove_files_wildcard $datadir/test #sql-*.frm;
-
--source include/start_mysqld.inc
show create table t1;
@@ -67,6 +65,7 @@ set DEBUG_SYNC="now WAIT_FOR default_signal";
--let $shutdown_timeout=0
--source include/restart_mysqld.inc
disconnect con1;
+--replace_column 7 #
SHOW KEYS FROM t1;
DROP TABLE t1;
remove_files_wildcard $datadir/test #sql-*.frm;
diff --git a/mysql-test/suite/innodb/t/innodb-alter.test b/mysql-test/suite/innodb/t/innodb-alter.test
index c8d2500076f..60af7c9df80 100644
--- a/mysql-test/suite/innodb/t/innodb-alter.test
+++ b/mysql-test/suite/innodb/t/innodb-alter.test
@@ -621,6 +621,10 @@ eval DROP DATABASE $dest_db;
--echo # ORPHANED DUE TO RENAME TABLE
--echo #
CREATE DATABASE db1; USE db1;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE notes (
id int(11) NOT NULL AUTO_INCREMENT,
body text COLLATE utf8_unicode_ci,
@@ -631,6 +635,9 @@ ROW_FORMAT=COMPRESSED;
ALTER TABLE notes ADD FULLTEXT INDEX index_ft_body (body(255));
DROP INDEX index_ft_body ON notes;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
CREATE DATABASE db2;
RENAME TABLE db1.notes TO db2.notes;
diff --git a/mysql-test/suite/innodb/t/innodb-dict.test b/mysql-test/suite/innodb/t/innodb-dict.test
index 25a284569db..13472f016ea 100644
--- a/mysql-test/suite/innodb/t/innodb-dict.test
+++ b/mysql-test/suite/innodb/t/innodb-dict.test
@@ -24,6 +24,7 @@ EXPLAIN SELECT d FROM t1 WHERE d = 5;
EXPLAIN SELECT D FROM t1 WHERE D = 5;
ALTER TABLE t1 DROP INDEX my_d;
ALTER TABLE t1 MODIFY COLUMN D INT;
+ANALYZE TABLE t1;
ALTER TABLE t1 ADD INDEX my_d (D);
EXPLAIN SELECT d FROM t1 WHERE d = 5;
EXPLAIN SELECT D FROM t1 WHERE D = 5;
diff --git a/mysql-test/suite/innodb/t/innodb-index-debug.test b/mysql-test/suite/innodb/t/innodb-index-debug.test
index 6e31200570b..f03ef061769 100644
--- a/mysql-test/suite/innodb/t/innodb-index-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-index-debug.test
@@ -122,22 +122,25 @@ drop table t480;
--echo # in online table rebuild
--echo #
-CREATE TABLE t1 (j INT UNIQUE, i INT UNIQUE) ENGINE=InnoDB;
+CREATE TABLE t1 (j INT UNIQUE, i INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES(2, 2);
--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;
+ALTER TABLE t1 DROP j, ADD UNIQUE INDEX(i), FORCE;
--connection default
SET DEBUG_SYNC='now WAIT_FOR built';
---error ER_DUP_ENTRY
+SET DEBUG_DBUG='+d,row_ins_row_level';
INSERT INTO t1 (i) VALUES (0),(0);
SET DEBUG_SYNC='now SIGNAL log';
+SET DEBUG_DBUG=@saved_debug_dbug;
--connection con1
--error ER_DUP_ENTRY
reap;
+DELETE FROM t1;
+ALTER TABLE t1 ADD UNIQUE INDEX(i);
SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL built2 WAIT_FOR log2';
--send
ALTER TABLE t1 DROP j, FORCE;
@@ -150,7 +153,6 @@ UPDATE t1 SET i=0;
SET DEBUG_SYNC='now SIGNAL log2';
--connection con1
---error ER_DUP_ENTRY
reap;
--disconnect con1
--connection default
diff --git a/mysql-test/suite/innodb/t/innodb-index-online.test b/mysql-test/suite/innodb/t/innodb-index-online.test
index 781ff8ee681..2cb84b18402 100644
--- a/mysql-test/suite/innodb/t/innodb-index-online.test
+++ b/mysql-test/suite/innodb/t/innodb-index-online.test
@@ -28,7 +28,6 @@ SET DEBUG_SYNC = 'write_row_noreplace SIGNAL have_handle WAIT_FOR go_ahead';
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.
@@ -99,7 +98,8 @@ 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;
+COMMIT;
+DELETE FROM t1 where c1 = 7;
SET DEBUG_SYNC = 'now SIGNAL rollback_done';
connection con1;
@@ -122,7 +122,7 @@ 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
+--error ER_DUP_ENTRY
reap;
DELETE FROM t1 WHERE c1=6;
ALTER TABLE t1 ADD UNIQUE INDEX(c2);
@@ -238,17 +238,11 @@ 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;
+let $c= 8;
while ($c)
{
- BEGIN;
- DELETE FROM t1;
- ROLLBACK;
UPDATE t1 SET c2 = c2 + 1;
- BEGIN;
- UPDATE t1 SET c2 = c2 + 1;
- DELETE FROM t1;
- ROLLBACK;
+ UPDATE t1 SET c2 = c2 + 2;
dec $c;
}
# Incomplete index c2e should exist until the DDL thread notices the overflow.
@@ -326,17 +320,16 @@ 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;
+let $c= 6;
while ($c)
{
BEGIN;
INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
DELETE FROM t1 WHERE c1 > 320;
-ROLLBACK;
+COMMIT;
BEGIN;
UPDATE t1 SET c2 = c2 + 1;
-DELETE FROM t1;
-ROLLBACK;
+COMMIT;
dec $c;
}
eval $innodb_metrics_select;
@@ -434,7 +427,6 @@ 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;
@@ -483,7 +475,6 @@ 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';
@@ -493,11 +484,36 @@ reap;
SET DEBUG_SYNC = 'RESET';
disconnect con1;
+
CREATE TABLE t2 (c VARCHAR(64)) ENGINE=InnoDB;
--error ER_CANT_CREATE_TABLE
ALTER TABLE t2 ADD FOREIGN KEY (c) REFERENCES t1 (c);
DROP TABLE t2,t1;
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0,0);
+
+connect (con1,localhost,root,,);
+SET DEBUG_SYNC = 'row_log_apply_before SIGNAL created WAIT_FOR inserted';
+send ALTER TABLE t1 ADD INDEX(b);
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR created';
+BEGIN;
+INSERT INTO t1 VALUES(1,1);
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL inserted';
+
+connection con1;
+reap;
+disconnect con1;
+
+connection default;
+SELECT * FROM t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
+
# 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.opt b/mysql-test/suite/innodb/t/innodb-index.opt
new file mode 100644
index 00000000000..1a01b4018c6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index.opt
@@ -0,0 +1 @@
+--skip-innodb-stats-persistent
diff --git a/mysql-test/suite/innodb/t/innodb-index_ucs2.opt b/mysql-test/suite/innodb/t/innodb-index_ucs2.opt
new file mode 100644
index 00000000000..1a01b4018c6
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-index_ucs2.opt
@@ -0,0 +1 @@
+--skip-innodb-stats-persistent
diff --git a/mysql-test/suite/innodb/t/innodb-isolation.test b/mysql-test/suite/innodb/t/innodb-isolation.test
index d00fefb9fc6..6d347dc71af 100644
--- a/mysql-test/suite/innodb/t/innodb-isolation.test
+++ b/mysql-test/suite/innodb/t/innodb-isolation.test
@@ -162,28 +162,30 @@ COMMIT;
--echo #
--echo # Show The EXPLAIN output for these queries;
--echo #
-# column 10 is the row count provided by handler::info(). In InnoDB, this is
+# column 9 is the row count provided by handler::info(). In InnoDB, this is
# a statistical estimate. After the multi-transactional changes above,
# Solaris reports 10 rows which is correct, but other OSes report 9.
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT * FROM t1;
+--replace_column 9 #
EXPLAIN SELECT COUNT(*) FROM t1;
+--replace_column 9 #
EXPLAIN SELECT COUNT(c1) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT COUNT(c2) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT COUNT(c3) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT SUM(c1) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT SUM(c2) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT AVG(c1), MAX(c1), MIN(c2), AVG(c3), SUM(c4) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT c1, c2 FROM t1 WHERE c1 > ((SELECT COUNT(*) FROM t1) / 2);
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT COUNT(c2) FROM t1 WHERE c1 > ((SELECT COUNT(*) FROM t1) / 2);
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT COUNT(*) FROM t1 WHERE c1 > (SELECT AVG(c1) FROM t1);
--echo #
@@ -334,13 +336,13 @@ eval set global innodb_lock_wait_timeout=$initial_timeout;
CREATE TABLE t1(c1 INT NOT NULL PRIMARY KEY,
c2 INT NOT NULL DEFAULT 1,
c3 char(20) DEFAULT '',
- KEY c2_idx (c2)) ENGINE=InnoDB;
+ KEY c2_idx (c2)) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1(c1) VALUES (1), (2), (3);
INSERT INTO t1(c1) SELECT c1 + 10 FROM t1;
INSERT INTO t1(c1) SELECT c1 + 100 FROM t1;
-CREATE TABLE t2 SELECT * FROM t1;
+CREATE TABLE t2 STATS_PERSISTENT=0 SELECT * FROM t1;
let query1= SELECT COUNT(*) FROM t1;
let query2= SELECT COUNT(*) FROM t1 FORCE INDEX(c2_idx);
diff --git a/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt b/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt
deleted file mode 100644
index e5d34636ccb..00000000000
--- a/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.opt
+++ /dev/null
@@ -1,2 +0,0 @@
---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
deleted file mode 100644
index a14c156546a..00000000000
--- a/mysql-test/suite/innodb/t/innodb-lock-schedule-algorithm.test
+++ /dev/null
@@ -1,106 +0,0 @@
---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 9e5505270be..fbbb1035481 100644
--- a/mysql-test/suite/innodb/t/innodb-lock.test
+++ b/mysql-test/suite/innodb/t/innodb-lock.test
@@ -135,7 +135,6 @@ drop table t1;
connection default;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL) ENGINE=InnoDB;
-
INSERT INTO t1 VALUES(3,1);
BEGIN;
@@ -199,6 +198,10 @@ DROP TABLE t1, t2;
CREATE TABLE t1 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
PARTITION BY key (pk) PARTITIONS 2;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(100);
+INSERT INTO t1 VALUES(101);
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
INSERT INTO t2 VALUES (1),(2),(3),(4),(5),(6);
diff --git a/mysql-test/suite/innodb/t/innodb-online-alter-gis.test b/mysql-test/suite/innodb/t/innodb-online-alter-gis.test
index 1c99c6eeb9d..df0ab2e8184 100644
--- a/mysql-test/suite/innodb/t/innodb-online-alter-gis.test
+++ b/mysql-test/suite/innodb/t/innodb-online-alter-gis.test
@@ -35,6 +35,10 @@ DROP TABLE t1;
--echo # BTR_COPY_BLOB_PREFIX
--echo #
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE t1(f1 INT PRIMARY KEY, f3 LINESTRING NOT NULL,
SPATIAL KEY(f3))ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
@@ -58,5 +62,7 @@ let $linestr = $linestr 9999 9999);
--eval INSERT INTO t1 VALUES (1, ST_linefromtext(concat('linestring', '$linestr')));
ALTER TABLE t1 ROW_FORMAT = DYNAMIC, KEY_BLOCK_SIZE=0, ALGORITHM=INPLACE;
-
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
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
index 3e5b41c6db9..1cfd8e7112e 100644
--- a/mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt
+++ b/mysql-test/suite/innodb/t/innodb-stats-modified-counter.opt
@@ -1 +1 @@
---loose-innodb-sys-tablestats
+--loose-innodb-sys-tablestats --skip-innodb-stats-persistent
diff --git a/mysql-test/suite/innodb/t/innodb-system-table-view.opt b/mysql-test/suite/innodb/t/innodb-system-table-view.opt
index 4d6858cbe0b..6bf2c4c9c72 100644
--- a/mysql-test/suite/innodb/t/innodb-system-table-view.opt
+++ b/mysql-test/suite/innodb/t/innodb-system-table-view.opt
@@ -1,6 +1,5 @@
--innodb
--innodb-sys-tablespaces
---innodb-sys-datafiles
--innodb-sys-tablestats
--innodb-sys-tables
--innodb-sys-columns
diff --git a/mysql-test/suite/innodb/t/innodb-table-online.test b/mysql-test/suite/innodb/t/innodb-table-online.test
index ce014b0aa00..8e80c3fe8a3 100644
--- a/mysql-test/suite/innodb/t/innodb-table-online.test
+++ b/mysql-test/suite/innodb/t/innodb-table-online.test
@@ -9,7 +9,7 @@ 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");
+call mtr.add_suppression("MariaDB 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;
@@ -30,9 +30,7 @@ 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.
@@ -42,13 +40,11 @@ SET lock_wait_timeout = 1;
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';
@@ -61,14 +57,12 @@ 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.
@@ -78,20 +72,16 @@ SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL scanned WAIT_FOR insert_don
--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;
@@ -106,29 +96,24 @@ SHOW CREATE TABLE t1;
--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
+DELETE FROM t1 WHERE c1=4 and c2=7;
connection default;
ROLLBACK;
---echo # session con1
connection con1;
SHOW CREATE TABLE t1;
# Now, rebuild the table without any concurrent DML, while no duplicate exists.
@@ -137,7 +122,6 @@ 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);
@@ -148,7 +132,6 @@ BEGIN;
INSERT INTO t1 VALUES(7,4,2);
ROLLBACK;
---echo # session con1
connection con1;
let $ID= `SELECT @id := CONNECTION_ID()`;
--error ER_QUERY_INTERRUPTED
@@ -159,7 +142,6 @@ 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;
@@ -171,13 +153,11 @@ 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;
@@ -199,7 +179,6 @@ 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;
@@ -215,28 +194,20 @@ 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
+# while the index creation is blocked.
connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR rebuilt2';
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;
+let $c= 8;
while ($c)
{
- BEGIN;
- DELETE FROM t1;
- ROLLBACK;
UPDATE t1 SET c2 = c2 + 1;
- BEGIN;
- UPDATE t1 SET c2 = c2 + 1;
- DELETE FROM t1;
- ROLLBACK;
+ UPDATE t1 SET c2 = c2 + 2;
dec $c;
}
# Temporary table should exist until the DDL thread notices the overflow.
@@ -261,7 +232,6 @@ SELECT
# 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.
@@ -295,7 +265,6 @@ ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(c22f,c1,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.)
@@ -303,16 +272,12 @@ 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;
+COMMIT;
eval $innodb_metrics_select;
# Release con1.
SET DEBUG_SYNC = 'now SIGNAL dml3_done';
---echo # session con1
connection con1;
reap;
eval $innodb_metrics_select;
@@ -365,26 +330,19 @@ ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL, DROP COLUMN c22f,
DROP PRIMARY KEY, ADD PRIMARY KEY(c1,c4(5)),
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,'');
+COMMIT;
SET DEBUG_SYNC = 'now SIGNAL ins_done0';
---echo # session con1
connection con1;
---error WARN_DATA_TRUNCATED
+--error ER_INVALID_USE_OF_NULL
reap;
-
---echo # session default
-connection default;
-ROLLBACK;
-
---echo # session con1
-connection con1;
+DELETE FROM t1 WHERE c1= 347 and c22f = 33101;
ALTER TABLE t1 MODIFY c3 CHAR(255) NOT NULL;
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL c3p5_created WAIT_FOR ins_done';
@@ -394,7 +352,6 @@ 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';
@@ -403,33 +360,49 @@ 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;
+CREATE TABLE t1 (a INT PRIMARY KEY, b blob) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(0,NULL);
+
+connection con1;
+SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL created WAIT_FOR ins';
+send ALTER TABLE t1 FORCE;
+
+connection default;
+SET DEBUG_SYNC = 'now WAIT_FOR created';
+BEGIN;
+INSERT INTO t1 VALUES(1, repeat('a', 10000));
+ROLLBACK;
+SET DEBUG_SYNC = 'now SIGNAL ins';
+
+connection con1;
+reap;
+disconnect con1;
+
+connection default;
+SELECT * FROM t1;
+DROP TABLE t1;
+SET DEBUG_SYNC = 'RESET';
+
# 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-truncate.test b/mysql-test/suite/innodb/t/innodb-truncate.test
index 71c0fcfea8b..4d39fcaef6d 100644
--- a/mysql-test/suite/innodb/t/innodb-truncate.test
+++ b/mysql-test/suite/innodb/t/innodb-truncate.test
@@ -92,3 +92,19 @@ ALTER TABLE t1 FORCE;
--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE TABLE t1;
DROP TABLE t2, t1;
+
+--echo #
+--echo # MDEV-24861 Assertion `trx->rsegs.m_redo.rseg' failed
+--echo # in innodb_prepare_commit_versioned
+--echo #
+
+CREATE TABLE t1 (id INT PRIMARY KEY, f TEXT UNIQUE,
+ s BIGINT UNSIGNED AS ROW START, e BIGINT UNSIGNED AS ROW END,
+ PERIOD FOR SYSTEM_TIME(s,e))
+ENGINE=InnoDB WITH SYSTEM VERSIONING;
+CREATE TABLE t2 (id INT PRIMARY KEY) ENGINE=InnoDB;
+ALTER TABLE t1 FORCE;
+TRUNCATE TABLE t2;
+DROP TABLE t1, t2;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
index 7bc71d87a03..b460cba9322 100644
--- a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
@@ -20,7 +20,6 @@
let $restart_noprint=2;
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation.");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified.");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: .*");
call mtr.add_suppression("InnoDB: Ignoring tablespace .* because it could not be opened.");
call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
@@ -29,6 +28,7 @@ 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=");
call mtr.add_suppression("InnoDB: Unknown index id .* on page");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
FLUSH TABLES;
let MYSQLD_DATADIR =`SELECT @@datadir`;
@@ -1015,6 +1015,7 @@ do "$ENV{MTR_SUITE_DIR}/include/innodb-util.pl";
ib_restore_tablespaces("test", "t1");
EOF
+ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;
#
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522.test b/mysql-test/suite/innodb/t/innodb-wl5522.test
index 7bad2ae9002..19652d8e8fd 100644
--- a/mysql-test/suite/innodb/t/innodb-wl5522.test
+++ b/mysql-test/suite/innodb/t/innodb-wl5522.test
@@ -7,6 +7,8 @@
call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\.");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
+
FLUSH TABLES;
let $MYSQLD_TMPDIR = `SELECT @@tmpdir`;
@@ -552,7 +554,10 @@ ib_unlink_tablespace("test", "t1");
EOF
DROP TABLE t1;
-
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE t1(
c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
c2 INT, INDEX idx(c2)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
@@ -1071,6 +1076,9 @@ SHOW CREATE TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
CREATE TABLE t1 ( id INT NOT NULL, i1 INT, i2 INT, i3 INT, PRIMARY KEY (id)) engine=innodb;
@@ -1101,18 +1109,9 @@ FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
--error ER_TABLE_SCHEMA_MISMATCH
ALTER TABLE t2 IMPORT TABLESPACE;
-
---remove_file $MYSQLD_DATADIR/test/t2.ibd
---remove_file $MYSQLD_DATADIR/test/t2.cfg
-
-
DROP TABLE t1, t2;
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
diff --git a/mysql-test/suite/innodb/t/innodb-wl5980-alter.test b/mysql-test/suite/innodb/t/innodb-wl5980-alter.test
index 22b1306e902..8f58bc6ce48 100644
--- a/mysql-test/suite/innodb/t/innodb-wl5980-alter.test
+++ b/mysql-test/suite/innodb/t/innodb-wl5980-alter.test
@@ -7,7 +7,7 @@
--source include/have_symlink.inc
SET @innodb_file_per_table_orig=@@GLOBAL.innodb_file_per_table;
-LET $regexp=/FTS_[0-9a-f_]+([A-Z0-9_]+)\.([islbd]{3})/FTS_AUX_\1.\2/ /#sql-ib[1-9][0-9]*\.ibd\n//;
+LET $regexp=/FTS_[0-9a-f_]+([A-Z0-9_]+)\.([islbd]{3})/FTS_AUX_\1.\2/;
# Set up some variables
LET $MYSQL_DATA_DIR = `select @@datadir`;
diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test
index 090c9b2b034..3a8c12dfbbd 100644
--- a/mysql-test/suite/innodb/t/innodb.test
+++ b/mysql-test/suite/innodb/t/innodb.test
@@ -3,7 +3,7 @@
let $MYSQLD_DATADIR= `select @@datadir`;
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
--source include/have_collation.inc
create temporary table t (a char(1) character set filename) engine=innodb;
@@ -79,7 +79,7 @@ CREATE TABLE t1 (
PRIMARY KEY (id),
KEY parent_id (parent_id),
KEY level (level)
-) engine=innodb;
+) engine=innodb stats_persistent=0;
INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
update t1 set parent_id=parent_id+100;
select * from t1 where parent_id=102;
diff --git a/mysql-test/suite/innodb/t/innodb_blob_truncate.test b/mysql-test/suite/innodb/t/innodb_blob_truncate.test
deleted file mode 100644
index 3e54ec80e2b..00000000000
--- a/mysql-test/suite/innodb/t/innodb_blob_truncate.test
+++ /dev/null
@@ -1,32 +0,0 @@
---source include/have_innodb.inc
---source include/have_innodb_16k.inc
-
-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;
diff --git a/mysql-test/suite/innodb/t/innodb_buffer_pool_resize.test b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize.test
index b82fd78b1c3..932829470e3 100644
--- a/mysql-test/suite/innodb/t/innodb_buffer_pool_resize.test
+++ b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize.test
@@ -28,6 +28,10 @@ set global innodb_buffer_pool_size = 10485760;
select @@innodb_buffer_pool_size;
# fill buffer pool
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
create table t1 (id int not null, val int not null default '0', primary key (id)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
create or replace view view0 as select 1 union all select 1;
@@ -36,6 +40,9 @@ set @`v_val` := 0;
# 2^18 == 262144 records
replace into t1 select (@`v_id` := (@`v_id` + 4) mod 4294967296) as id, (@`v_val` := (@`v_val` + 4) mod 4294967296) as val from view0 v0, view0 v1, view0 v2, view0 v3, view0 v4, view0 v5, view0 v6, view0 v7, view0 v8, view0 v9, view0 v10, view0 v11, view0 v12, view0 v13, view0 v14, view0 v15, view0 v16, view0 v17;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
# Shrink buffer pool
set global innodb_buffer_pool_size = 7340032;
diff --git a/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.opt b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.opt
new file mode 100644
index 00000000000..72f055d3b58
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.opt
@@ -0,0 +1,2 @@
+--innodb-buffer-pool-chunk-size=1M
+--loose-skip-innodb-disable-resize_buffer_pool_debug
diff --git a/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.test b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.test
new file mode 100644
index 00000000000..db5da2924fa
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_bigtest.test
@@ -0,0 +1,28 @@
+--source include/have_innodb.inc
+--source include/big_test.inc
+
+SET @save_size=@@innodb_buffer_pool_size;
+
+let $wait_timeout = 60;
+let $wait_condition =
+ SELECT SUBSTR(variable_value, 1, 30) = 'Completed resizing buffer pool'
+ FROM information_schema.global_status
+ WHERE variable_name = 'INNODB_BUFFER_POOL_RESIZE_STATUS';
+
+--echo #
+--echo # MDEV-27891: Delayed SIGSEGV in InnoDB buffer pool resize
+--echo # after or during DROP TABLE
+--echo #
+
+select @@innodb_buffer_pool_chunk_size;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET GLOBAL innodb_buffer_pool_size=256*1024*1024;
+DROP TABLE t1;
+--source include/wait_condition.inc
+SET GLOBAL innodb_buffer_pool_size=@@innodb_buffer_pool_size + @@innodb_buffer_pool_chunk_size;
+--source include/wait_condition.inc
+
+--echo # End of 10.6 tests
+
+SET GLOBAL innodb_buffer_pool_size=@save_size;
+--source include/wait_condition.inc
diff --git a/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_with_chunks.test b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_with_chunks.test
index 525efd5bea0..d11443ca1b2 100644
--- a/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_with_chunks.test
+++ b/mysql-test/suite/innodb/t/innodb_buffer_pool_resize_with_chunks.test
@@ -19,6 +19,10 @@ set @old_innodb_buffer_pool_size = @@innodb_buffer_pool_size;
select @@innodb_buffer_pool_chunk_size;
# fill buffer pool
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
create table t1 (id int not null, val int not null default '0', primary key (id)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
create or replace view view0 as select 1 union all select 1;
@@ -27,6 +31,9 @@ set @`v_val` := 0;
# 2^18 == 262144 records
replace into t1 select (@`v_id` := (@`v_id` + 4) mod 4294967296) as id, (@`v_val` := (@`v_val` + 4) mod 4294967296) as val from view0 v0, view0 v1, view0 v2, view0 v3, view0 v4, view0 v5, view0 v6, view0 v7, view0 v8, view0 v9, view0 v10, view0 v11, view0 v12, view0 v13, view0 v14, view0 v15, view0 v16, view0 v17;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
# Shrink buffer pool to 7MB
set global innodb_buffer_pool_size = 7340032;
diff --git a/mysql-test/suite/innodb/t/innodb_bug12400341-master.opt b/mysql-test/suite/innodb/t/innodb_bug12400341-master.opt
deleted file mode 100644
index 9f65e8b12e4..00000000000
--- a/mysql-test/suite/innodb/t/innodb_bug12400341-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---max_connections=64 --innodb_thread_concurrency=0
diff --git a/mysql-test/suite/innodb/t/innodb_bug12400341.test b/mysql-test/suite/innodb/t/innodb_bug12400341.test
index 3b5fd18a456..13eadc70bee 100644
--- a/mysql-test/suite/innodb/t/innodb_bug12400341.test
+++ b/mysql-test/suite/innodb/t/innodb_bug12400341.test
@@ -10,7 +10,6 @@
# 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*");
call mtr.add_suppression("\\[Warning\\] InnoDB: Cannot find a free slot for an undo log. Do you have too");
--disable_query_log
@@ -18,10 +17,6 @@ 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
-show variables like "max_connections";
-show variables like "innodb_thread_concurrency";
-show variables like "innodb_file_per_table";
-
--disable_warnings
drop database if exists mysqltest;
--enable_warnings
diff --git a/mysql-test/suite/innodb/t/innodb_bug30919.test b/mysql-test/suite/innodb/t/innodb_bug30919.test
index 56b2c7bc03d..b80da1244fb 100644
--- a/mysql-test/suite/innodb/t/innodb_bug30919.test
+++ b/mysql-test/suite/innodb/t/innodb_bug30919.test
@@ -22,6 +22,8 @@ eval CREATE TABLE test.part_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
######## Create SPs, Functions, Views and Triggers Section ##############
+--enable_prepare_warnings
+
delimiter |;
CREATE PROCEDURE test.proc_part()
@@ -52,6 +54,8 @@ END|
delimiter ;|
+--disable_prepare_warnings
+
############ Finish Setup Section ###################
############ Test Section ###################
diff --git a/mysql-test/suite/innodb/t/innodb_bug51920.test b/mysql-test/suite/innodb/t/innodb_bug51920.test
index c83e00db22a..0a9839b612a 100644
--- a/mysql-test/suite/innodb/t/innodb_bug51920.test
+++ b/mysql-test/suite/innodb/t/innodb_bug51920.test
@@ -22,9 +22,11 @@ let $wait_condition =
WHERE INFO="UPDATE bug51920 SET i=2";
-- source include/wait_condition.inc
+--enable_prepare_warnings
SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE INFO="UPDATE bug51920 SET i=2"
INTO @thread_id;
+--disable_prepare_warnings
KILL @thread_id;
let $wait_condition =
diff --git a/mysql-test/suite/innodb/t/innodb_bug53046.test b/mysql-test/suite/innodb/t/innodb_bug53046.test
index a202c0c52c7..a2021ee87cc 100644
--- a/mysql-test/suite/innodb/t/innodb_bug53046.test
+++ b/mysql-test/suite/innodb/t/innodb_bug53046.test
@@ -4,9 +4,6 @@
# dict_update_statistics_low can still be run concurrently on same table
#
# This is a symbolic test, it would not fail if the bug is present.
-# Rather those SQL commands have been used during manual testing under
-# innodb_sync_debug to test all changed codepaths for locking
-# correctness.
#
CREATE TABLE bug53046_1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
diff --git a/mysql-test/suite/innodb/t/innodb_bug57252.test b/mysql-test/suite/innodb/t/innodb_bug57252.test
index 5a4ca1ab6d8..eafcaee19bd 100644
--- a/mysql-test/suite/innodb/t/innodb_bug57252.test
+++ b/mysql-test/suite/innodb/t/innodb_bug57252.test
@@ -9,7 +9,7 @@
SET @innodb_stats_on_metadata_orig = @@innodb_stats_on_metadata;
-CREATE TABLE bug57252 (a INT, KEY akey (a)) ENGINE=INNODB;
+CREATE TABLE bug57252 (a INT, KEY akey (a)) ENGINE=INNODB STATS_PERSISTENT=0;
BEGIN;
let $i = 10;
diff --git a/mysql-test/suite/innodb/t/innodb_bug84958.test b/mysql-test/suite/innodb/t/innodb_bug84958.test
index cbcc5d1abc6..f895c8d1245 100644
--- a/mysql-test/suite/innodb/t/innodb_bug84958.test
+++ b/mysql-test/suite/innodb/t/innodb_bug84958.test
@@ -36,7 +36,7 @@ DELIMITER ;~~
--echo # Create a table with one record in it and start an RR transaction
--echo #
CREATE TABLE t1 (a INT, b INT, c INT, PRIMARY KEY(a,b), KEY (b,c))
-ENGINE=InnoDB;
+ENGINE=InnoDB STATS_PERSISTENT=0;
BEGIN;
SELECT * FROM t1;
diff --git a/mysql-test/suite/innodb/t/innodb_ctype_ldml.test b/mysql-test/suite/innodb/t/innodb_ctype_ldml.test
index f065c51505b..90e7f89d7fd 100644
--- a/mysql-test/suite/innodb/t/innodb_ctype_ldml.test
+++ b/mysql-test/suite/innodb/t/innodb_ctype_ldml.test
@@ -24,7 +24,7 @@ set names utf8;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
show variables like 'character_sets_dir%';
-show collation like 'utf8_phone_ci';
+show collation like 'utf8mb3_phone_ci';
CREATE TABLE t1 (
name VARCHAR(64),
phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
@@ -40,7 +40,7 @@ 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';
+show collation like 'utf8mb3_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';
@@ -200,7 +200,7 @@ 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';
+show collation like 'utf8mb3_phone_ci';
SET NAMES utf8;
# make sure utf8mb4_test_400_ci is Unicode-4.0.0 based
diff --git a/mysql-test/suite/innodb/t/innodb_defrag_stats.test b/mysql-test/suite/innodb/t/innodb_defrag_stats.test
index 799faa93ff0..ef79d8d6ade 100644
--- a/mysql-test/suite/innodb/t/innodb_defrag_stats.test
+++ b/mysql-test/suite/innodb/t/innodb_defrag_stats.test
@@ -64,7 +64,6 @@ rename table t1 to t2;
--sorted_result
SELECT table_name, index_name, stat_name FROM mysql.innodb_index_stats;
---echo # Drop index should cause stats drop, but will not.
drop index SECOND on t2;
--echo #
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt b/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt
index 9f30d81ef9c..4edc71b6217 100644
--- a/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt
+++ b/mysql-test/suite/innodb/t/innodb_information_schema_tables.opt
@@ -19,7 +19,6 @@
--loose-innodb_sys_foreign_cols
--loose-innodb_changed_pages
--loose-innodb_rseg
---loose-innodb_undo_logs
--loose-innodb_sys_stats
--loose-innodb_table_stats
--loose-innodb_index_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
index 587a2d7e6c1..05d6c5f9435 100644
--- a/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt
+++ b/mysql-test/suite/innodb/t/innodb_max_recordsize_32k.opt
@@ -2,3 +2,4 @@
--innodb_buffer_pool_size=32M
--skip-innodb-stats-persistent
--innodb-sys-tablestats
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt b/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt
index 1a8442b841f..1c11f5f2add 100644
--- a/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt
+++ b/mysql-test/suite/innodb/t/innodb_max_recordsize_64k.opt
@@ -2,3 +2,4 @@
--innodb_buffer_pool_size=32M
--skip-innodb-stats-persistent
--innodb-sys-tablestats
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/innodb/t/innodb_mutexes-master.opt b/mysql-test/suite/innodb/t/innodb_mutexes-master.opt
deleted file mode 100644
index 493faf1903e..00000000000
--- a/mysql-test/suite/innodb/t/innodb_mutexes-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---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
deleted file mode 100644
index 3b6b949c25d..00000000000
--- a/mysql-test/suite/innodb/t/innodb_mutexes.test
+++ /dev/null
@@ -1,66 +0,0 @@
---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_skip_innodb_is_tables.opt b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt
index 513791a0a88..f34d023228c 100644
--- a/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt
+++ b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.opt
@@ -59,7 +59,3 @@
--loose-innodb_sys_datafiles
--loose-innodb_changed_pages
--loose-innodb_tablespaces_encryption
---loose-innodb_mutexes
---loose-innodb_sys_semaphore_waits
---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
index a5d5d3fe34e..e3885f18047 100644
--- a/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test
+++ b/mysql-test/suite/innodb/t/innodb_skip_innodb_is_tables.test
@@ -18,8 +18,6 @@ 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;
@@ -28,9 +26,4 @@ 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;
---error 0,1109
-select * from information_schema.innodb_changed_pages;
select * from information_schema.innodb_tablespaces_encryption;
-select * from information_schema.innodb_mutexes;
-select * from information_schema.innodb_sys_semaphore_waits;
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
index 5d36cfdcbb9..2ca5ee9fe31 100644
--- a/mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test
+++ b/mysql-test/suite/innodb/t/innodb_stats_create_on_corrupted.test
@@ -12,6 +12,8 @@
call mtr.add_suppression("InnoDB: Table .*innodb_index_stats.* not found");
call mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table .*");
+call mtr.add_suppression("InnoDB: Table mysql\\.innodb_index_stats has length mismatch in the column name stat_description\\. Please run mariadb-upgrade");
+call mtr.add_suppression("InnoDB: Column stat_description in table mysql\\.innodb_index_stats is VARCHAR");
-- vertical_results
@@ -34,6 +36,15 @@ 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;
+SET old_mode='';
+ALTER TABLE mysql.innodb_index_stats
+MODIFY stat_description VARCHAR(1024) COLLATE utf8_bin;
+CREATE TABLE t (a INT) ENGINE=InnoDB STATS_PERSISTENT=1;
+ALTER TABLE mysql.innodb_index_stats
+MODIFY stat_description VARCHAR(1024) COLLATE utf8mb3_bin NOT NULL;
+
+DROP TABLE t;
+
--source include/restart_mysqld.inc
-- vertical_results
diff --git a/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test b/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test
index 07c77299451..6532816bb37 100644
--- a/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test
+++ b/mysql-test/suite/innodb/t/innodb_stats_drop_locked.test
@@ -5,49 +5,44 @@
-- source include/have_innodb.inc
--- disable_warnings
--- disable_query_log
-
-DROP TABLE IF EXISTS innodb_stats_drop_locked;
+CREATE DATABASE unlocked;
+CREATE TABLE unlocked.t1(a INT PRIMARY KEY) ENGINE=INNODB STATS_PERSISTENT=0;
+CREATE DATABASE locked;
+CREATE TABLE locked.t1(a INT PRIMARY KEY) ENGINE=INNODB STATS_PERSISTENT=1;
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;
-
+BEGIN;
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,,)
+SET innodb_lock_wait_timeout=1;
--- connection con1
-
+--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE innodb_stats_drop_locked DROP INDEX c_key;
# the index should be gone
SHOW CREATE TABLE innodb_stats_drop_locked;
+--error ER_LOCK_WAIT_TIMEOUT
DROP TABLE innodb_stats_drop_locked;
-# the table should be gone
-SHOW TABLES;
-
--- connection default
-
+DROP DATABASE unlocked;
+--error ER_LOCK_WAIT_TIMEOUT
+DROP DATABASE locked;
-- disconnect con1
-
+-- connection default
COMMIT;
+DROP DATABASE locked;
+
# the stats should be there
SELECT table_name FROM mysql.innodb_table_stats
@@ -56,8 +51,15 @@ WHERE table_name='innodb_stats_drop_locked';
SELECT table_name FROM mysql.innodb_index_stats
WHERE table_name='innodb_stats_drop_locked';
-DELETE FROM mysql.innodb_index_stats WHERE database_name='test' AND table_name='innodb_stats_drop_locked';
-DELETE FROM mysql.innodb_table_stats WHERE database_name='test' AND 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
+ALTER TABLE innodb_stats_drop_locked DROP INDEX c_key;
+
+SELECT table_name FROM mysql.innodb_index_stats
+WHERE table_name='innodb_stats_drop_locked';
+
+DROP TABLE innodb_stats_drop_locked;
+
+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';
diff --git a/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test b/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test
index b6c1ced9985..acc88800269 100644
--- a/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test
+++ b/mysql-test/suite/innodb/t/innodb_stats_fetch_corrupted.test
@@ -10,8 +10,8 @@
# server restart
-- source include/not_embedded.inc
-call mtr.add_suppression("InnoDB: Table `mysql`.`innodb_index_stats` not found");
-call mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table.*");
+call mtr.add_suppression("InnoDB: Column stat_value in table mysql\\.innodb_index_stats is BIGINT UNSIGNED but should be BIGINT UNSIGNED NOT NULL");
+call mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table");
-- vertical_results
@@ -27,7 +27,7 @@ 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_;
+ALTER TABLE mysql.innodb_index_stats MODIFY stat_value BIGINT UNSIGNED NULL;
# reopen the table, this will attept to read from the persistent storage
FLUSH TABLE test_ps_fetch_corrupted;
@@ -42,7 +42,15 @@ 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;
+ALTER TABLE mysql.innodb_index_stats MODIFY stat_value BIGINT UNSIGNED NOT NULL;
+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;
+
+SELECT table_rows, avg_row_length, max_data_length, index_length
+FROM information_schema.tables WHERE table_name = 'test_ps_fetch_corrupted';
DROP TABLE test_ps_fetch_corrupted;
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
index e5b5d1814c0..3f0b5c03b3d 100644
--- 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
@@ -10,9 +10,10 @@
-- vertical_results
-CREATE TABLE stats_rename1 (a INT, PRIMARY KEY (a))
+CREATE TABLE stats_rename1 (a INT PRIMARY KEY, b INT UNIQUE)
ENGINE=INNODB STATS_PERSISTENT=1;
+BEGIN;
INSERT INTO mysql.innodb_table_stats
SELECT
database_name,
@@ -24,7 +25,7 @@ sum_of_other_index_sizes
FROM mysql.innodb_table_stats
WHERE table_name = 'stats_rename1';
-INSERT INTO mysql.innodb_index_stats
+INSERT INTO mysql.innodb_index_stats
SELECT
database_name,
'stats_rename2' AS table_name,
@@ -36,6 +37,7 @@ sample_size,
stat_description
FROM mysql.innodb_index_stats
WHERE table_name = 'stats_rename1';
+COMMIT;
SELECT table_name, n_rows
FROM mysql.innodb_table_stats
@@ -45,7 +47,22 @@ SELECT table_name, index_name, stat_name, stat_value
FROM mysql.innodb_index_stats
WHERE table_name IN ('stats_rename1', 'stats_rename2');
+--error ER_DUP_KEY
RENAME TABLE stats_rename1 TO stats_rename2;
+BEGIN;
+DELETE FROM mysql.innodb_table_stats WHERE table_name='stats_rename2';
+DELETE FROM mysql.innodb_index_stats WHERE table_name='stats_rename2';
+COMMIT;
+RENAME TABLE stats_rename1 TO stats_rename2;
+
+UPDATE mysql.innodb_index_stats SET index_name='c'
+WHERE table_name='stats_rename2' AND index_name='PRIMARY';
+--error ER_DUP_KEY
+ALTER TABLE stats_rename2 CHANGE b d INT, RENAME INDEX b TO c;
+UPDATE mysql.innodb_index_stats SET index_name='PRIMARY'
+WHERE table_name='stats_rename2' AND index_name='c';
+
+ALTER TABLE stats_rename2 CHANGE b d INT, RENAME INDEX b TO c;
SELECT table_name, n_rows
FROM mysql.innodb_table_stats
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
deleted file mode 100644
index dbac5bb16a9..00000000000
--- a/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits-master.opt
+++ /dev/null
@@ -1,2 +0,0 @@
---innodb-fatal-semaphore-wait-threshold=1
---innodb-sys-semaphore-waits=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
deleted file mode 100644
index a0b9fc626f3..00000000000
--- a/mysql-test/suite/innodb/t/innodb_sys_semaphore_waits.test
+++ /dev/null
@@ -1,115 +0,0 @@
---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
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-connection con1;
-eval create table t1 (id integer, x integer) engine = InnoDB;
-insert into t1 values(0, 0);
-
-# Enable the debug injection.
-SET @saved_dbug = @@SESSION.debug_dbug;
-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
-
-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.
-
-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,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,2002,2006,2013
- show status;
-
- --error 0,ER_SERVER_SHUTDOWN,ER_CONNECTION_KILLED,2002,2006,2013
- select * from information_schema.innodb_sys_semaphore_waits;
-
- dec $counter;
- if (!$counter)
- {
- # This will fail this test.
- --die Server failed to disappear
- }
- --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 = @saved_dbug;
-drop table if exists t1;
---enable_warnings
-
---echo # Clean exit
diff --git a/mysql-test/suite/innodb/t/innodb_trx_weight.test b/mysql-test/suite/innodb/t/innodb_trx_weight.test
index 8dc23e99585..819f05f331e 100644
--- a/mysql-test/suite/innodb/t/innodb_trx_weight.test
+++ b/mysql-test/suite/innodb/t/innodb_trx_weight.test
@@ -22,10 +22,6 @@ SET default_storage_engine=InnoDB;
# if someone runs ./mysql-test-run.pl --ps-protocol
-- disable_ps_protocol
--- disable_warnings
-DROP TABLE IF EXISTS t1, t2, t3, t4, t5_nontrans;
--- enable_warnings
-
# we will create a simple deadlock with t1, t2 and two connections
CREATE TABLE t1 (a INT);
CREATE TABLE t2 (a INT);
@@ -78,7 +74,7 @@ INSERT INTO t3 SELECT * FROM t3;
-- let $con1_extra_sql_present = 1
-- let $con2_extra_sql = SELECT * FROM t3 FOR UPDATE
-- let $con2_extra_sql_present = 1
--- let $con1_should_be_rolledback = 0
+-- let $con1_should_be_rolledback = 1
-- source include/innodb_trx_weight.inc
# test weight when non-transactional tables are edited
diff --git a/mysql-test/suite/innodb/t/insert_into_empty.test b/mysql-test/suite/innodb/t/insert_into_empty.test
new file mode 100644
index 00000000000..8b885cb5b4f
--- /dev/null
+++ b/mysql-test/suite/innodb/t/insert_into_empty.test
@@ -0,0 +1,195 @@
+--source include/have_innodb.inc
+--source include/have_sequence.inc
+--source include/maybe_debug.inc
+--source include/have_partition.inc
+
+# Enable MDEV-515 table-level undo logging for insert into empty table
+SET foreign_key_checks=0, unique_checks=0;
+
+--echo #
+--echo # MDEV-24715 Assertion !node->table->skip_alter_undo
+--echo #
+CREATE TABLE t (a INT UNIQUE) ENGINE=InnoDB
+REPLACE SELECT 1 AS a, 2 AS b UNION SELECT 1 AS a, 3 AS c;
+SELECT * FROM t;
+DROP TABLE t;
+
+CREATE TEMPORARY TABLE t (a INT UNIQUE) ENGINE=InnoDB
+REPLACE SELECT 1 AS a, 2 AS b UNION SELECT 1 AS a, 3 AS c;
+SELECT * FROM t;
+DROP TEMPORARY TABLE t;
+
+--echo #
+--echo # MDEV-24720 AHI removal during bulk index rollback
+--echo #
+SET @save_ahi = @@global.innodb_adaptive_hash_index;
+SET GLOBAL innodb_adaptive_hash_index = 1;
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 SELECT * FROM seq_1_to_65536;
+ROLLBACK;
+CHECK TABLE t1;
+--echo #
+--echo # MDEV-24832 Root page AHI Removal fails fails during
+--echo # bulk index rollback
+--echo #
+BEGIN;
+INSERT INTO t1 SELECT * FROM seq_1_to_500;
+ROLLBACK;
+DROP TABLE t1;
+SET GLOBAL innodb_adaptive_hash_index = @save_ahi;
+
+--echo #
+--echo # MDEV-24951 Assertion m.first->second.valid(trx->undo_no) failed
+--echo # in trx_undo_report_row_operation
+--echo #
+
+CREATE TEMPORARY TABLE t (c INT) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2 (c INT) ENGINE=InnoDB;
+SET tx_read_only=1;
+BEGIN;
+INSERT INTO t2 VALUES(0);
+INSERT INTO t VALUES(0);
+COMMIT;
+INSERT INTO t VALUES(0);
+
+--error ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION
+DROP TEMPORARY TABLE t,t2;
+SET tx_read_only=0;
+DROP TEMPORARY TABLE t,t2;
+
+--echo #
+--echo # MDEV-24818 Optimize multiple INSERT into empty table
+--echo #
+
+CREATE TABLE t1(f1 INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (4),(5),(6);
+COMMIT;
+SELECT * FROM t1;
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+SAVEPOINT a;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (4),(5),(6);
+ROLLBACK TO SAVEPOINT a;
+COMMIT;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+# Repeat the same with the MDEV-515 test disabled
+SET foreign_key_checks=1;
+
+CREATE TABLE t1(f1 INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES (5),(6),(7);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (4),(5),(6);
+COMMIT;
+SELECT * FROM t1;
+BEGIN;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (5),(6),(7);
+SAVEPOINT a;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (4),(5),(6);
+ROLLBACK TO SAVEPOINT a;
+COMMIT;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+SET foreign_key_checks=0;
+
+--echo #
+--echo # MDEV-25315 Crash in SHOW ENGINE INNODB STATUS
+--echo #
+
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES(1);
+BEGIN;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2 VALUES(0);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(2), (2);
+--disable_result_log
+SHOW ENGINE InnoDB STATUS;
+--enable_result_log
+COMMIT;
+DROP TABLE t1,t2;
+
+--echo #
+--echo # MDEV-25297 Assertion: trx->roll_limit <= trx->undo_no
+--echo # in ROLLBACK TO SAVEPOINT
+--echo #
+
+CREATE TABLE t1 (c INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (c INT PRIMARY KEY) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES(0);
+SAVEPOINT x;
+INSERT INTO t2 VALUES(0);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES(0);
+--error ER_ERROR_DURING_ROLLBACK
+ROLLBACK TO SAVEPOINT x;
+COMMIT;
+SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1,t2;
+
+--echo #
+--echo # MDEV-25487 Assertion failed in lock_rec_move
+--echo #
+
+CREATE TABLE t1 (a INT KEY) ENGINE=InnoDB;
+
+--error 0,1193
+SET @save_limit = @@GLOBAL.innodb_limit_optimistic_insert_debug;
+--error 0,1193
+SET GLOBAL innodb_limit_optimistic_insert_debug = 2;
+
+BEGIN;
+SELECT * FROM t1 LOCK IN SHARE MODE;
+INSERT INTO t1 VALUES (0),(1),(2);
+--error ER_WRONG_VALUE_COUNT_ON_ROW
+INSERT INTO t1 VALUES (0,1);
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (2);
+COMMIT;
+
+--error 0,ER_UNKNOWN_SYSTEM_VARIABLE
+SET GLOBAL innodb_limit_optimistic_insert_debug = @save_limit;
+
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25534 Assertion lock_table_has...LOCK_IX
+--echo #
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET autocommit=0;
+LOCK TABLE t1 WRITE;
+INSERT INTO t1 VALUES (1);
+COMMIT;
+CREATE TEMPORARY TABLE t0 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t0 VALUES (1);
+INSERT INTO t1 VALUES (2);
+COMMIT;
+SET autocommit=1;
+DROP TABLE t1;
+DROP TEMPORARY TABLE t0;
+
+--echo #
+--echo # MDEV-25496 Assertion 'trx->bulk_insert' failed
+--echo # in trx_undo_report_row_operation on INSERT
+--echo #
+CREATE TABLE t (i INT) ENGINE=InnoDB PARTITION BY HASH (i) PARTITIONS 2;
+INSERT INTO t VALUES (0);
+INSERT INTO t VALUES (1),(0),(1);
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/insert_into_empty_debug.test b/mysql-test/suite/innodb/t/insert_into_empty_debug.test
new file mode 100644
index 00000000000..4d2b99bd554
--- /dev/null
+++ b/mysql-test/suite/innodb/t/insert_into_empty_debug.test
@@ -0,0 +1,36 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+
+# Encounter aborted online index during rollback of bulk insert
+
+CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
+ PRIMARY KEY(f1))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 2), (2, 2);
+
+SET DEBUG_SYNC="innodb_rollback_inplace_alter_table SIGNAL dml_start WAIT_FOR dml_commit";
+send ALTER TABLE t1 ADD UNIQUE KEY(f2);
+
+connect(con1,localhost,root,,,);
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+DELETE FROM t1;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+connection con1;
+COMMIT;
+TRUNCATE TABLE t1;
+SET unique_checks=0, foreign_key_checks=0;
+BEGIN;
+INSERT INTO t1 VALUES(1, 2);
+ROLLBACK;
+
+connection default;
+SELECT * FROM t1;
+SHOW CREATE TABLE t1;
+disconnect con1;
+DROP TABLE t1;
+SET DEBUG_SYNC=RESET;
diff --git a/mysql-test/suite/innodb/t/instant_alter.opt b/mysql-test/suite/innodb/t/instant_alter.opt
index 99bf0e5a28b..1f0d2d43ddf 100644
--- a/mysql-test/suite/innodb/t/instant_alter.opt
+++ b/mysql-test/suite/innodb/t/instant_alter.opt
@@ -1 +1 @@
---innodb-sys-tablestats
+--innodb-sys-tablestats --skip-innodb-stats-persistent
diff --git a/mysql-test/suite/innodb/t/instant_alter_bugs.test b/mysql-test/suite/innodb/t/instant_alter_bugs.test
index ada7f9e2bfe..d72624347f7 100644
--- a/mysql-test/suite/innodb/t/instant_alter_bugs.test
+++ b/mysql-test/suite/innodb/t/instant_alter_bugs.test
@@ -210,7 +210,10 @@ SELECT * FROM t1;
DROP TABLE t1;
--echo # End of 10.3 tests
-
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
create table t (
a varchar(9),
b int,
@@ -225,6 +228,9 @@ alter table t modify a varchar(10), algorithm=instant;
alter table t change b bb int, algorithm=instant;
alter table t modify c int without system versioning, algorithm=instant;
set @@system_versioning_alter_history = error;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
check table t;
drop table t;
diff --git a/mysql-test/suite/innodb/t/instant_alter_crash.test b/mysql-test/suite/innodb/t/instant_alter_crash.test
index 43db8f619f3..ddeaa6885e6 100644
--- a/mysql-test/suite/innodb/t/instant_alter_crash.test
+++ b/mysql-test/suite/innodb/t/instant_alter_crash.test
@@ -55,7 +55,6 @@ ALTER TABLE t2 DROP COLUMN c3, ADD COLUMN c5 TEXT DEFAULT 'naturam abhorrere';
connection default;
SET DEBUG_SYNC='now WAIT_FOR ddl';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
-SET debug_dbug='+d,dict_sys_mutex_avoid';
UPDATE t1 SET c2=c2+1;
--source include/kill_mysqld.inc
@@ -84,7 +83,6 @@ ALTER TABLE t2 ADD COLUMN (c4 TEXT NOT NULL DEFAULT ' et malorum');
connection default;
SET DEBUG_SYNC='now WAIT_FOR ddl';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
-SET debug_dbug='+d,dict_sys_mutex_avoid';
DELETE FROM t1;
--source include/kill_mysqld.inc
@@ -191,7 +189,6 @@ ALTER TABLE t3 ADD COLUMN c3 TEXT NOT NULL DEFAULT 'sic transit gloria mundi';
connection default;
SET DEBUG_SYNC='now WAIT_FOR ddl';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
-SET debug_dbug='+d,dict_sys_mutex_avoid';
INSERT INTO t1 VALUES(0,0);
--source include/kill_mysqld.inc
@@ -203,5 +200,4 @@ SHOW CREATE TABLE t2;
SHOW CREATE TABLE t3;
DROP TABLE t1,t2,t3;
---remove_files_wildcard $MYSQLD_DATADIR/test #sql*.frm
--list_files $MYSQLD_DATADIR/test
diff --git a/mysql-test/suite/innodb/t/instant_alter_debug.combinations b/mysql-test/suite/innodb/t/instant_alter_debug.combinations
index f3bc2cc0c25..5f98b128ab6 100644
--- a/mysql-test/suite/innodb/t/instant_alter_debug.combinations
+++ b/mysql-test/suite/innodb/t/instant_alter_debug.combinations
@@ -1,4 +1,6 @@
[redundant]
innodb_default_row_format=redundant
+innodb_stats_persistent=off
[dynamic]
innodb_default_row_format=dynamic
+innodb_stats_persistent=off
diff --git a/mysql-test/suite/innodb/t/instant_alter_debug.test b/mysql-test/suite/innodb/t/instant_alter_debug.test
index f102185c27f..c6eca884907 100644
--- a/mysql-test/suite/innodb/t/instant_alter_debug.test
+++ b/mysql-test/suite/innodb/t/instant_alter_debug.test
@@ -303,7 +303,6 @@ ROLLBACK;
SET DEBUG_SYNC = 'now SIGNAL logged';
connection ddl;
---error ER_INVALID_USE_OF_NULL
reap;
disconnect ddl;
diff --git a/mysql-test/suite/innodb/t/instant_alter_import.test b/mysql-test/suite/innodb/t/instant_alter_import.test
index fdf9f8e6cd9..5504cee4dce 100644
--- a/mysql-test/suite/innodb/t/instant_alter_import.test
+++ b/mysql-test/suite/innodb/t/instant_alter_import.test
@@ -2,6 +2,10 @@
--source include/have_sequence.inc
--source include/innodb_checksum_algorithm.inc
+call mtr.add_suppression("Operating system error number .* in a file operation.");
+call mtr.add_suppression("The error means the system cannot find the path specified.");
+call mtr.add_suppression("File ./test/t1.ibd: 'delete' returned OS error");
+
--disable_query_log
call mtr.add_suppression("Table `test`.`t2` contains unrecognizable instant ALTER metadata");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
@@ -80,6 +84,7 @@ unlock tables;
alter table t1 import tablespace;
select * from t1;
+--remove_file $MYSQLD_DATADIR/test/t1.ibd
drop table t2;
drop table t1;
diff --git a/mysql-test/suite/innodb/t/instant_alter_index_rename.test b/mysql-test/suite/innodb/t/instant_alter_index_rename.test
index af66c1027cc..9772c859a20 100644
--- a/mysql-test/suite/innodb/t/instant_alter_index_rename.test
+++ b/mysql-test/suite/innodb/t/instant_alter_index_rename.test
@@ -225,5 +225,9 @@ ALTER TABLE t1 DROP INDEX ind2, ADD INDEX ind3(b),
SELECT table_name, index_name, stat_name FROM mysql.innodb_index_stats;
+ALTER TABLE t1 DROP b, FORCE;
+SELECT table_name, index_name, stat_name FROM mysql.innodb_index_stats;
+
UPDATE t1 SET a = 1 WHERE c = 'foo';
DROP TABLE t1;
+SELECT table_name, index_name, stat_name FROM mysql.innodb_index_stats;
diff --git a/mysql-test/suite/innodb/t/instant_alter_null.test b/mysql-test/suite/innodb/t/instant_alter_null.test
index 69fb1ae4495..34f47ed9c07 100644
--- a/mysql-test/suite/innodb/t/instant_alter_null.test
+++ b/mysql-test/suite/innodb/t/instant_alter_null.test
@@ -1,8 +1,18 @@
--source include/have_innodb.inc
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
+
create table t (a int NOT NULL) engine=innodb row_format= compressed;
--error ER_ALTER_OPERATION_NOT_SUPPORTED
alter table t modify a int NULL, algorithm=instant;
+
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
+
drop table t;
create table t (a int NOT NULL) engine=innodb row_format= dynamic;
diff --git a/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test b/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test
index b7fff30dca2..ac5f14ba9ad 100644
--- a/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test
+++ b/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test
@@ -9,7 +9,7 @@ call mtr.add_suppression("\\[ERROR\\] InnoDB: Plugin initialization aborted at s
call mtr.add_suppression("\\[ERROR\\] Plugin 'InnoDB' (init function|registration)");
call mtr.add_suppression("\\[ERROR\\] InnoDB: We detected index corruption");
call mtr.add_suppression("\\[ERROR\\] (mysqld|mariadbd).*: Index for table 't1' is corrupt; try to repair it");
-call mtr.add_suppression("InnoDB: btr_pcur_open_low level: 0 called from file: ");
+call mtr.add_suppression("InnoDB: btr_pcur_open_low level: 0 table: `test`\\.`t1` index: `PRIMARY`");
--enable_query_log
CREATE TABLE t1 (pk INT PRIMARY KEY, c CHAR(255))ENGINE=InnoDB STATS_PERSISTENT=0;
@@ -47,7 +47,8 @@ EOF
--error ER_UNKNOWN_STORAGE_ENGINE
SELECT * FROM t1 WHERE PK = 1;
-let $restart_parameters=--innodb-force-recovery=1;
+# We will disable also purge, to not let it request the corrupted page.
+let $restart_parameters=--innodb-force-recovery=2;
--source include/restart_mysqld.inc
SELECT * FROM t1 WHERE PK = 1;
--error ER_NOT_KEYFILE
diff --git a/mysql-test/suite/innodb/t/lock_insert_into_empty.test b/mysql-test/suite/innodb/t/lock_insert_into_empty.test
new file mode 100644
index 00000000000..91d2bcdd3ba
--- /dev/null
+++ b/mysql-test/suite/innodb/t/lock_insert_into_empty.test
@@ -0,0 +1,63 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES(0);
+BEGIN;
+DELETE FROM t1;
+--error ER_DUP_ENTRY
+INSERT INTO t2 VALUES(1),(1);
+
+BEGIN;
+SELECT * FROM t2 LOCK IN SHARE MODE;
+
+connect (con1,localhost,root,,);
+SET innodb_lock_wait_timeout=0;
+--error ER_LOCK_WAIT_TIMEOUT
+INSERT INTO t2 VALUES(2);
+connection default;
+ROLLBACK;
+connection con1;
+INSERT INTO t2 VALUES(3);
+COMMIT;
+disconnect con1;
+connection default;
+
+SELECT * FROM t1;
+SELECT * FROM t2;
+DROP TABLE t1, t2;
+
+--echo #
+--echo # MDEV-24700 Assertion "lock not found"==0 in lock_table_x_unlock()
+--echo #
+SET FOREIGN_KEY_CHECKS=OFF;
+CREATE TABLE t1 (id INT PRIMARY KEY, f INT REFERENCES nonexistent(x))
+ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=ON;
+BEGIN;
+INSERT IGNORE INTO t1 VALUES (1,11);
+--error ER_NO_REFERENCED_ROW_2
+REPLACE INTO t1 VALUES (1,12);
+COMMIT;
+
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25942 Assertion failed in trx_t::drop_table()
+--echo #
+
+CREATE TABLE t1 (k INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 SET k=1;
+START TRANSACTION;
+INSERT INTO t1 SET k=2;
+
+--connect (con1,localhost,root,,test)
+SET innodb_lock_wait_timeout=0;
+--error ER_LOCK_WAIT_TIMEOUT
+CREATE TABLE t2 (pk INT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB
+AS SELECT k FROM t1;
+--disconnect con1
+--connection default
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/log_corruption.test b/mysql-test/suite/innodb/t/log_corruption.test
index 01b3da3f7ac..b9162be99db 100644
--- a/mysql-test/suite/innodb/t/log_corruption.test
+++ b/mysql-test/suite/innodb/t/log_corruption.test
@@ -57,7 +57,14 @@ my $body = pack("x[8]Nx[10]Nx[16312]", 768, 97937874);
my $ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
print OUT pack("N",$ck).$head.pack("x[12]").$body.pack("Nx[4]",$ck);
# Dummy pages 1..6.
-print OUT chr(0) x (6 * 16384);
+$body = pack("x[16338]");
+for (my($page) = 1; $page < 7; $page++)
+{
+ ## FIL_PAGE_OFFSET
+ $head = pack("Nx[18]", $page);
+ $ck = mycrc32($head, 0, $polynomial) ^ mycrc32($body, 0, $polynomial);
+ print OUT pack("N",$ck).$head.pack("x[16350]Nx[4]",$ck);
+}
# Dictionary header page (page 7).
## FIL_PAGE_OFFSET
$head = pack("Nx[18]", 7);
diff --git a/mysql-test/suite/innodb/t/log_file.test b/mysql-test/suite/innodb/t/log_file.test
index 2962d58b165..e167bc6fb57 100644
--- a/mysql-test/suite/innodb/t/log_file.test
+++ b/mysql-test/suite/innodb/t/log_file.test
@@ -11,10 +11,9 @@ 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: Operating system error number \d+ in a file operation");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself");
call mtr.add_suppression("InnoDB: File .path.to.non-existent.ib_logfile101: 'create' returned OS error \d+");
call mtr.add_suppression("InnoDB: Cannot create .path.to.non-existent.ib_logfile101");
-call mtr.add_suppression("InnoDB: The innodb_system data file 'ibdata1' was not found but one of the other data files 'ibdata2' exists");
+call mtr.add_suppression("InnoDB: The data file '.*ibdata1' was not found but one of the other data files '.*ibdata2' exists");
call mtr.add_suppression("InnoDB: Tablespace size stored in header is \d+ pages, but the sum of data file sizes is \d+ pages");
call mtr.add_suppression("InnoDB: Cannot start InnoDB. The tail of the system tablespace is missing");
call mtr.add_suppression("InnoDB: undo tablespace '.*undo001' exists\. Creating system tablespace with existing undo tablespaces is not supported\. Please delete all undo tablespaces before creating new system tablespace\.");
@@ -87,7 +86,7 @@ eval $check_yes_innodb;
--source include/start_mysqld.inc
eval $check_no_innodb;
--source include/shutdown_mysqld.inc
-let SEARCH_PATTERN=The innodb_system data file 'ibdata1' was not found but one of the other data files 'ibdata2' exists;
+let SEARCH_PATTERN=The data file '.*ibdata1' was not found but one of the other data files '.*ibdata2' exists;
--source include/search_pattern_in_file.inc
# clean up & Restore
diff --git a/mysql-test/suite/innodb/t/log_file_name.test b/mysql-test/suite/innodb/t/log_file_name.test
index 3abd2d65a96..2a7ed7b494d 100644
--- a/mysql-test/suite/innodb/t/log_file_name.test
+++ b/mysql-test/suite/innodb/t/log_file_name.test
@@ -12,6 +12,7 @@ FLUSH TABLES;
CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+--source include/restart_mysqld.inc
--source include/no_checkpoint_start.inc
CREATE TABLE t3(a INT PRIMARY KEY) ENGINE=InnoDB;
@@ -120,7 +121,7 @@ eval $check_no_innodb;
let SEARCH_PATTERN= \[Note\] InnoDB: Cannot read first page of .*t2.ibd;
--source include/search_pattern_in_file.inc
-let SEARCH_PATTERN= \[ERROR\] InnoDB: Datafile .*t2.*\. Cannot determine the space ID from the first 64 pages;
+let SEARCH_PATTERN= .*\[ERROR\] InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=3\\] of corrupted file './test/t2\\.ibd';
--source include/search_pattern_in_file.inc
# Restore t2.ibd
@@ -134,12 +135,11 @@ SELECT * FROM t3;
SHOW TABLES;
DROP TABLE t2,t3;
---error ER_TABLESPACE_EXISTS
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t0(a INT PRIMARY KEY) ENGINE=InnoDB;
+--error ER_CANT_CREATE_TABLE
CREATE TABLE t0(a INT PRIMARY KEY) ENGINE=InnoDB;
-
-# Remove the orphan file from fault 0.
--remove_file $MYSQLD_DATADIR/test/t0.ibd
-
CREATE TABLE t0(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE t0;
@@ -153,18 +153,20 @@ call mtr.add_suppression("InnoDB: Cannot open datafile for read-write: '.*t2\.ib
# The following are for aborted startup without --innodb-force-recovery:
call mtr.add_suppression("InnoDB: Tablespace .* was not found at .*test");
call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1 to ignore this and to permanently lose all changes to the tablespace");
-call mtr.add_suppression("InnoDB: Cannot read first page of '.*test.[tu]2.ibd' I/O error");
+call mtr.add_suppression("InnoDB: Cannot read first page of '.*test.[tu]2.ibd': I/O error");
+call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=3\\] of corrupted file './test/t2\\.ibd'");
call mtr.add_suppression("InnoDB: Datafile '.*test.*ibd' is corrupted");
call mtr.add_suppression("InnoDB: Cannot replay file rename. Remove either file and try again");
call mtr.add_suppression("InnoDB: Cannot rename.*because the target file exists");
call mtr.add_suppression("InnoDB: Log scan aborted at LSN");
# The following are for the --innodb-force-recovery=1 with broken u* tables:
-call mtr.add_suppression("InnoDB: The size of the file .*u1\\.ibd is only 16384 bytes, should be at least 65536");
+call mtr.add_suppression("InnoDB: The size of the file .*u[12]\\.ibd is only [1-9][0-9]* bytes, should be at least 65536");
+call mtr.add_suppression("InnoDB: The size of tablespace file '.*test/u[12].ibd' is only");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
call mtr.add_suppression("InnoDB: .*you must create directories");
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: '.*u[1-5]\.ibd'");
call mtr.add_suppression("InnoDB: Could not find a valid tablespace file for `test/u[1-5]`");
-call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`.`u[1-3]` because it could not be opened.");
+call mtr.add_suppression("InnoDB: Ignoring tablespace for test/u[1-3] because it could not be opened\\.");
call mtr.add_suppression("InnoDB: Failed to find tablespace for table .* in the cache. Attempting to load the tablespace with space id");
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' \(init function returned error\|registration as a STORAGE ENGINE failed\)");
@@ -202,69 +204,14 @@ EOF
--exec echo "" > $MYSQLD_DATADIR/test/u2.ibd
-# TODO: Test with this, once
-# Bug#18131883 IMPROVE INNODB ERROR MESSAGES REGARDING FILES
-# has been fixed:
-#--mkdir $MYSQLD_DATADIR/test/u3.ibd
-
--copy_file $MYSQLD_DATADIR/test/u6.ibd $MYSQLD_DATADIR/test/u4.ibd
--let $restart_parameters= --innodb-force-recovery=1
--source include/start_mysqld.inc
-eval $check_no_innodb;
-
-let SEARCH_PATTERN= \[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
---source include/search_pattern_in_file.inc
-
-let SEARCH_PATTERN= \[ERROR\] InnoDB: Datafile .*u1.*\. Cannot determine the space ID from the first 64 pages;
---source include/search_pattern_in_file.inc
-
-# TODO: These errors should state the file name (u2.ibd) and be ignored
-# in innodb-force-recovery mode once
-# Bug#18131883 IMPROVE INNODB ERROR MESSAGES REGARDING FILES
-# has been fixed:
-let SEARCH_PATTERN= \[Note\] InnoDB: Cannot read first page of .*u2.ibd;
---source include/search_pattern_in_file.inc
-
---source include/shutdown_mysqld.inc
-
-# Allow --innodb-force-recovery to start despite the broken file.
-# TODO: Remove this workaround, and make --innodb-force-recovery=1
-# ignore the broken file.
---remove_file $MYSQLD_DATADIR/test/u2.ibd
-
---echo # Fault 7: Missing or wrong data file and innodb_force_recovery
-
---source include/start_mysqld.inc
-eval $check_no_innodb;
-
-let SEARCH_PATTERN= \[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
---source include/search_pattern_in_file.inc
-
-let SEARCH_PATTERN= InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace;
---source include/search_pattern_in_file.inc
-
-let SEARCH_PATTERN= \[ERROR\] InnoDB: Cannot replay rename of tablespace \d+ from '.*u4.ibd' to '.*u6.ibd' because the target file exists;
---source include/search_pattern_in_file.inc
-
---remove_file $MYSQLD_DATADIR/test/u6.ibd
-
---source include/restart_mysqld.inc
-
-let SEARCH_PATTERN= \[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
---source include/search_pattern_in_file.inc
-
-let SEARCH_PATTERN= InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace;
---source include/search_pattern_in_file.inc
-
-let SEARCH_PATTERN= \[Warning\] InnoDB: Tablespace \d+ was not found at .*u[1-5].ibd, and innodb_force_recovery was set. All redo log for this tablespace will be ignored!;
---source include/search_pattern_in_file.inc
-
---let $restart_parameters=
---source include/restart_mysqld.inc
-
DROP TABLE u1,u2,u3,u6;
+--remove_file $MYSQLD_DATADIR/test/u4.ibd
+
--echo # List of files:
--list_files $MYSQLD_DATADIR/test
diff --git a/mysql-test/suite/innodb/t/log_file_size.test b/mysql-test/suite/innodb/t/log_file_size.test
index 4c0d377a826..fc6cb1ef83e 100644
--- a/mysql-test/suite/innodb/t/log_file_size.test
+++ b/mysql-test/suite/innodb/t/log_file_size.test
@@ -36,13 +36,13 @@ let $check_no_innodb=SELECT * FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
---let $restart_parameters= --innodb-thread-concurrency=1 --innodb-log-file-size=2m
+--let $restart_parameters= --innodb-log-file-size=2m
--source include/start_mysqld.inc
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
CHECK TABLE t1;
---let $restart_parameters= --innodb-thread-concurrency=100 --innodb-log-file-size=20M
+--let $restart_parameters= --innodb-log-file-size=20M
--source include/restart_mysqld.inc
BEGIN;
diff --git a/mysql-test/suite/innodb/t/missing_tablespaces.test b/mysql-test/suite/innodb/t/missing_tablespaces.test
index b4da9745ba4..8dc325b3356 100644
--- a/mysql-test/suite/innodb/t/missing_tablespaces.test
+++ b/mysql-test/suite/innodb/t/missing_tablespaces.test
@@ -26,7 +26,6 @@ let $restart_noprint=2;
--disable_query_log
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number 2 in a file operation.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: The error means the system cannot find the path specified.");
-call mtr.add_suppression("\\[ERROR\\] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot open datafile for read-only");
call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace .* because it could not be opened");
--enable_query_log
diff --git a/mysql-test/suite/innodb/t/monitor.test b/mysql-test/suite/innodb/t/monitor.test
index 7fa0c64f81b..3a004b22751 100644
--- a/mysql-test/suite/innodb/t/monitor.test
+++ b/mysql-test/suite/innodb/t/monitor.test
@@ -214,24 +214,6 @@ select name, max_count, min_count, count,
max_count_reset, min_count_reset, count_reset,
if(enabled,'enabled','disabled') 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,
- if(enabled,'enabled','disabled') 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,
- if(enabled,'enabled','disabled') status
-from information_schema.innodb_metrics
where name like "metadata%";
# Reset counters only in "module_metadata" module
@@ -268,7 +250,7 @@ select name, max_count, min_count, count,
max_count_reset, min_count_reset, count_reset,
if(enabled,'enabled','disabled') status
from information_schema.innodb_metrics
-where name like "trx_rollbacks" or name like "trx_active_transactions";
+where name='trx_rollbacks';
set global innodb_monitor_disable = module_trx;
@@ -412,7 +394,7 @@ set global innodb_monitor_reset_all = default;
--echo # Bug#22576241 SETTING INNODB_MONITOR_ENABLE TO ALL DOES NOT ENABLE ALL
--echo # MONITORS
--echo #
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
let $innodb_monitor_enable = `SELECT @@innodb_monitor_enable`;
diff --git a/mysql-test/suite/innodb/t/online_table_rebuild.opt b/mysql-test/suite/innodb/t/online_table_rebuild.opt
new file mode 100644
index 00000000000..fa3418284bf
--- /dev/null
+++ b/mysql-test/suite/innodb/t/online_table_rebuild.opt
@@ -0,0 +1,2 @@
+--innodb_online_alter_log_max_size=64k
+--innodb_sort_buffer_size=64k
diff --git a/mysql-test/suite/innodb/t/online_table_rebuild.test b/mysql-test/suite/innodb/t/online_table_rebuild.test
new file mode 100644
index 00000000000..94bac2f949c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/online_table_rebuild.test
@@ -0,0 +1,62 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_sequence.inc
+
+CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(200), f3 CHAR(200))ENGINE=InnoDB;
+INSERT INTO t1 VALUES(3, "innodb", "alter log");
+
+# InnoDB fails with DUPLICATE KEY error in commit phase
+
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+send ALTER TABLE t1 ADD PRIMARY KEY(f3(10)), ADD UNIQUE KEY(f2(10));
+CONNECT(con1,localhost,root,,,);
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+INSERT INTO t1 VALUES(1, repeat('b', 100), repeat('c', 100));
+INSERT INTO t1 VALUES(2, repeat('b', 100), repeat('a', 100));
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+
+# ONLINE_LOG_TOO_BIG error during commit phase
+
+connection default;
+
+SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
+SEND ALTER TABLE t1 ADD PRIMARY KEY(f1);
+
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+INSERT INTO t1 SELECT 10, repeat('a', 100), repeat('b', 100) FROM seq_1_to_4800;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+connection default;
+--error ER_INNODB_ONLINE_LOG_TOO_BIG
+reap;
+DELETE FROM t1;
+INSERT INTO t1 VALUES(1, repeat('a', 100), repeat('b', 100));
+ALTER TABLE t1 ADD PRIMARY KEY(f1);
+
+# Update operation leads to duplicate key error
+
+set DEBUG_SYNC="innodb_inplace_alter_table_enter SIGNAL dml_start WAIT_FOR dml_commit";
+SEND ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(f3(10));
+
+connection con1;
+SET DEBUG_SYNC="now WAIT_FOR dml_start";
+BEGIN;
+INSERT INTO t1 VALUES(2, repeat('b', 100), repeat('c', 100));
+UPDATE t1 set f3=repeat('c', 100) where f1=1;
+COMMIT;
+SET DEBUG_SYNC="now SIGNAL dml_commit";
+
+connection default;
+--error ER_DUP_ENTRY
+reap;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+disconnect con1;
+SET DEBUG_SYNC=reset;
diff --git a/mysql-test/suite/innodb/t/page_id_innochecksum.test b/mysql-test/suite/innodb/t/page_id_innochecksum.test
index 106da09df6d..f5166018dd1 100644
--- a/mysql-test/suite/innodb/t/page_id_innochecksum.test
+++ b/mysql-test/suite/innodb/t/page_id_innochecksum.test
@@ -54,12 +54,16 @@ close IBD_FILE;
EOF
--error 1
-exec $INNOCHECKSUM -C crc32 -l $resultlog $MYSQLD_DATADIR/test/t1.ibd;
+exec $INNOCHECKSUM -l $resultlog $MYSQLD_DATADIR/test/t1.ibd;
let SEARCH_FILE = $MYSQLTEST_VARDIR/tmp/result.log;
let SEARCH_PATTERN=page id mismatch;
--source include/search_pattern_in_file.inc
--remove_file $resultlog
+# prevent purge from crashing on page ID mismatch
+let $restart_parameters=--innodb-force-recovery=2;
--source include/start_mysqld.inc
drop table t1;
+let $restart_parameters=;
+--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/innodb/t/partition_locking.test b/mysql-test/suite/innodb/t/partition_locking.test
new file mode 100644
index 00000000000..e33df934a28
--- /dev/null
+++ b/mysql-test/suite/innodb/t/partition_locking.test
@@ -0,0 +1,178 @@
+# Test of SKIP LOCKED and NOWAIT on partitioned tables.
+# Must have same results as not partitioned tables.
+--source include/have_innodb.inc
+--source include/have_partition.inc
+
+set @start_read_only= @@global.read_only;
+set @start_autocommit= @@global.autocommit;
+set default_storage_engine= innodb;
+set @@global.autocommit= 0;
+
+CREATE USER test@localhost;
+grant CREATE, SELECT, UPDATE on *.* to test@localhost;
+CREATE USER test2@localhost;
+grant CREATE, SELECT, UPDATE on *.* to test2@localhost;
+
+CREATE TABLE t1 (
+a char(2) NOT NULL,
+b char(2) NOT NULL,
+c int(10) unsigned NOT NULL,
+d varchar(255) DEFAULT NULL,
+e varchar(1000) DEFAULT NULL,
+PRIMARY KEY (a, b, c),
+KEY (a),
+KEY (a, b)
+) charset latin1 PARTITION BY KEY (a) PARTITIONS 20;
+
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343')
+;
+
+CREATE TABLE t2 (a int, name VARCHAR(50), purchased DATE)
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (3),
+ PARTITION p1 VALUES LESS THAN (7),
+ PARTITION p2 VALUES LESS THAN (9),
+ PARTITION p3 VALUES LESS THAN (11));
+INSERT INTO t2 VALUES
+(1, 'desk organiser', '2003-10-15'),
+(2, 'CD player', '1993-11-05'),
+(3, 'TV set', '1996-03-10'),
+(4, 'bookcase', '1982-01-10'),
+(5, 'exercise bike', '2004-05-09'),
+(6, 'sofa', '1987-06-05'),
+(7, 'popcorn maker', '2001-11-22'),
+(8, 'acquarium', '1992-08-04'),
+(9, 'study desk', '1984-09-16'),
+(10, 'lava lamp', '1998-12-25');
+
+CREATE TABLE t3 SELECT * FROM t1;
+ALTER TABLE t3 ADD PRIMARY KEY (d);
+ALTER TABLE t3 ADD KEY (a);
+ALTER TABLE t3 ADD KEY (a, b);
+ANALYZE TABLE t3;
+#SELECT * FROM t3;
+
+--echo ########################################################################
+connect (con1,localhost,test,,test);
+BEGIN;
+SELECT d,a,b,c FROM t1 partition (p0);
+SELECT d,a,b,c FROM t1 partition (p1);
+SELECT d,a,b,c FROM t1 partition (p2);
+SELECT d,a,b,c FROM t1 partition (p3);
+SELECT d,a,b,c FROM t1 partition (p4);
+SELECT d,a,b,c FROM t1 partition (p5);
+SELECT d,a,b,c FROM t1 partition (p6);
+SELECT d,a,b,c FROM t1 partition (p7);
+SELECT d,a,b,c FROM t1 partition (p8);
+SELECT d,a,b,c FROM t1 partition (p9);
+SELECT d,a,b,c FROM t1 partition (p10);
+SELECT d,a,b,c FROM t1 partition (p11);
+SELECT d,a,b,c FROM t1 partition (p12);
+SELECT d,a,b,c FROM t1 partition (p13);
+SELECT d,a,b,c FROM t1 partition (p14);
+SELECT d,a,b,c FROM t1 partition (p15);
+SELECT d,a,b,c FROM t1 partition (p16);
+SELECT d,a,b,c FROM t1 partition (p17);
+SELECT d,a,b,c FROM t1 partition (p18);
+SELECT d,a,b,c FROM t1 partition (p19);
+
+SELECT * FROM t1 WHERE a='01' FOR UPDATE ;
+SELECT * FROM t3 FORCE INDEX(a) WHERE a='01' FOR UPDATE ;
+
+connect (con2,localhost,test,,test);
+BEGIN;
+SET SESSION innodb_lock_wait_timeout=1;
+
+--echo #
+--echo # SHARE ...
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 LOCK IN SHARE MODE;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 LOCK IN SHARE MODE NOWAIT;
+SELECT * FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a LOCK IN SHARE MODE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+ LOCK IN SHARE MODE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+ANALYZE TABLE t3;
+SELECT d,a,b,c FROM t3 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+explain SELECT d,a,b,c FROM t3 ORDER BY d
+ LOCK IN SHARE MODE SKIP LOCKED;
+
+--echo #
+--echo # UPDATE ...
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 FOR UPDATE;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+SELECT * FROM t1 ORDER BY a FOR UPDATE SKIP LOCKED;
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a FOR UPDATE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+ FOR UPDATE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 ORDER BY d FOR UPDATE SKIP LOCKED;
+SELECT d,a,b,c FROM t3 ORDER BY d FOR UPDATE SKIP LOCKED;
+
+connection con1;
+COMMIT;
+
+connection con1;
+BEGIN;
+SELECT * FROM t1 WHERE a='01' LOCK IN SHARE MODE ;
+SELECT * FROM t3 FORCE INDEX(a) WHERE a='01' LOCK IN SHARE MODE ;
+
+connection con2;
+BEGIN;
+SET SESSION innodb_lock_wait_timeout=1;
+
+--echo #
+--echo # SHARE ...
+SELECT * FROM t1 LOCK IN SHARE MODE;
+SELECT * FROM t1 LOCK IN SHARE MODE NOWAIT;
+SELECT * FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a LOCK IN SHARE MODE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+ LOCK IN SHARE MODE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+ANALYZE TABLE t3;
+SELECT d,a,b,c FROM t3 ORDER BY d LOCK IN SHARE MODE SKIP LOCKED;
+explain SELECT d,a,b,c FROM t3 ORDER BY d
+ LOCK IN SHARE MODE SKIP LOCKED;
+
+--echo #
+--echo # UPDATE ...
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 FOR UPDATE;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 FOR UPDATE NOWAIT;
+SELECT * FROM t1 ORDER BY a FOR UPDATE SKIP LOCKED;
+SELECT a,count(b) FROM t1 GROUP BY a ORDER BY a FOR UPDATE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 partition (p1,p9,p11,p17) ORDER BY d
+ FOR UPDATE SKIP LOCKED;
+SELECT d,a,b,c FROM t1 ORDER BY d FOR UPDATE SKIP LOCKED;
+SELECT d,a,b,c FROM t3 ORDER BY d FOR UPDATE SKIP LOCKED;
+
+connection default;
+disconnect con1;
+disconnect con2;
+
+DROP TABLE t1, t2, t3;
+
+DROP USER test@localhost;
+DROP USER test2@localhost;
+set @@global.read_only= @start_read_only;
+set @@global.autocommit= @start_autocommit;
+set default_storage_engine= default;
diff --git a/mysql-test/suite/innodb/t/purge_secondary.opt b/mysql-test/suite/innodb/t/purge_secondary.opt
index e98e639d5f4..2821c98397c 100644
--- a/mysql-test/suite/innodb/t/purge_secondary.opt
+++ b/mysql-test/suite/innodb/t/purge_secondary.opt
@@ -1,3 +1,4 @@
--innodb-sys-tablestats
--innodb_buffer_pool_size=5M
--innodb_monitor_enable=module_buffer
+--skip-innodb-stats-persistent
diff --git a/mysql-test/suite/innodb/t/read_only_recover_committed.test b/mysql-test/suite/innodb/t/read_only_recover_committed.test
index 439f57e9fad..6252c774a25 100644
--- a/mysql-test/suite/innodb/t/read_only_recover_committed.test
+++ b/mysql-test/suite/innodb/t/read_only_recover_committed.test
@@ -45,7 +45,8 @@ SET DEBUG_SYNC='now WAIT_FOR committed';
SET GLOBAL innodb_flush_log_at_trx_commit=1;
BEGIN;
INSERT INTO t VALUES(-10000);
-ROLLBACK;
+DELETE FROM t WHERE a=-10000;
+COMMIT;
--let $restart_parameters= --innodb-force-recovery=3
--let $shutdown_timeout= 0
--source include/restart_mysqld.inc
diff --git a/mysql-test/suite/innodb/t/read_only_recovery.test b/mysql-test/suite/innodb/t/read_only_recovery.test
index 7da012efb74..30876c2fbcf 100644
--- a/mysql-test/suite/innodb/t/read_only_recovery.test
+++ b/mysql-test/suite/innodb/t/read_only_recovery.test
@@ -19,7 +19,8 @@ FLUSH TABLES;
SET GLOBAL innodb_flush_log_at_trx_commit=1;
BEGIN;
INSERT INTO t VALUES(0);
-ROLLBACK;
+DELETE FROM t WHERE a=0;
+COMMIT;
--let $restart_parameters= --innodb-force-recovery=3
--let $shutdown_timeout= 0
--source include/restart_mysqld.inc
@@ -41,6 +42,3 @@ SELECT * FROM t;
--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/readahead.test b/mysql-test/suite/innodb/t/readahead.test
index b4b8e8e38f0..d7063442b1b 100644
--- a/mysql-test/suite/innodb/t/readahead.test
+++ b/mysql-test/suite/innodb/t/readahead.test
@@ -6,6 +6,9 @@
--echo # Bug#25330449 ASSERT SIZE==SPACE->SIZE DURING BUF_READ_AHEAD_RANDOM
let $MYSQLD_DATADIR=`SELECT @@datadir`;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=INNODB ROW_FORMAT=COMPRESSED;
--source include/shutdown_mysqld.inc
diff --git a/mysql-test/suite/innodb/t/rename_table.opt b/mysql-test/suite/innodb/t/rename_table.opt
index a4c52ea7d79..1852495a506 100644
--- a/mysql-test/suite/innodb/t/rename_table.opt
+++ b/mysql-test/suite/innodb/t/rename_table.opt
@@ -1,2 +1,2 @@
--innodb
---innodb-sys-datafiles
+--innodb-sys-tablespaces
diff --git a/mysql-test/suite/innodb/t/rename_table.test b/mysql-test/suite/innodb/t/rename_table.test
index 0191a94def2..35421f0ce7a 100644
--- a/mysql-test/suite/innodb/t/rename_table.test
+++ b/mysql-test/suite/innodb/t/rename_table.test
@@ -1,13 +1,15 @@
--source include/have_innodb.inc
--source include/not_embedded.inc
+call mtr.add_suppression("InnoDB: In RENAME TABLE table `test`.`t4` is referenced in foreign key constraints which are not compatible with the new table definition.");
+
CREATE DATABASE test_jfg;
CREATE DATABASE test_jfg2;
CREATE TABLE test_jfg.test (a int unsigned PRIMARY KEY) ENGINE=InnoDB;
RENAME TABLE test_jfg.test TO test_jfg2.test;
-SELECT REPLACE(path,'\\','/') path
-FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%';
+SELECT REPLACE(filename,'\\','/') path
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE filename LIKE '%test%';
DROP DATABASE test_jfg;
@@ -21,8 +23,8 @@ CREATE DATABASE abc_def2;
CREATE TABLE abc_def.test (a int unsigned PRIMARY KEY) ENGINE=InnoDB;
RENAME TABLE abc_def.test TO abc_def2.test1;
-SELECT REPLACE(path,'\\','/') path
-FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%';
+SELECT REPLACE(filename,'\\','/') path
+FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE filename LIKE '%test%';
DROP DATABASE abc_def;
@@ -43,3 +45,17 @@ let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
# Cleanup
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25509 Atomic DDL: Assertion `err != DB_DUPLICATE_KEY'
+--echo # fails after previous error upon multi-RENAME
+--echo #
+SET FOREIGN_KEY_CHECKS= OFF;
+CREATE TABLE t1 (pk INT PRIMARY KEY, f INT, FOREIGN KEY (f) REFERENCES t4 (x)) ENGINE=InnoDB;
+ALTER TABLE t1 DROP KEY f;
+CREATE TABLE t2 (a INT) ENGINE=InnoDB;
+--error ER_ERROR_ON_RENAME
+RENAME TABLE t1 TO t3, t3 TO t4;
+RENAME TABLE t2 TO t3;
+DROP TABLE t3, t1;
+SET FOREIGN_KEY_CHECKS=DEFAULT;
diff --git a/mysql-test/suite/innodb/t/rename_table_debug.test b/mysql-test/suite/innodb/t/rename_table_debug.test
deleted file mode 100644
index c75f2fbca10..00000000000
--- a/mysql-test/suite/innodb/t/rename_table_debug.test
+++ /dev/null
@@ -1,22 +0,0 @@
---source include/have_innodb.inc
---source include/have_debug.inc
---source include/have_debug_sync.inc
---source include/not_embedded.inc
-
-FLUSH TABLES;
-LET $datadir= `SELECT @@datadir`;
-
-CREATE TABLE t1 (a SERIAL, b INT, c INT, d INT) ENGINE=InnoDB;
-INSERT INTO t1 () VALUES ();
-
---connect (con1,localhost,root,,test)
-SET DEBUG_SYNC='before_rename_table_commit SIGNAL renamed WAIT_FOR ever';
---send
-RENAME TABLE t1 TO t2;
---connection default
-SET DEBUG_SYNC='now WAIT_FOR renamed';
---let $shutdown_timeout=0
---source include/restart_mysqld.inc
---disconnect con1
-SELECT * FROM t1;
-DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/restart.test b/mysql-test/suite/innodb/t/restart.test
index cd5e7532354..1ca4f51c747 100644
--- a/mysql-test/suite/innodb/t/restart.test
+++ b/mysql-test/suite/innodb/t/restart.test
@@ -19,8 +19,7 @@ let page_size= `select @@innodb_page_size`;
call mtr.add_suppression("\\[ERROR\\] InnoDB: Tablespace flags are invalid in datafile: .*test.t[rcd]\\.ibd");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number .* in a file operation\\.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: The error means the system cannot find the path specified\\.");
-call mtr.add_suppression("\\[ERROR\\] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them\\.");
-call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace for `test`\\.`td` because it could not be opened\\.");
+call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace for test/td because it could not be opened\\.");
CREATE TABLE tr(a INT)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT
@@ -49,6 +48,15 @@ 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;
+die unless open ISL, "+<", "$ENV{datadir}/test/td.isl";
+$_=<ISL>;
+if (m|^[a-zA-Z]:|)
+{
+ tr|/|\\|;
+ seek(ISL, 0, SEEK_SET) or die;
+ print ISL or die;
+}
+close ISL or die;
EOF
--let $restart_parameters= --skip-innodb-buffer-pool-load-at-startup
diff --git a/mysql-test/suite/innodb/t/row_format_redundant.test b/mysql-test/suite/innodb/t/row_format_redundant.test
index e8869b886c8..6de7597e983 100644
--- a/mysql-test/suite/innodb/t/row_format_redundant.test
+++ b/mysql-test/suite/innodb/t/row_format_redundant.test
@@ -1,10 +1,11 @@
--source include/have_innodb.inc
# Embedded mode doesn't allow restarting
--source include/not_embedded.inc
+--source include/have_sequence.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Table `mysql`\\.`innodb_table_stats` not found");
-call mtr.add_suppression("InnoDB: Table `test`.`t1` in InnoDB data dictionary contains invalid flags. SYS_TABLES\\.TYPE=1 SYS_TABLES\\.MIX_LEN=511\\r?$");
+call mtr.add_suppression("InnoDB: Table test/t1 in InnoDB data dictionary contains invalid flags. SYS_TABLES\\.TYPE=1 SYS_TABLES\\.MIX_LEN=511\\r?$");
call mtr.add_suppression("InnoDB: Parent table of FTS auxiliary table test/FTS_.* not found");
call mtr.add_suppression("InnoDB: Cannot open table test/t1 from the internal data dictionary");
call mtr.add_suppression("InnoDB: Table `test`.`t1` does not exist in the InnoDB internal data dictionary though MariaDB is trying to (rename|drop)");
@@ -21,6 +22,8 @@ let bugdir= $MYSQLTEST_VARDIR/tmp/row_format_redundant;
--let $d=$d --innodb-data-file-path=ibdata1:1M:autoextend
--let $d=$d --innodb-undo-tablespaces=0 --innodb-stats-persistent=0
--let $restart_parameters= $d
+# Ensure that any DDL records from previous tests have been purged.
+SET GLOBAL innodb_fast_shutdown=0;
--source include/restart_mysqld.inc
SET GLOBAL innodb_file_per_table=1;
@@ -35,27 +38,21 @@ create table t1 (a int not null, d varchar(15) not null, b
varchar(198) not null, c char(156)) 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;
+create temporary table t like t1;
+
+insert into t values(123, 'abcdef', 'jghikl', 'mnop');
+insert into t values(456, 'abcdef', 'jghikl', 'mnop');
+insert into t values(789, 'abcdef', 'jghikl', 'mnop');
+insert into t values(134, 'kasdfsdsadf', 'adfjlasdkfjasd', 'adfsadflkasdasdfljasdf');
+
+insert into t1 select a,d,b,c from t, seq_1_to_1024;
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;
+insert into t2 select a,d,b,c from t, seq_1_to_1024;
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
@@ -153,7 +150,7 @@ RENAME TABLE t1 TO tee_one;
DROP TABLE t1;
DROP TABLE t2,t3;
---let SEARCH_PATTERN= \[ERROR\] InnoDB: Table `test`\.`t1` in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=1 SYS_TABLES\.MIX_LEN=511\b
+--let SEARCH_PATTERN= \[ERROR\] InnoDB: Table test/t1 in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=1 SYS_TABLES\.MIX_LEN=511\b
--source include/search_pattern_in_file.inc
--let $restart_parameters=
diff --git a/mysql-test/suite/innodb/t/skip_locked_nowait.test b/mysql-test/suite/innodb/t/skip_locked_nowait.test
new file mode 100644
index 00000000000..ea744ca51fa
--- /dev/null
+++ b/mysql-test/suite/innodb/t/skip_locked_nowait.test
@@ -0,0 +1,208 @@
+#
+# wl#8919 Implement NOWAIT and SKIP LOCKED
+#
+--source include/have_innodb.inc
+
+
+connect (con1,localhost,root,,);
+SET SESSION innodb_lock_wait_timeout=1;
+
+connection default;
+SET SESSION innodb_lock_wait_timeout=1;
+
+--echo # Case 1: Test primary index
+CREATE TABLE t1(
+ seat_id INT,
+ state INT,
+ PRIMARY KEY(seat_id)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES(1,0), (2,0), (3,0), (4,0);
+
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+
+connection con1;
+BEGIN;
+
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+
+COMMIT;
+
+connection default;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE;
+
+connection con1;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE seat_id > 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
+
+COMMIT;
+
+connection default;
+COMMIT;
+
+DROP TABLE t1;
+
+--echo # Case 2: Test primary index & secondary index
+CREATE TABLE t1(
+ seat_id INT,
+ row_id INT,
+ state INT,
+ PRIMARY KEY(seat_id),
+ KEY(row_id)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES(1,1,0), (2,1,0), (3,2,0), (4,2,0);
+
+--echo # Test secondary key
+# Case 2a: secondary blocks secondary/primary
+BEGIN;
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE NOWAIT;
+
+connection con1;
+BEGIN;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 AND row_id > 0 LIMIT 1 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 AND row_id > 0 LIMIT 1 FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE SKIP LOCKED;
+
+COMMIT;
+
+connection default;
+COMMIT;
+
+# Case 2b: primary blocks secondary/primary
+BEGIN;
+SELECT * FROM t1 WHERE seat_id = 1 FOR UPDATE NOWAIT;
+
+connection con1;
+BEGIN;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 AND row_id = 1 LIMIT 1 FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE NOWAIT;
+SELECT * FROM t1 WHERE state = 0 FOR UPDATE SKIP LOCKED;
+
+COMMIT;
+
+connection default;
+COMMIT;
+
+DROP TABLE t1;
+
+--echo # Case 3: Test primary index & spatial index
+CREATE TABLE t1(
+ seat_id INT,
+ pos POINT NOT NULL,
+ state INT,
+ PRIMARY KEY(seat_id),
+ SPATIAL KEY(pos)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES
+(1,ST_PointFromText('POINT(1 0)'),0),
+(2,ST_PointFromText('POINT(1 1)'),0),
+(3,ST_PointFromText('POINT(2 0)'),0),
+(4,ST_PointFromText('POINT(2 1)'),0),
+(5,ST_PointFromText('POINT(3 0)'),0),
+(6,ST_PointFromText('POINT(3 1)'),0);
+
+# Case 3a: secondary blocks secondary/primary
+BEGIN;
+SET @g = ST_GeomFromText('POLYGON((0 0,0 2,2 2,0 2,0 0))');
+# the first 4 records in the rtree index page are locked
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE NOWAIT;
+
+connection con1;
+BEGIN;
+SET @g = ST_GeomFromText('POLYGON((0 0,0 4,4 4,0 4,0 0))');
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE NOWAIT;
+
+# TODO Needs fixing
+#SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+#WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE NOWAIT;
+
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE SKIP LOCKED;
+
+COMMIT;
+
+connection default;
+COMMIT;
+
+# Case 3b: primary blockes secondary/primary
+connection con1;
+SET @g = ST_GeomFromText('POLYGON((0 0,0 3,3 3,0 3,0 0))');
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE;
+
+connection default;
+BEGIN;
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE seat_id = 4 FOR UPDATE NOWAIT;
+
+connection con1;
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE NOWAIT;
+
+SELECT seat_id, state, ST_AsText(pos) FROM t1 FORCE INDEX (pos)
+WHERE state = 0 AND MBRWithin(pos, @g) FOR UPDATE SKIP LOCKED;
+
+--error ER_LOCK_WAIT_TIMEOUT
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE NOWAIT;
+
+SELECT seat_id, state, ST_AsText(pos) FROM t1
+WHERE state = 0 FOR UPDATE SKIP LOCKED;
+
+connection default;
+COMMIT;
+
+DROP TABLE t1;
+
+disconnect con1;
diff --git a/mysql-test/suite/innodb/t/sp_temp_table.test b/mysql-test/suite/innodb/t/sp_temp_table.test
index b2883f551b9..f355dfd1717 100644
--- a/mysql-test/suite/innodb/t/sp_temp_table.test
+++ b/mysql-test/suite/innodb/t/sp_temp_table.test
@@ -6,7 +6,7 @@
--echo # CALLED FROM A FUNCTION
--echo #
-call mtr.add_suppression("MySQL is trying to drop table");
+call mtr.add_suppression("MariaDB is trying to drop table");
DELIMITER $$;
CREATE PROCEDURE cachedata(
diff --git a/mysql-test/suite/innodb/t/stat_tables.test b/mysql-test/suite/innodb/t/stat_tables.test
index 68344b3f425..dd18c265e99 100644
--- a/mysql-test/suite/innodb/t/stat_tables.test
+++ b/mysql-test/suite/innodb/t/stat_tables.test
@@ -15,3 +15,17 @@ select * from t1;
drop table t1;
rename table mysql.table_stats_save to mysql.table_stats;
flush tables;
+
+--echo #
+--echo # MDEV-26753 Assertion state == TRX_STATE_PREPARED ||... failed
+--echo #
+CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
+XA START 'test';
+SELECT COUNT(*)>0 FROM mysql.innodb_index_stats LOCK IN SHARE MODE;
+INSERT INTO t1 VALUES (1),(2);
+UPDATE mysql.innodb_table_stats SET last_update=NULL WHERE table_name='t1';
+XA END 'test';
+XA ROLLBACK 'test';
+DROP TABLE t1;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/suite/innodb/t/table_definition_cache_debug.test b/mysql-test/suite/innodb/t/table_definition_cache_debug.test
index 6a466af4cc5..8950691e05c 100644
--- a/mysql-test/suite/innodb/t/table_definition_cache_debug.test
+++ b/mysql-test/suite/innodb/t/table_definition_cache_debug.test
@@ -29,6 +29,7 @@ SET DEBUG_SYNC = 'now WAIT_FOR scanned';
# and then hogs the table lock, so that the unique index cannot be dropped.
BEGIN;
INSERT INTO to_be_evicted VALUES(3, 2);
+COMMIT;
SET DEBUG_SYNC = 'now SIGNAL got_duplicate';
connection ddl;
diff --git a/mysql-test/suite/innodb/t/table_flags.opt b/mysql-test/suite/innodb/t/table_flags.opt
index c44c611ed60..bca674950d2 100644
--- a/mysql-test/suite/innodb/t/table_flags.opt
+++ b/mysql-test/suite/innodb/t/table_flags.opt
@@ -1 +1,2 @@
--innodb-checksum-algorithm=crc32
+--skip-innodb-read-only-compressed
diff --git a/mysql-test/suite/innodb/t/table_flags.test b/mysql-test/suite/innodb/t/table_flags.test
index 79b2c3dd77a..380052b9db6 100644
--- a/mysql-test/suite/innodb/t/table_flags.test
+++ b/mysql-test/suite/innodb/t/table_flags.test
@@ -1,20 +1,18 @@
--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: Table `mysql`\\.`innodb_table_stats` not found");
call mtr.add_suppression("InnoDB: incorrect flags in SYS_TABLES");
-call mtr.add_suppression("InnoDB: Table `test`.`t[cp]` in InnoDB data dictionary contains invalid flags\\. SYS_TABLES\\.TYPE=(129|289|3873|1232[31]) SYS_TABLES\\.N_COLS=2147483649\\r?$");
-call mtr.add_suppression("InnoDB: Table `test`\\.`tr` in InnoDB data dictionary contains invalid flags\\. SYS_TABLES\\.TYPE=65 SYS_TABLES\\.MIX_LEN=4294967295\\r?$");
+call mtr.add_suppression("InnoDB: Table test/t[cp] in InnoDB data dictionary contains invalid flags\\. SYS_TABLES\\.TYPE=(129|289|3873|1232[31]) SYS_TABLES\\.N_COLS=2147483649\\r?$");
+call mtr.add_suppression("InnoDB: Table test/tr in InnoDB data dictionary contains invalid flags\\. SYS_TABLES\\.TYPE=65 SYS_TABLES\\.MIX_LEN=4294967295\\r?$");
call mtr.add_suppression("InnoDB: Refusing to load '\\..test.td\\.ibd' \\(id=3, flags=0x([2e]1)\\); dictionary contains id=3, flags=0x100\\1\\r?$");
call mtr.add_suppression("InnoDB: Refusing to load '\\..test.td\\.ibd' \\(id=3, flags=0x(1[2ae]1)\\); dictionary contains id=3, flags=0x10\\1\\r?$");
call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`.`td` because it could not be opened\\.");
# FIXME: Remove the following spam due to invalid flags for test.td
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself");
call mtr.add_suppression("InnoDB: adjusting FSP_SPACE_FLAGS of file ");
call mtr.add_suppression("InnoDB: Parent table of FTS auxiliary table .* not found.");
FLUSH TABLES;
@@ -32,9 +30,6 @@ let bugdir= $MYSQLTEST_VARDIR/tmp/table_flags;
--let $d=$d --innodb-undo-tablespaces=0
--let $d=$d --innodb-purge-rseg-truncate-frequency=1
--let $d=$d --skip-innodb-fast-shutdown
-if ($have_debug) {
---let $d=$d --debug=d,create_and_drop_garbage
-}
--let $restart_noprint=1
--let $restart_parameters=$d --innodb-stats-persistent=0
--source include/restart_mysqld.inc
@@ -171,9 +166,9 @@ SHOW CREATE TABLE tp;
--source include/shutdown_mysqld.inc
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
---let SEARCH_PATTERN= InnoDB: Table `test`.`t[cp]` in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=(129|289|3873|1232[13]) SYS_TABLES\.N_COLS=2147483649
+--let SEARCH_PATTERN= InnoDB: Table test/t[cp] in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=(129|289|3873|1232[13]) SYS_TABLES\.N_COLS=2147483649
--source include/search_pattern_in_file.inc
---let SEARCH_PATTERN= InnoDB: Table `test`\.`tr` in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=65 SYS_TABLES\.MIX_LEN=4294967295\b
+--let SEARCH_PATTERN= InnoDB: Table test/tr in InnoDB data dictionary contains invalid flags\. SYS_TABLES\.TYPE=65 SYS_TABLES\.MIX_LEN=4294967295\b
--source include/search_pattern_in_file.inc
# Restore the backup of the corrupted SYS_TABLES clustered index root page
diff --git a/mysql-test/suite/innodb/t/temp_table.test b/mysql-test/suite/innodb/t/temp_table.test
index 4809f278fb6..0fdcb6c678a 100644
--- a/mysql-test/suite/innodb/t/temp_table.test
+++ b/mysql-test/suite/innodb/t/temp_table.test
@@ -23,7 +23,7 @@ create temporary table t2
--source suite/innodb/include/dml_ops.inc
drop temporary table t1,t2;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
create temporary table t1
(keyc int, c1 char(100), c2 char(100),
primary key(keyc), index sec_index(c1)
diff --git a/mysql-test/suite/innodb/t/temporary_table.test b/mysql-test/suite/innodb/t/temporary_table.test
index 092aeb8a466..594ab95ef58 100644
--- a/mysql-test/suite/innodb/t/temporary_table.test
+++ b/mysql-test/suite/innodb/t/temporary_table.test
@@ -184,12 +184,12 @@ eval $check_no_innodb;
--let $restart_parameters=
--source include/restart_mysqld.inc
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
create temporary table t (
i int)
engine = innodb row_format = compressed;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
create temporary table t (
i int)
engine = innodb row_format = compressed key_block_size = 8;
@@ -214,7 +214,7 @@ show warnings;
set innodb_strict_mode = default;
#
drop table t;
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
create temporary table t (
i int)
engine = innodb row_format = compressed;
@@ -347,7 +347,7 @@ DROP TABLE t1;
# Set innodb_strict_mode=ON and test compressed temporary tables again.
set innodb_strict_mode = ON;
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
@@ -355,7 +355,7 @@ CREATE TEMPORARY TABLE t1 (
SHOW WARNINGS;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
@@ -372,7 +372,7 @@ SHOW CREATE TABLE t1;
DROP TABLE t1;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
@@ -380,7 +380,7 @@ CREATE TEMPORARY TABLE t1 (
SHOW WARNINGS;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
@@ -388,7 +388,7 @@ CREATE TEMPORARY TABLE t1 (
SHOW WARNINGS;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
@@ -396,7 +396,7 @@ CREATE TEMPORARY TABLE t1 (
SHOW WARNINGS;
#
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY,
c CHAR(10) NOT NULL
@@ -417,15 +417,15 @@ CREATE TEMPORARY TABLE t1 (
i INT NOT NULL PRIMARY KEY
) ENGINE = InnoDB ROW_FORMAT = REDUNDANT;
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
ALTER TABLE t1 ROW_FORMAT = COMPRESSED;
SHOW WARNINGS;
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
ALTER TABLE t1 KEY_BLOCK_SIZE = 4;
SHOW WARNINGS;
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
ALTER TABLE t1 ROW_FORMAT = DYNAMIC KEY_BLOCK_SIZE = 4;
SHOW WARNINGS;
@@ -453,7 +453,7 @@ SHOW WARNINGS;
set innodb_strict_mode = ON;
---error ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
ALTER TABLE t1 ADD COLUMN j INT;
SHOW WARNINGS;
SHOW CREATE TABLE t1;
diff --git a/mysql-test/suite/innodb/t/temporary_table_optimization.opt b/mysql-test/suite/innodb/t/temporary_table_optimization.opt
index 2f73da1ead6..39b93371503 100644
--- a/mysql-test/suite/innodb/t/temporary_table_optimization.opt
+++ b/mysql-test/suite/innodb/t/temporary_table_optimization.opt
@@ -1 +1 @@
---loose-innodb-sys-datafiles --loose-innodb-sys-tables
+--loose-innodb-sys-tables
diff --git a/mysql-test/suite/innodb/t/temporary_table_optimization.test b/mysql-test/suite/innodb/t/temporary_table_optimization.test
index 967965f9998..a30f05cb6b9 100644
--- a/mysql-test/suite/innodb/t/temporary_table_optimization.test
+++ b/mysql-test/suite/innodb/t/temporary_table_optimization.test
@@ -13,7 +13,7 @@
# 4. Import/Discard of temp-table (to check blocked action) #
# 5. Renaming of temp-table #
# 6. Creating temp-table with large prefix. #
-# 7. Check Temp table info not stored in I_S datafile and tables #
+# 7. Check Temp table info not stored in InnoDB system tables #
#########################################################################
@@ -233,11 +233,8 @@ drop table t;
#
CREATE TABLE t1 ( i INT ) ENGINE = Innodb;
CREATE TEMPORARY TABLE t2 ( i INT ) ENGINE = Innodb;
-SELECT COUNT(*) FROM information_schema.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%t_';
SELECT COUNT(*) FROM information_schema.INNODB_SYS_TABLES WHERE NAME LIKE '%test%t_';
CREATE TEMPORARY table t3 ( i INT ) ENGINE = Innodb;
-SELECT COUNT(*) FROM information_schema.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%t_';
SELECT COUNT(*) FROM information_schema.INNODB_SYS_TABLES WHERE NAME LIKE '%test%t_';
DROP TABLE t1,t2,t3;
-SELECT COUNT(*) FROM information_schema.INNODB_SYS_DATAFILES WHERE PATH LIKE '%test%t_';
SELECT COUNT(*) FROM information_schema.INNODB_SYS_TABLES WHERE NAME LIKE '%test%t_';
diff --git a/mysql-test/suite/innodb/t/truncate.test b/mysql-test/suite/innodb/t/truncate.test
index ca9ccb677e9..436fc01b5a1 100644
--- a/mysql-test/suite/innodb/t/truncate.test
+++ b/mysql-test/suite/innodb/t/truncate.test
@@ -19,10 +19,17 @@ DROP TABLE t;
--echo #
--echo # MDEV-17831 TRUNCATE TABLE removes ROW_FORMAT=COMPRESSED
--echo #
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB KEY_BLOCK_SIZE=4;
TRUNCATE TABLE t1;
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
SHOW TABLE STATUS;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
DROP TABLE t1;
--echo #
@@ -36,7 +43,7 @@ call mtr.add_suppression("InnoDB: (Operating system )?[Ee]rror number");
call mtr.add_suppression("InnoDB: Cannot create file '.*t1\\.ibd");
FLUSH TABLES;
--move_file $MYSQLD_DATADIR/test/t1.frm $MYSQLD_DATADIR/test/hidden.frm
---error ER_TABLESPACE_EXISTS
+--error ER_TABLE_EXISTS_ERROR
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
--move_file $MYSQLD_DATADIR/test/hidden.frm $MYSQLD_DATADIR/test/t1.frm
SELECT * FROM t1;
@@ -60,3 +67,15 @@ RENAME TABLE t TO u;
TRUNCATE u;
TRUNCATE u;
DROP TABLE u;
+
+--echo #
+--echo # Test for a regression found during MDEV-25506 rewrite of DROP
+--echo #
+CREATE TEMPORARY TABLE t1 (a INT) ENGINE=InnoDB;
+LOCK TABLE t1 READ;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t1;
+UNLOCK TABLES;
+DROP TEMPORARY TABLE t1;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/suite/innodb/t/truncate_foreign.test b/mysql-test/suite/innodb/t/truncate_foreign.test
index 1c150e5db40..e40029e18be 100644
--- a/mysql-test/suite/innodb/t/truncate_foreign.test
+++ b/mysql-test/suite/innodb/t/truncate_foreign.test
@@ -52,12 +52,12 @@ send INSERT INTO child SET a=5;
connection default;
SET DEBUG_SYNC='now WAIT_FOR fk';
-SET foreign_key_checks=0;
+SET foreign_key_checks=0, innodb_lock_wait_timeout=0;
+--error ER_LOCK_WAIT_TIMEOUT
TRUNCATE TABLE parent;
SET DEBUG_SYNC='now SIGNAL go';
connection dml;
---error ER_NO_REFERENCED_ROW_2
reap;
SELECT * FROM parent;
SELECT * FROM child;
@@ -80,3 +80,22 @@ TRUNCATE TABLE t1;
ALTER TABLE t1 ADD c INT;
UNLOCK TABLES;
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-26052 Assertion prebuilt->trx_id < table->def_trx_id failed
+--echo #
+
+call mtr.add_suppression("InnoDB: In ALTER TABLE `test`\\.`t1` has or is");
+
+CREATE TABLE t1 (pk INT, a INT, PRIMARY KEY (pk), KEY (a)) ENGINE=InnoDB;
+SET FOREIGN_KEY_CHECKS=0;
+ALTER TABLE t1 ADD FOREIGN KEY (a) REFERENCES t1 (a), ALGORITHM=COPY;
+INSERT INTO t1 VALUES (1,1);
+LOCK TABLES t1 WRITE;
+--error ER_CANNOT_ADD_FOREIGN
+TRUNCATE t1;
+INSERT INTO t1 VALUES (2,2);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo # End of 10.6 tests
diff --git a/mysql-test/suite/innodb/t/truncate_missing.test b/mysql-test/suite/innodb/t/truncate_missing.test
index c357f5bae72..fb6bd678237 100644
--- a/mysql-test/suite/innodb/t/truncate_missing.test
+++ b/mysql-test/suite/innodb/t/truncate_missing.test
@@ -3,7 +3,7 @@
call mtr.add_suppression("InnoDB: Operating system error number ");
call mtr.add_suppression("InnoDB: (The error means|If you are|Cannot open datafile) ");
-call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\.`t`");
+call mtr.add_suppression("InnoDB: Ignoring tablespace for test/t ");
call mtr.add_suppression("InnoDB: Table test/t .* does not exist");
CREATE TABLE t (a SERIAL) ENGINE=InnoDB;
diff --git a/mysql-test/suite/innodb/t/update-cascade.combinations b/mysql-test/suite/innodb/t/update-cascade.combinations
deleted file mode 100644
index 8fb4862675b..00000000000
--- a/mysql-test/suite/innodb/t/update-cascade.combinations
+++ /dev/null
@@ -1,5 +0,0 @@
-[FCFS]
---innodb-lock-schedule-algorithm=FCFS
-
-[VATS]
---innodb-lock-schedule-algorithm=VATS
diff --git a/mysql-test/suite/innodb/t/update_time.test b/mysql-test/suite/innodb/t/update_time.test
index fd1e082f5f2..35b583b5102 100644
--- a/mysql-test/suite/innodb/t/update_time.test
+++ b/mysql-test/suite/innodb/t/update_time.test
@@ -12,7 +12,7 @@
--source include/big_test.inc
--source include/have_sequence.inc
-CREATE TABLE t (a INT) ENGINE=INNODB;
+CREATE TABLE t (a INT) ENGINE=INNODB STATS_PERSISTENT=0;
SELECT update_time FROM information_schema.tables WHERE table_name = 't';
diff --git a/mysql-test/suite/innodb/t/xa_recovery.test b/mysql-test/suite/innodb/t/xa_recovery.test
index bb8e3316860..7a67cd8e8b7 100644
--- a/mysql-test/suite/innodb/t/xa_recovery.test
+++ b/mysql-test/suite/innodb/t/xa_recovery.test
@@ -39,10 +39,10 @@ let $wait_condition=
info = 'SELECT * FROM t1 LOCK IN SHARE MODE';
--source include/wait_condition.inc
+SET innodb_lock_wait_timeout=1;
+--error ER_LOCK_WAIT_TIMEOUT
DROP TABLE t2;
---source include/restart_mysqld.inc
-
disconnect con1;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
@@ -51,8 +51,10 @@ XA ROLLBACK 'x';
SELECT * FROM t1;
DROP TABLE t1;
+--error ER_LOCK_WAIT_TIMEOUT
+DROP TABLE t2;
+XA ROLLBACK 'y';
+DROP TABLE t2;
SET GLOBAL innodb_fast_shutdown=0;
--source include/restart_mysqld.inc
-
-XA ROLLBACK 'y';
diff --git a/mysql-test/suite/innodb_fts/r/crash_recovery.result b/mysql-test/suite/innodb_fts/r/crash_recovery.result
index 37c0ff27046..e8305cbb2f1 100644
--- a/mysql-test/suite/innodb_fts/r/crash_recovery.result
+++ b/mysql-test/suite/innodb_fts/r/crash_recovery.result
@@ -17,14 +17,32 @@ BEGIN;
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...');
# Make durable the AUTO_INCREMENT in the above incomplete transaction.
-connect flush_redo_log,localhost,root,,;
-SET GLOBAL innodb_flush_log_at_trx_commit=1;
-BEGIN;
-DELETE FROM articles LIMIT 1;
-ROLLBACK;
-disconnect flush_redo_log;
+connect ddl1, localhost, root,,;
+CREATE TABLE t1(a TEXT,b TEXT,FULLTEXT INDEX(a)) ENGINE=InnoDB;
+ALTER TABLE t1 ADD FULLTEXT INDEX(b);
+connection default;
+connect ddl2, localhost, root,,;
+CREATE TABLE t2(a TEXT,b TEXT,FULLTEXT INDEX(a)) ENGINE=InnoDB;
+ALTER TABLE t2 DROP INDEX a, ADD FULLTEXT INDEX(b), FORCE;
+connection default;
+connect ddl3, localhost, root,,;
+CREATE TABLE t3(a TEXT,b TEXT,FULLTEXT INDEX(a)) ENGINE=InnoDB;
+ALTER TABLE t3 DROP INDEX a, ADD FULLTEXT INDEX(b), ALGORITHM=COPY;
connection default;
# restart
+disconnect ddl1;
+disconnect ddl2;
+disconnect ddl3;
+SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
+SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+InnoDB 0 transactions not purged
+SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
+CHECK TABLE t1,t2,t3;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+test.t2 check status OK
+test.t3 check status OK
+DROP TABLE t1,t2,t3;
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...');
CREATE FULLTEXT INDEX idx ON articles (title,body);
@@ -50,9 +68,11 @@ connection default;
# Make durable the AUTO_INCREMENT in the above incomplete transaction.
connect flush_redo_log,localhost,root,,;
SET GLOBAL innodb_flush_log_at_trx_commit=1;
+SET SQL_MODE = NO_AUTO_VALUE_ON_ZERO;
BEGIN;
-DELETE FROM articles LIMIT 1;
-ROLLBACK;
+UPDATE articles SET id=0 WHERE id=1;
+UPDATE articles SET id=1 WHERE id=0;
+COMMIT;
disconnect flush_redo_log;
connection default;
# restart
@@ -137,3 +157,5 @@ id title body
1 MySQL Tutorial DBMS stands for Database...
2 MariaDB Tutorial DB means Database ...
DROP TABLE mdev19073, mdev19073_2;
+SELECT * FROM information_schema.innodb_sys_tables WHERE name LIKE 'test/%';
+TABLE_ID NAME FLAG N_COLS SPACE ROW_FORMAT ZIP_PAGE_SIZE SPACE_TYPE
diff --git a/mysql-test/suite/innodb_fts/r/fulltext.result b/mysql-test/suite/innodb_fts/r/fulltext.result
index b2ac4957e38..ce72d797ac1 100644
--- a/mysql-test/suite/innodb_fts/r/fulltext.result
+++ b/mysql-test/suite/innodb_fts/r/fulltext.result
@@ -6,9 +6,9 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text 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 NULL NULL NULL YES FULLTEXT
-t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
select * from t1 where MATCH(a,b) AGAINST ("collections");
a b
Full-text indexes are called collections
@@ -232,9 +232,9 @@ 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 NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 1 tig 1 ticket A 3 NULL NULL YES BTREE NO
+t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT NO
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -349,7 +349,7 @@ INSERT t1 VALUES ("üÔÏ ÍÙ - ÏÐÉÌËÉ"),("ïÔÌÅÚØ, ÇÎÉÄÁ!"),
("îÅ ×ÌÅÚÁÊ, ÕÂØÅÔ!"),("É ÂÕÄÅÔ ÐÒÁ×!");
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('ïðéìëé');
t collation(t)
-üÔÏ ÍÙ - ÏÐÉÌËÉ utf8_general_ci
+üÔÏ ÍÙ - ÏÐÉÌËÉ utf8mb3_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');
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
index 38cf6c81617..c7a19eb7572 100644
--- a/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
@@ -485,7 +485,7 @@ t1 CREATE TABLE `t1` (
`b` text DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `idx` (`a`,`b`)
-) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=COMPRESSED
SELECT count(*) FROM information_schema.innodb_sys_tables WHERE name LIKE "%FTS_%" AND space !=0;
count(*)
11
diff --git a/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result b/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
index 0a408ab4ce7..60be41d5839 100644
--- a/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
+++ b/mysql-test/suite/innodb_fts/r/innodb_fts_plugin.result
@@ -115,6 +115,7 @@ title VARCHAR(200),
body TEXT,
FULLTEXT (title, body) WITH PARSER simple_parser
) ENGINE=InnoDB;
+SET unique_checks=0, foreign_key_checks=0;
BEGIN;
INSERT INTO articles (title, body) VALUES
('MySQL Tutorial','DBMS stands for MySQL DataBase ...'),
@@ -139,25 +140,25 @@ INSERT INTO articles (title, body) VALUES
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('MySQL');
id title body
-6 MySQL Tutorial DBMS stands for MySQL DataBase ...
-7 How To Use MySQL Well After you went through a ...
-8 Optimizing MySQL In this tutorial we will show ...
-9 1001 MySQL Tricks How to use full-text search engine
+1 MySQL Tutorial DBMS stands for MySQL 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 How to use full-text search engine
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('tutorial');
id title body
-6 MySQL Tutorial DBMS stands for MySQL DataBase ...
-8 Optimizing MySQL In this tutorial we will show ...
+1 MySQL Tutorial DBMS stands for MySQL DataBase ...
+3 Optimizing MySQL In this tutorial we will show ...
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('Tricks');
id title body
-9 1001 MySQL Tricks How to use full-text search engine
-10 Go MariaDB Tricks How to use full text search engine
+4 1001 MySQL Tricks How to use full-text search engine
+5 Go MariaDB Tricks How to use full text search engine
SELECT * FROM articles WHERE
MATCH(title, body) AGAINST('full text search');
id title body
-10 Go MariaDB Tricks How to use full text search engine
-9 1001 MySQL Tricks How to use full-text search engine
+5 Go MariaDB Tricks How to use full text search engine
+4 1001 MySQL Tricks How to use full-text search engine
SELECT COUNT(*) FROM articles;
COUNT(*)
5
diff --git a/mysql-test/suite/innodb_fts/r/misc_debug.result b/mysql-test/suite/innodb_fts/r/misc_debug.result
index e252d7f6b11..f40ed1fe9c3 100644
--- a/mysql-test/suite/innodb_fts/r/misc_debug.result
+++ b/mysql-test/suite/innodb_fts/r/misc_debug.result
@@ -20,12 +20,13 @@ DROP TABLE t;
CREATE TABLE t1 (pk INT, a VARCHAR(8), PRIMARY KEY(pk),
FULLTEXT KEY(a)) ENGINE=InnoDB;
CREATE TABLE t2 (b INT, FOREIGN KEY(b) REFERENCES t1(pk)) ENGINE=InnoDB;
-DROP TABLE t1;
+DROP TABLE/*foo*/ t1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
SET DEBUG_DBUG="+d,fts_instrument_sync";
INSERT INTO t1 VALUES(1, "mariadb");
ALTER TABLE t1 FORCE;
DROP TABLE t2, t1;
+SET SESSION debug_dbug=@saved_debug_dbug;
#
# MDEV-25200 Index count mismatch due to aborted FULLTEXT INDEX
#
@@ -56,12 +57,20 @@ DROP TABLE t1;
# MDEV-25663 Double free of transaction during TRUNCATE
#
call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)");
-SET DEBUG_DBUG='-d,ib_create_table_fail_too_many_trx';
+call mtr.add_suppression("InnoDB: Cannot save table statistics for table `test`\\.`t1`: Too many concurrent transactions");
CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB;
-SET @save_dbug= @@debug_dbug;
SET debug_dbug='+d,ib_create_table_fail_too_many_trx';
TRUNCATE t1;
ERROR HY000: Got error -1 "Internal error < 0 (Not system error)" from storage engine InnoDB
-SET debug_dbug=@save_dbug;
+SET debug_dbug=@saved_debug_dbug;
DROP TABLE t1;
# End of 10.3 tests
+CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(100))ENGINE=InnoDB;
+SET DEBUG_DBUG="+d,stats_lock_fail";
+ALTER TABLE t1 ADD FULLTEXT(f2);
+ERROR HY000: Got error 15 "Block device required" from storage engine InnoDB
+SET DEBUG_DBUG="-d,stats_lock_fail";
+ALTER TABLE t1 DISCARD TABLESPACE;
+ALTER TABLE t1 ADD FULLTEXT(f2);
+ERROR HY000: Tablespace has been discarded for table `t1`
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_fts/r/sync.result b/mysql-test/suite/innodb_fts/r/sync.result
index 861408cbe2d..928efffdb21 100644
--- a/mysql-test/suite/innodb_fts/r/sync.result
+++ b/mysql-test/suite/innodb_fts/r/sync.result
@@ -97,7 +97,7 @@ FULLTEXT(title)
INSERT INTO t1(title) VALUES('database');
SET debug_dbug = '+d,fts_instrument_sync_debug,fts_write_node_crash';
INSERT INTO t1(title) VALUES('mysql');
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# restart
After restart
SELECT title FROM t1 WHERE MATCH(title) AGAINST ('mysql database');
diff --git a/mysql-test/suite/innodb_fts/t/crash_recovery.opt b/mysql-test/suite/innodb_fts/t/crash_recovery.opt
new file mode 100644
index 00000000000..e6ae8d0fe0a
--- /dev/null
+++ b/mysql-test/suite/innodb_fts/t/crash_recovery.opt
@@ -0,0 +1 @@
+--enable-plugin-innodb-sys-tables
diff --git a/mysql-test/suite/innodb_fts/t/crash_recovery.test b/mysql-test/suite/innodb_fts/t/crash_recovery.test
index 1b321af236a..702aaefad83 100644
--- a/mysql-test/suite/innodb_fts/t/crash_recovery.test
+++ b/mysql-test/suite/innodb_fts/t/crash_recovery.test
@@ -7,6 +7,7 @@
# The embedded server tests do not support restarting.
--source include/not_embedded.inc
--source include/maybe_debug.inc
+if ($have_debug) { source include/have_debug_sync.inc; }
FLUSH TABLES;
# Following are test for crash recovery on FTS index, the first scenario
@@ -36,22 +37,80 @@ INSERT INTO articles (title,body) VALUES
('MySQL Security','When configured properly, MySQL ...');
BEGIN;
-
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...');
--echo # Make durable the AUTO_INCREMENT in the above incomplete transaction.
---connect (flush_redo_log,localhost,root,,)
-SET GLOBAL innodb_flush_log_at_trx_commit=1;
-BEGIN;
-DELETE FROM articles LIMIT 1;
-ROLLBACK;
---disconnect flush_redo_log
+--connect(ddl1, localhost, root,,)
+CREATE TABLE t1(a TEXT,b TEXT,FULLTEXT INDEX(a)) ENGINE=InnoDB;
+if ($have_debug)
+{
+--disable_query_log
+SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL 1 WAIT_FOR ever';
+--enable_query_log
+}
+send ALTER TABLE t1 ADD FULLTEXT INDEX(b);
+--connection default
+if ($have_debug)
+{
+--disable_query_log
+SET DEBUG_SYNC='now WAIT_FOR 1';
+--enable_query_log
+}
+
+--connect(ddl2, localhost, root,,)
+CREATE TABLE t2(a TEXT,b TEXT,FULLTEXT INDEX(a)) ENGINE=InnoDB;
+if ($have_debug)
+{
+--disable_query_log
+SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL 2 WAIT_FOR ever';
+--enable_query_log
+}
+send ALTER TABLE t2 DROP INDEX a, ADD FULLTEXT INDEX(b), FORCE;
--connection default
+if ($have_debug)
+{
+--disable_query_log
+SET DEBUG_SYNC='now WAIT_FOR 2';
+--enable_query_log
+}
+
+--connect(ddl3, localhost, root,,)
+CREATE TABLE t3(a TEXT,b TEXT,FULLTEXT INDEX(a)) ENGINE=InnoDB;
+if ($have_debug)
+{
+--disable_query_log
+SET DEBUG_SYNC='alter_table_before_rename_result_table SIGNAL 3 WAIT_FOR ever';
+--enable_query_log
+}
+send ALTER TABLE t3 DROP INDEX a, ADD FULLTEXT INDEX(b), ALGORITHM=COPY;
+
+--connection default
+if ($have_debug)
+{
+--disable_query_log
+SET DEBUG_SYNC='now WAIT_FOR 3';
+--enable_query_log
+}
let $shutdown_timeout=0;
--source include/restart_mysqld.inc
+disconnect ddl1;
+disconnect ddl2;
+disconnect ddl3;
+
+# Ensure that the history list length will actually be decremented by purge.
+SET @saved_frequency = @@GLOBAL.innodb_purge_rseg_truncate_frequency;
+SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
+# Wait for purge, so that any #sql-ib.ibd files from the previous kill
+# will be deleted.
+source ../../innodb/include/wait_all_purged.inc;
+SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
+
+CHECK TABLE t1,t2,t3;
+DROP TABLE t1,t2,t3;
+
# 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 ...');
@@ -84,9 +143,11 @@ connection default;
--echo # Make durable the AUTO_INCREMENT in the above incomplete transaction.
--connect (flush_redo_log,localhost,root,,)
SET GLOBAL innodb_flush_log_at_trx_commit=1;
+SET SQL_MODE = NO_AUTO_VALUE_ON_ZERO;
BEGIN;
-DELETE FROM articles LIMIT 1;
-ROLLBACK;
+UPDATE articles SET id=0 WHERE id=1;
+UPDATE articles SET id=1 WHERE id=0;
+COMMIT;
--disconnect flush_redo_log
--connection default
@@ -193,3 +254,5 @@ AGAINST ('Database' IN NATURAL LANGUAGE MODE);
SELECT * FROM mdev19073_2 WHERE MATCH (title, body)
AGAINST ('Database' IN NATURAL LANGUAGE MODE);
DROP TABLE mdev19073, mdev19073_2;
+
+SELECT * FROM information_schema.innodb_sys_tables WHERE name LIKE 'test/%';
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
index 8f4902fd2de..279cca3177a 100644
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
@@ -1335,9 +1335,16 @@ SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE);
DROP TABLE t1;
# MDEV-19974 InnoDB: Cannot load compressed BLOB
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
+
CREATE TABLE t1(f1 TEXT, FULLTEXT KEY(f1))ENGINE=InnoDB;
INSERT INTO t1 VALUES(repeat("this is the test case", 500));
ALTER TABLE t1 KEY_BLOCK_SIZE=4;
ALTER TABLE t1 KEY_BLOCK_SIZE=0;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
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
index b0bf2c669ad..4eaf5b2e0bd 100644
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test
@@ -432,6 +432,10 @@ let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
set global innodb_file_per_table=1;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
# Create FTS table
CREATE TABLE t1 (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
@@ -579,6 +583,9 @@ SELECT * FROM t1 WHERE MATCH (a,b)
SELECT * FROM t1 ORDER BY id;
DROP TABLE t1;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
#------------------------------------------------------------------------------
diff --git a/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test b/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
index b22ac456668..aa52ef5051a 100644
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_plugin.test
@@ -125,6 +125,8 @@ CREATE TABLE articles (
FULLTEXT (title, body) WITH PARSER simple_parser
) ENGINE=InnoDB;
+# Enable MDEV-515 table-level undo logging when inserting into empty table
+SET unique_checks=0, foreign_key_checks=0;
BEGIN;
INSERT INTO articles (title, body) VALUES
('MySQL Tutorial','DBMS stands for MySQL DataBase ...'),
diff --git a/mysql-test/suite/innodb_fts/t/misc_debug.test b/mysql-test/suite/innodb_fts/t/misc_debug.test
index 4a0edf4ef88..6ab980a3948 100644
--- a/mysql-test/suite/innodb_fts/t/misc_debug.test
+++ b/mysql-test/suite/innodb_fts/t/misc_debug.test
@@ -48,12 +48,13 @@ CREATE TABLE t1 (pk INT, a VARCHAR(8), PRIMARY KEY(pk),
FULLTEXT KEY(a)) ENGINE=InnoDB;
CREATE TABLE t2 (b INT, FOREIGN KEY(b) REFERENCES t1(pk)) ENGINE=InnoDB;
--error ER_ROW_IS_REFERENCED_2
-DROP TABLE t1;
+DROP TABLE/*foo*/ t1;
SET DEBUG_DBUG="+d,fts_instrument_sync";
INSERT INTO t1 VALUES(1, "mariadb");
ALTER TABLE t1 FORCE;
# Cleanup
DROP TABLE t2, t1;
+SET SESSION debug_dbug=@saved_debug_dbug;
--echo #
--echo # MDEV-25200 Index count mismatch due to aborted FULLTEXT INDEX
@@ -85,13 +86,24 @@ DROP TABLE t1;
--echo # MDEV-25663 Double free of transaction during TRUNCATE
--echo #
call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)");
-SET DEBUG_DBUG='-d,ib_create_table_fail_too_many_trx';
+call mtr.add_suppression("InnoDB: Cannot save table statistics for table `test`\\.`t1`: Too many concurrent transactions");
CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB;
-SET @save_dbug= @@debug_dbug;
SET debug_dbug='+d,ib_create_table_fail_too_many_trx';
--error ER_GET_ERRNO
TRUNCATE t1;
-SET debug_dbug=@save_dbug;
+SET debug_dbug=@saved_debug_dbug;
DROP TABLE t1;
--echo # End of 10.3 tests
+
+# Fulltext fails in commit phase
+
+CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(100))ENGINE=InnoDB;
+SET DEBUG_DBUG="+d,stats_lock_fail";
+--error ER_GET_ERRNO
+ALTER TABLE t1 ADD FULLTEXT(f2);
+SET DEBUG_DBUG="-d,stats_lock_fail";
+ALTER TABLE t1 DISCARD TABLESPACE;
+--error ER_TABLESPACE_DISCARDED
+ALTER TABLE t1 ADD FULLTEXT(f2);
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_gis/r/1.result b/mysql-test/suite/innodb_gis/r/1.result
index 26fdf39baf3..f8db53a4ca9 100644
--- a/mysql-test/suite/innodb_gis/r/1.result
+++ b/mysql-test/suite/innodb_gis/r/1.result
@@ -227,7 +227,7 @@ fid ST_AsText(ST_Envelope(g))
121 POLYGON((3 6,44 6,44 9,3 9,3 6))
explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 #
+1 SIMPLE gis_geometry ALL NULL NULL NULL NULL # #
Warnings:
Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `ST_Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `ST_GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `ST_IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `ST_AsText(ST_Envelope(g))` from `test`.`gis_geometry`
SELECT fid, ST_X(g) FROM gis_point;
@@ -244,7 +244,7 @@ fid ST_Y(g)
104 20
explain extended select ST_X(g),ST_Y(g) FROM gis_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # #
Warnings:
Note 1003 select st_x(`test`.`gis_point`.`g`) AS `ST_X(g)`,st_y(`test`.`gis_point`.`g`) AS `ST_Y(g)` from `test`.`gis_point`
SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line;
@@ -279,7 +279,7 @@ fid ST_IsClosed(g)
107 0
explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_line ALL NULL NULL NULL NULL # #
Warnings:
Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `ST_Length(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `ST_NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `ST_AsText(ST_PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `ST_IsClosed(g)` from `test`.`gis_line`
SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon;
@@ -309,7 +309,7 @@ fid ST_AsText(ST_InteriorRingN(g, 1))
110 NULL
explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_polygon ALL NULL NULL NULL NULL # #
Warnings:
Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `ST_Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `ST_NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `ST_AsText(ST_InteriorRingN(g, 1))` from `test`.`gis_polygon`
SELECT fid, ST_IsClosed(g) FROM gis_multi_line;
@@ -348,7 +348,7 @@ fid ST_NumGeometries(g)
121 2
explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # #
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `ST_NumGeometries(g)` from `test`.`gis_multi_point`
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
@@ -376,7 +376,7 @@ fid ST_AsText(ST_GeometryN(g, 1))
121 POINT(44 6)
explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # #
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `ST_AsText(ST_GeometryN(g, 2))` from `test`.`gis_multi_point`
SELECT g1.fid as first, g2.fid as second,
@@ -395,8 +395,8 @@ MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g)
MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 # Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2 # Using join buffer (flat, BNL join)
+1 SIMPLE g1 ALL NULL NULL NULL NULL # # Using temporary; Using filesort
+1 SIMPLE g2 ALL NULL NULL NULL NULL # # Using join buffer (flat, BNL join)
Warnings:
Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,mbrequals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
diff --git a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
index caacde7fecb..2f016327858 100644
--- a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
+++ b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result
@@ -1,4 +1,4 @@
-CALL mtr.add_suppression("but MySQL is asking statistics for 2 columns. Have you mixed");
+CALL mtr.add_suppression("but MariaDB is asking statistics for 2 columns. Have you mixed");
CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL,
c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL)
ENGINE=InnoDB;
@@ -130,13 +130,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
SET @g1 = ST_GeomFromText('POLYGON((20 20,30 30,40 40,50 50,40 50,30 40,30 30,20 20))');
SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1);
c1 ST_Astext(c2) ST_Astext(c4)
@@ -174,13 +174,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c44`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c22 A # 32 NULL SPATIAL
-tab 1 idx3 1 c33 A # 32 NULL SPATIAL
-tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c44 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c22 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c33 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c44 A # 10 NULL BTREE NO
ALTER TABLE tab CHANGE COLUMN c22 c2 POINT NOT NULL;
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
@@ -206,13 +206,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
ALTER TABLE tab DISABLE KEYS;
Warnings:
Note 1031 Storage engine InnoDB of the table `test`.`tab` doesn't have this option
@@ -335,7 +335,7 @@ tab CREATE TABLE `tab` (
`c5` geometry NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
DELETE FROM tab;
ALTER TABLE tab ADD PRIMARY KEY(c2);
affected rows: 0
@@ -359,10 +359,10 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c2 A # 25 NULL BTREE
-tab 0 const_1 1 c2 A # 25 NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c2 A # 25 NULL BTREE NO
+tab 0 const_1 1 c2 A # 25 NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -393,10 +393,10 @@ tab CREATE TABLE `tab` (
SPATIAL KEY `idx2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c5 A # 10 NULL BTREE
-tab 0 const_1 1 c5 A # 10 NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c5 A # 10 NULL BTREE NO
+tab 0 const_1 1 c5 A # 10 NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -523,13 +523,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)')
WHERE MBRContains(tab.c4, @g1);
@@ -560,13 +560,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
ANALYZE TABLE tab;
Table Op Msg_type Msg_text
test.tab analyze status Engine-independent statistics collected
@@ -617,13 +617,13 @@ tab CREATE TABLE `tab` (
KEY `idx6` (`c4`(10)) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
-tab 1 idx2 1 c2 A # 32 NULL SPATIAL
-tab 1 idx3 1 c3 A # 32 NULL SPATIAL
-tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
-tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
-tab 1 idx6 1 c4 A # 10 NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
+tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
+tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
+tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
+tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
+tab 1 idx6 1 c4 A # 10 NULL BTREE NO
ANALYZE TABLE tab;
Table Op Msg_type Msg_text
test.tab analyze status Engine-independent statistics collected
@@ -699,12 +699,12 @@ child CREATE TABLE `child` (
SPATIAL KEY `idx2` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM parent;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-parent 0 PRIMARY 1 id A 0 25 NULL BTREE
-parent 1 idx1 1 id A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+parent 0 PRIMARY 1 id A 0 25 NULL BTREE NO
+parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO
SHOW INDEX FROM child;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-child 1 idx2 1 parent_id A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+child 1 idx2 1 parent_id A # 32 NULL SPATIAL NO
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ;
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ON DELETE CASCADE ;
DROP table child,parent;
@@ -731,12 +731,12 @@ child CREATE TABLE `child` (
SPATIAL KEY `idx2` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM parent;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-parent 0 PRIMARY 1 id A 0 10 NULL BTREE
-parent 1 idx1 1 id A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+parent 0 PRIMARY 1 id A 0 10 NULL BTREE NO
+parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO
SHOW INDEX FROM child;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL NO
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ;
DROP table child,parent;
create table t1 (c1 int) engine=innodb;
diff --git a/mysql-test/suite/innodb_gis/r/create_spatial_index.result b/mysql-test/suite/innodb_gis/r/create_spatial_index.result
index 78f2a6ad04d..25a5a4dd289 100644
--- a/mysql-test/suite/innodb_gis/r/create_spatial_index.result
+++ b/mysql-test/suite/innodb_gis/r/create_spatial_index.result
@@ -7,12 +7,12 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=8 ;
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=4
COMMENT 'Spatial index on Geometry type column';
SHOW INDEXES FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE
-tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
-tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
-tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
-tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO
+tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
+tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
+tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
+tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -437,11 +437,11 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=2 ;
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=8
COMMENT 'Spatial index on Geometry type column';
SHOW INDEXES FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
-tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
-tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
-tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
+tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
+tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
+tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
INSERT INTO tab(c1,c2,c3,c4,c5)
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -854,12 +854,12 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=16 ;
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=16
COMMENT 'Spatial index on Geometry type column';
SHOW INDEXES FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE
-tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
-tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
-tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
-tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO
+tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
+tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
+tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
+tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
INSERT INTO tab(c2,c3,c4,c5)
VALUES(ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
@@ -1255,8 +1255,8 @@ tab CREATE TABLE `tab` (
CONSTRAINT `tab_const` CHECK (cast(`c1` as char charset binary) > 0)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW INDEX FROM tab;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL NO
set @g1 = ST_GeomFromText('POINT(-1 -2)');
SELECT ST_AsText(c1) FROM tab;
ST_AsText(c1)
diff --git a/mysql-test/suite/innodb_gis/r/geometry.result b/mysql-test/suite/innodb_gis/r/geometry.result
index 70e0f04cdf1..437ff23e334 100644
--- a/mysql-test/suite/innodb_gis/r/geometry.result
+++ b/mysql-test/suite/innodb_gis/r/geometry.result
@@ -1,5 +1,7 @@
SET default_storage_engine=InnoDB;
SET innodb_strict_mode=OFF;
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT) ENGINE=InnoDB;
CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING) ENGINE=InnoDB;
CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON) ENGINE=InnoDB;
@@ -179,39 +181,39 @@ CREATE UNIQUE INDEX idx2 on tab(c8(5) ASC) ;
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab ref idx1 idx1 8 const 1 #
+1 SIMPLE tab ref idx1 idx1 8 const # Using where
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab ref idx1 idx1 8 const 1 #
+1 SIMPLE tab ref idx1 idx1 8 const # Using where
#check index with WKT function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab ref idx3 idx3 8 const 1 #
+1 SIMPLE tab ref idx3 idx3 8 const # Using where
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab
WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab ref idx3 idx3 8 const 1 #
+1 SIMPLE tab ref idx3 idx3 8 const # Using where
#check index with WKT function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab const idx2 idx2 8 const 1 #
+1 SIMPLE tab const idx2 idx2 8 const #
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab const idx2 idx2 8 const 1 #
+1 SIMPLE tab const idx2 idx2 8 const #
#check index with DELETE operation
EXPLAIN DELETE FROM tab
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab range idx2 idx2 8 NULL 1 #
+1 SIMPLE tab range idx2 idx2 8 NULL # Using where
#check the spatial values
SELECT ST_AsText(c1) FROM tab;
ST_AsText(c1)
@@ -703,39 +705,39 @@ CREATE UNIQUE INDEX idx2 on tab3(c8(5) ASC) ;
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 ref idx1 idx1 8 const 1 #
+1 SIMPLE tab3 ref idx1 idx1 8 const # Using where
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 ref idx1 idx1 8 const 1 #
+1 SIMPLE tab3 ref idx1 idx1 8 const # Using where
#check index with WKT function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 ref idx3 idx3 8 const 1 #
+1 SIMPLE tab3 ref idx3 idx3 8 const # Using where
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3
WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 ref idx3 idx3 8 const 1 #
+1 SIMPLE tab3 ref idx3 idx3 8 const # Using where
#check index with WKT function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 const idx2 idx2 8 const 1 #
+1 SIMPLE tab3 const idx2 idx2 8 const #
#check index with WKB function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 const idx2 idx2 8 const 1 #
+1 SIMPLE tab3 const idx2 idx2 8 const #
#check index with DELETE operation
EXPLAIN DELETE FROM tab3
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 range idx2 idx2 8 NULL 1 #
+1 SIMPLE tab3 range idx2 idx2 8 NULL # Using where
#check the spatial values
SELECT ST_AsText(c1) FROM tab3;
ST_AsText(c1)
@@ -783,12 +785,12 @@ tab3 CREATE TABLE `tab3` (
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 ref idx1 idx1 8 const 1 #
+1 SIMPLE tab3 ref idx1 idx1 8 const # Using where
#check index with WKT function
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE tab3 ref idx3 idx3 8 const 1 #
+1 SIMPLE tab3 ref idx3 idx3 8 const # Using where
#check the Geometry property functions
SELECT fid, ST_Dimension(g) FROM gis_geometry;
fid ST_Dimension(g)
@@ -888,7 +890,7 @@ fid ST_AsText(ST_Envelope(g))
122 POLYGON((3 6,44 6,44 9,3 9,3 6))
explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 22 #
+1 SIMPLE gis_geometry ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `ST_Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `ST_GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `ST_IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `ST_AsText(ST_Envelope(g))` from `test`.`gis_geometry`
#check Geometry point functions
@@ -906,7 +908,7 @@ fid ST_Y(g)
104 20
explain extended select ST_X(g),ST_Y(g) FROM gis_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_x(`test`.`gis_point`.`g`) AS `ST_X(g)`,st_y(`test`.`gis_point`.`g`) AS `ST_Y(g)` from `test`.`gis_point`
SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line;
@@ -942,7 +944,7 @@ fid ST_IsClosed(g)
explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),
ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_line ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `ST_Length(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `ST_NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `ST_AsText(ST_PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `ST_IsClosed(g)` from `test`.`gis_line`
SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon;
@@ -973,7 +975,7 @@ fid ST_AsText(ST_InteriorRingN(g, 1))
explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),
ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_polygon ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `ST_Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `ST_NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `ST_AsText(ST_InteriorRingN(g, 1))` from `test`.`gis_polygon`
SELECT fid, ST_IsClosed(g) FROM gis_multi_line;
@@ -1013,7 +1015,7 @@ fid ST_NumGeometries(g)
122 2
explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `ST_NumGeometries(g)` from `test`.`gis_multi_point`
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
@@ -1043,7 +1045,7 @@ fid ST_AsText(ST_GeometryN(g, 1))
122 POINT(44 6)
explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `ST_AsText(ST_GeometryN(g, 2))` from `test`.`gis_multi_point`
SELECT g1.fid as first, g2.fid as second,
@@ -1067,8 +1069,8 @@ MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g)
MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 3 # Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 3 # Using join buffer (flat, BNL join)
+1 SIMPLE g1 ALL NULL NULL NULL NULL # 100.00 Using temporary; Using filesort
+1 SIMPLE g2 ALL NULL NULL NULL NULL # 100.00 Using join buffer (flat, BNL join)
Warnings:
Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,mbrequals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
# check support of Foreign Key constraint
@@ -1113,3 +1115,4 @@ DROP TABLE tab,tab2,tab3,parent;
DROP PROCEDURE geominout;
DROP PROCEDURE geom_insert;
DROP PROCEDURE geom_cursor;
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb_gis/r/gis.result b/mysql-test/suite/innodb_gis/r/gis.result
index 97a2a740bb9..f41fcab5bbb 100644
--- a/mysql-test/suite/innodb_gis/r/gis.result
+++ b/mysql-test/suite/innodb_gis/r/gis.result
@@ -1,5 +1,6 @@
SET default_storage_engine=InnoDB;
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT);
CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING);
CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON);
@@ -227,7 +228,7 @@ fid ST_AsText(ST_Envelope(g))
121 POLYGON((3 6,44 6,44 9,3 9,3 6))
explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 #
+1 SIMPLE gis_geometry ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `ST_Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `ST_GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `ST_IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `ST_AsText(ST_Envelope(g))` from `test`.`gis_geometry`
SELECT fid, ST_X(g) FROM gis_point;
@@ -244,7 +245,7 @@ fid ST_Y(g)
104 20
explain extended select ST_X(g),ST_Y(g) FROM gis_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_x(`test`.`gis_point`.`g`) AS `ST_X(g)`,st_y(`test`.`gis_point`.`g`) AS `ST_Y(g)` from `test`.`gis_point`
SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line;
@@ -279,7 +280,7 @@ fid ST_IsClosed(g)
107 0
explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_line ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `ST_Length(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `ST_NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `ST_AsText(ST_PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `ST_IsClosed(g)` from `test`.`gis_line`
SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon;
@@ -309,7 +310,7 @@ fid ST_AsText(ST_InteriorRingN(g, 1))
110 NULL
explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_polygon ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `ST_Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `ST_NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `ST_AsText(ST_InteriorRingN(g, 1))` from `test`.`gis_polygon`
SELECT fid, ST_IsClosed(g) FROM gis_multi_line;
@@ -348,7 +349,7 @@ fid ST_NumGeometries(g)
121 2
explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `ST_NumGeometries(g)` from `test`.`gis_multi_point`
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
@@ -376,7 +377,7 @@ fid ST_AsText(ST_GeometryN(g, 1))
121 POINT(44 6)
explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 #
+1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00
Warnings:
Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `ST_AsText(ST_GeometryN(g, 2))` from `test`.`gis_multi_point`
SELECT g1.fid as first, g2.fid as second,
@@ -395,8 +396,8 @@ MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g)
MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 # Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2 # Using join buffer (flat, BNL join)
+1 SIMPLE g1 ALL NULL NULL NULL NULL # 100.00 Using temporary; Using filesort
+1 SIMPLE g2 ALL NULL NULL NULL NULL # 100.00 Using join buffer (flat, BNL join)
Warnings:
Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,mbrequals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
@@ -1489,11 +1490,12 @@ ERROR HY000: Illegal parameter data type varchar for operation 'st_union'
# MDEV-25758 InnoDB spatial indexes miss large geometry
# fields after MDEV-25459
#
-CREATE TABLE t1(l LINESTRING NOT NULL, SPATIAL INDEX(l))ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
-SELECT GROUP_CONCAT(CONCAT(seq, ' ', seq) SEPARATOR ',') INTO @g FROM seq_0_to_190;
+CREATE TABLE t1(l LINESTRING NOT NULL, SPATIAL INDEX(l))ENGINE=InnoDB;
+SELECT GROUP_CONCAT(CONCAT(seq, ' ', seq) SEPARATOR ',') INTO @g FROM seq_0_to_504;
INSERT INTO t1 SET l=ST_GeomFromText(CONCAT('LINESTRING(',@g,',0 0)'));
SELECT COUNT(*) FROM t1 WHERE MBRIntersects(GeomFromText('Polygon((0 0,0 10,10 10,10 0,0 0))'), l);
COUNT(*)
1
DROP TABLE t1;
DROP DATABASE gis_ogs;
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb_gis/r/point_basic.result b/mysql-test/suite/innodb_gis/r/point_basic.result
index 4842c72d99c..14f07d4facf 100644
--- a/mysql-test/suite/innodb_gis/r/point_basic.result
+++ b/mysql-test/suite/innodb_gis/r/point_basic.result
@@ -25,7 +25,7 @@ INSERT INTO gis_point VALUES
(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.98527111)'));
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using temporary; Using filesort
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2;
ST_AsText(p1) ST_AsText(p2)
POINT(100.32374832 101.23741821) POINT(100.32374832 101.98527111)
@@ -277,7 +277,7 @@ DROP TABLE t1;
#
# Test when the POINT is on B-TREE
#
-CREATE TABLE gis_point(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB;
+CREATE TABLE gis_point(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO gis_point VALUES
(101, ST_PointFromText('POINT(10 10)')),
(102, ST_PointFromText('POINT(20 10)')),
@@ -302,7 +302,7 @@ INSERT INTO gis_point VALUES
'The ORDER BY will use filesort'
EXPLAIN SELECT ST_AsText(p) FROM gis_point ORDER BY p;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 10 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using filesort
SELECT ST_AsText(p) FROM gis_point ORDER BY p;
ST_AsText(p)
POINT(10 10)
@@ -1326,7 +1326,7 @@ test.gis_point check status OK
The ORDER BY for spatial index will use filesort
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 13 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using filesort
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
ST_AsText(p1) ST_AsText(p2)
POINT(2 4) POINT(-2 -6)
@@ -1488,7 +1488,7 @@ a ST_AsText(p) ST_AsText(l) ST_AsText(g)
2 POINT(20 20) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30))
EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range PRIMARY PRIMARY 27 NULL 1 #
+1 SIMPLE t1 range PRIMARY PRIMARY 27 NULL # Using where
UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1;
a ST_AsText(p) ST_AsText(l) ST_AsText(g)
@@ -1526,7 +1526,7 @@ ALTER TABLE t1 DROP PRIMARY KEY;
ALTER TABLE t1 ADD PRIMARY KEY(p);
EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY,idx2 PRIMARY 27 const 1 #
+1 SIMPLE t1 const PRIMARY,idx2 PRIMARY 27 const #
SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
a ST_AsText(p)
2 POINT(30 30)
diff --git a/mysql-test/suite/innodb_gis/r/point_big.result b/mysql-test/suite/innodb_gis/r/point_big.result
index c471ab6adb2..7248c55bafe 100644
--- a/mysql-test/suite/innodb_gis/r/point_big.result
+++ b/mysql-test/suite/innodb_gis/r/point_big.result
@@ -260,7 +260,7 @@ INSERT INTO gis_point VALUES
'The ORDER BY for spatial index will use filesort'
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 13 #
+1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using filesort
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
ST_AsText(p1) ST_AsText(p2)
POINT(2 4) POINT(-2 -6)
diff --git a/mysql-test/suite/innodb_gis/r/rollback.result b/mysql-test/suite/innodb_gis/r/rollback.result
index 8688690b66a..0d2b9c7cf2c 100644
--- a/mysql-test/suite/innodb_gis/r/rollback.result
+++ b/mysql-test/suite/innodb_gis/r/rollback.result
@@ -411,6 +411,6 @@ set session debug="+d,row_mysql_crash_if_error";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
insert into t1 values(5, point(5,5), point(5,5), 5);
drop table t1;
diff --git a/mysql-test/suite/innodb_gis/r/rt_precise.result b/mysql-test/suite/innodb_gis/r/rt_precise.result
index c83b88b568c..4929dfc99a8 100644
--- a/mysql-test/suite/innodb_gis/r/rt_precise.result
+++ b/mysql-test/suite/innodb_gis/r/rt_precise.result
@@ -22,7 +22,7 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
EXPLAIN SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 140))'));
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL gis_key NULL NULL NULL 150 #
+1 SIMPLE t1 ALL gis_key NULL NULL NULL # Using where
SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')) ORDER BY fid;
fid ST_AsText(g)
1 LINESTRING(150 150,150 150)
diff --git a/mysql-test/suite/innodb_gis/r/rtree.result b/mysql-test/suite/innodb_gis/r/rtree.result
index b7cdc8ec7c9..9b91b9b9c16 100644
--- a/mysql-test/suite/innodb_gis/r/rtree.result
+++ b/mysql-test/suite/innodb_gis/r/rtree.result
@@ -37,8 +37,8 @@ POINT(3 3)
POINT(3.1 3.1)
POINT(2 2)
show indexes 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 g 1 g A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 g 1 g A # 32 NULL SPATIAL NO
drop table t1;
create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb;
INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
@@ -183,10 +183,10 @@ POINT(3 3)
POINT(3.1 3.1)
POINT(2 2)
show indexes 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 i A # NULL NULL BTREE
-t1 0 PRIMARY 2 i2 A # NULL NULL BTREE
-t1 1 g 1 g A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 i A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO
+t1 1 g 1 g A # 32 NULL SPATIAL NO
drop table t1;
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
diff --git a/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result b/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result
index f5a337ecd03..81b82691876 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result
@@ -328,6 +328,7 @@ connection default;
DROP TABLE t1;
SET DEBUG_SYNC = 'RESET';
create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb;
+insert into t1 values(100, point(100, 100));
create procedure insert_t1(IN total int)
begin
declare i int default 1;
@@ -348,7 +349,7 @@ rollback;
SET DEBUG_SYNC= 'now SIGNAL sigb';
connection a;
count(*)
-0
+1
connection default;
drop procedure insert_t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
index 0165887a9f1..948b700aa6c 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
@@ -37,10 +37,10 @@ POINT(3 3)
POINT(3.1 3.1)
POINT(2 2)
show indexes 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 i A # NULL NULL BTREE
-t1 0 PRIMARY 2 i2 A # NULL NULL BTREE
-t1 1 g 1 g A # 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 i A # NULL NULL BTREE NO
+t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO
+t1 1 g 1 g A # 32 NULL SPATIAL NO
drop table t1;
create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb;
INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
diff --git a/mysql-test/suite/innodb_gis/r/types.result b/mysql-test/suite/innodb_gis/r/types.result
index 9eb40dc4231..a337ee10e3d 100644
--- a/mysql-test/suite/innodb_gis/r/types.result
+++ b/mysql-test/suite/innodb_gis/r/types.result
@@ -33,7 +33,7 @@ GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3))
CREATE INDEX i_p ON t_wl6455 (g(10));
EXPLAIN SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2);
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t_wl6455 ref i_p i_p 12 const 2 #
+1 SIMPLE t_wl6455 ref i_p i_p 12 const # Using where
SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2);
ST_AsText(g)
POINT(2 2)
diff --git a/mysql-test/suite/innodb_gis/r/update_root.result b/mysql-test/suite/innodb_gis/r/update_root.result
index a39910818da..fe43fe79f2f 100644
--- a/mysql-test/suite/innodb_gis/r/update_root.result
+++ b/mysql-test/suite/innodb_gis/r/update_root.result
@@ -7,10 +7,14 @@ insert into t1 values (i, Point(i, i));
set i = i + 1;
end while;
end|
+BEGIN;
CALL insert_t1(70000);
+COMMIT;
+BEGIN;
CALL insert_t1(90);
CALL insert_t1(90);
CALL insert_t1(83);
+COMMIT;
insert into t1 values (0, Point(0.9, 0.9));
check table t1;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/innodb_gis/t/1.test b/mysql-test/suite/innodb_gis/t/1.test
index f08fdaddbda..950db360794 100644
--- a/mysql-test/suite/innodb_gis/t/1.test
+++ b/mysql-test/suite/innodb_gis/t/1.test
@@ -91,12 +91,12 @@ SELECT fid, ST_Dimension(g) FROM gis_geometry;
SELECT fid, ST_GeometryType(g) FROM gis_geometry;
SELECT fid, ST_IsEmpty(g) FROM gis_geometry;
SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry;
SELECT fid, ST_X(g) FROM gis_point;
SELECT fid, ST_Y(g) FROM gis_point;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended select ST_X(g),ST_Y(g) FROM gis_point;
SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line;
@@ -105,7 +105,7 @@ SELECT fid, ST_Length(g) FROM gis_line;
SELECT fid, ST_NumPoints(g) FROM gis_line;
SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line;
SELECT fid, ST_IsClosed(g) FROM gis_line;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line;
SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon;
@@ -113,7 +113,7 @@ SELECT fid, ST_Area(g) FROM gis_polygon;
SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon;
SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon;
SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
SELECT fid, ST_IsClosed(g) FROM gis_multi_line;
@@ -125,7 +125,7 @@ SELECT fid, ST_NumGeometries(g) from gis_multi_point;
SELECT fid, ST_NumGeometries(g) from gis_multi_line;
SELECT fid, ST_NumGeometries(g) from gis_multi_polygon;
SELECT fid, ST_NumGeometries(g) from gis_geometrycollection;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
@@ -133,7 +133,7 @@ SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection;
SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
SELECT g1.fid as first, g2.fid as second,
@@ -141,7 +141,7 @@ MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g
MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t,
MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
---replace_column 10 #
+--replace_column 9 # 10 #
explain extended SELECT g1.fid as first, g2.fid as second,
MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t,
diff --git a/mysql-test/suite/innodb_gis/t/alter_spatial_index.test b/mysql-test/suite/innodb_gis/t/alter_spatial_index.test
index de1d301245f..6d1607656d3 100644
--- a/mysql-test/suite/innodb_gis/t/alter_spatial_index.test
+++ b/mysql-test/suite/innodb_gis/t/alter_spatial_index.test
@@ -15,7 +15,7 @@
# Check Foreign Key constraint on Geometry column
# ******************************************************************
-CALL mtr.add_suppression("but MySQL is asking statistics for 2 columns. Have you mixed");
+CALL mtr.add_suppression("but MariaDB is asking statistics for 2 columns. Have you mixed");
--source include/have_innodb.inc
--source include/have_geometry.inc
diff --git a/mysql-test/suite/innodb_gis/t/create_spatial_index.test b/mysql-test/suite/innodb_gis/t/create_spatial_index.test
index ef87a51d372..5278292b56c 100644
--- a/mysql-test/suite/innodb_gis/t/create_spatial_index.test
+++ b/mysql-test/suite/innodb_gis/t/create_spatial_index.test
@@ -15,6 +15,10 @@
--source include/have_innodb_16k.inc
--source include/have_geometry.inc
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
# Check spatial index functionality on compress table with Primary key
CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL,
@@ -1107,6 +1111,9 @@ SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))');
SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
DELETE FROM tab WHERE MBRIntersects(tab.c4, @g1);
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
diff --git a/mysql-test/suite/innodb_gis/t/geometry.test b/mysql-test/suite/innodb_gis/t/geometry.test
index 3efc664fbd2..4e8f0f729b5 100644
--- a/mysql-test/suite/innodb_gis/t/geometry.test
+++ b/mysql-test/suite/innodb_gis/t/geometry.test
@@ -14,6 +14,8 @@
SET default_storage_engine=InnoDB;
SET innodb_strict_mode=OFF;
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
#
# Spatial objects
@@ -132,55 +134,55 @@ CREATE INDEX idx3 on tab(c3(5) ASC) USING BTREE;
CREATE UNIQUE INDEX idx2 on tab(c8(5) ASC) ;
--echo #check equality predicate on the index columns
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)');
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
--echo #check index with WKT function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab
WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))')));
--echo #check index with WKT function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))');
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
#--echo #check range predicate on the index columns
-#--replace_column 10 #
+#--replace_column 9 #
#--error ER_WRONG_ARGUMENTS
#EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
#WHERE c2>=ST_LineFromText('LINESTRING(10 10,20 20,30 30)');
#
-#--replace_column 10 #
+#--replace_column 9 #
#--error ER_WRONG_ARGUMENTS
#EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
#WHERE c3>=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
#
-#--replace_column 10 #
+#--replace_column 9 #
#--error ER_WRONG_ARGUMENTS
#EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab
#WHERE c8>=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))');
--echo #check index with DELETE operation
---replace_column 10 #
+--replace_column 9 #
EXPLAIN DELETE FROM tab
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
@@ -487,55 +489,55 @@ CREATE UNIQUE INDEX idx2 on tab3(c8(5) ASC) ;
--enable_warnings
--echo #check equality predicate on the index columns
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)');
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
--echo #check index with WKT function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3
WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))')));
--echo #check index with WKT function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))');
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
# --echo #check range predicate on the index columns
-# --replace_column 10 #
+# --replace_column 9 #
# --error ER_WRONG_ARGUMENTS
# EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
# WHERE c2>=ST_LineFromText('LINESTRING(10 10,20 20,30 30)');
#
-# --replace_column 10 #
+# --replace_column 9 #
# --error ER_WRONG_ARGUMENTS
# EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
# WHERE c3>=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
-# --replace_column 10 #
+# --replace_column 9 #
# --error ER_WRONG_ARGUMENTS
# EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
# WHERE c8>=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))');
--echo #check index with DELETE operation
---replace_column 10 #
+--replace_column 9 #
EXPLAIN DELETE FROM tab3
WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))')));
@@ -559,12 +561,12 @@ ALTER TABLE tab3 ROW_FORMAT=Dynamic;
SHOW CREATE TABLE tab3;
--echo #check index with WKB function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8)
FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)')));
--echo #check index with WKT function
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3
WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))');
@@ -575,13 +577,13 @@ SELECT fid, ST_Dimension(g) FROM gis_geometry;
SELECT fid, ST_GeometryType(g) FROM gis_geometry;
SELECT fid, ST_IsEmpty(g) FROM gis_geometry;
SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry;
--echo #check Geometry point functions
SELECT fid, ST_X(g) FROM gis_point;
SELECT fid, ST_Y(g) FROM gis_point;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_X(g),ST_Y(g) FROM gis_point;
SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line;
@@ -590,7 +592,7 @@ SELECT fid, ST_Length(g) FROM gis_line;
SELECT fid, ST_NumPoints(g) FROM gis_line;
SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line;
SELECT fid, ST_IsClosed(g) FROM gis_line;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),
ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line;
@@ -599,7 +601,7 @@ SELECT fid, ST_Area(g) FROM gis_polygon;
SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon;
SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon;
SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),
ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
@@ -612,7 +614,7 @@ SELECT fid, ST_NumGeometries(g) from gis_multi_point;
SELECT fid, ST_NumGeometries(g) from gis_multi_line;
SELECT fid, ST_NumGeometries(g) from gis_multi_polygon;
SELECT fid, ST_NumGeometries(g) from gis_geometrycollection;
---replace_column 10 #
+--replace_column 9 #
explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
@@ -620,7 +622,7 @@ SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection;
SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection;
---replace_column 10 #
+--replace_column 9 #
explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
SELECT g1.fid as first, g2.fid as second,
@@ -628,7 +630,7 @@ MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g
MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t,
MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
---replace_column 10 #
+--replace_column 9 #
explain extended SELECT g1.fid as first, g2.fid as second,
MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t,
@@ -680,3 +682,5 @@ DROP TABLE tab,tab2,tab3,parent;
DROP PROCEDURE geominout;
DROP PROCEDURE geom_insert;
DROP PROCEDURE geom_cursor;
+
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb_gis/t/gis.test b/mysql-test/suite/innodb_gis/t/gis.test
index 851e82308c6..966aea7bc77 100644
--- a/mysql-test/suite/innodb_gis/t/gis.test
+++ b/mysql-test/suite/innodb_gis/t/gis.test
@@ -5,15 +5,13 @@
--source include/have_sequence.inc
SET default_storage_engine=InnoDB;
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
#
# Spatial objects
#
---disable_warnings
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
---enable_warnings
-
CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT);
CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING);
CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON);
@@ -90,12 +88,12 @@ SELECT fid, ST_Dimension(g) FROM gis_geometry;
SELECT fid, ST_GeometryType(g) FROM gis_geometry;
SELECT fid, ST_IsEmpty(g) FROM gis_geometry;
SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry;
SELECT fid, ST_X(g) FROM gis_point;
SELECT fid, ST_Y(g) FROM gis_point;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_X(g),ST_Y(g) FROM gis_point;
SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line;
@@ -104,7 +102,7 @@ SELECT fid, ST_Length(g) FROM gis_line;
SELECT fid, ST_NumPoints(g) FROM gis_line;
SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line;
SELECT fid, ST_IsClosed(g) FROM gis_line;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line;
SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon;
@@ -112,7 +110,7 @@ SELECT fid, ST_Area(g) FROM gis_polygon;
SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon;
SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon;
SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
---replace_column 10 #
+--replace_column 9 #
explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon;
SELECT fid, ST_IsClosed(g) FROM gis_multi_line;
@@ -124,7 +122,7 @@ SELECT fid, ST_NumGeometries(g) from gis_multi_point;
SELECT fid, ST_NumGeometries(g) from gis_multi_line;
SELECT fid, ST_NumGeometries(g) from gis_multi_polygon;
SELECT fid, ST_NumGeometries(g) from gis_geometrycollection;
---replace_column 10 #
+--replace_column 9 #
explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
@@ -132,7 +130,7 @@ SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon;
SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection;
SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection;
---replace_column 10 #
+--replace_column 9 #
explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point;
SELECT g1.fid as first, g2.fid as second,
@@ -140,7 +138,7 @@ MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g
MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t,
MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r
FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
---replace_column 10 #
+--replace_column 9 #
explain extended SELECT g1.fid as first, g2.fid as second,
MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o,
MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t,
@@ -1436,10 +1434,12 @@ SELECT ST_Union('', ''), md5(1);
--echo # MDEV-25758 InnoDB spatial indexes miss large geometry
--echo # fields after MDEV-25459
--echo #
-CREATE TABLE t1(l LINESTRING NOT NULL, SPATIAL INDEX(l))ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
-SELECT GROUP_CONCAT(CONCAT(seq, ' ', seq) SEPARATOR ',') INTO @g FROM seq_0_to_190;
+CREATE TABLE t1(l LINESTRING NOT NULL, SPATIAL INDEX(l))ENGINE=InnoDB;
+SELECT GROUP_CONCAT(CONCAT(seq, ' ', seq) SEPARATOR ',') INTO @g FROM seq_0_to_504;
INSERT INTO t1 SET l=ST_GeomFromText(CONCAT('LINESTRING(',@g,',0 0)'));
SELECT COUNT(*) FROM t1 WHERE MBRIntersects(GeomFromText('Polygon((0 0,0 10,10 10,10 0,0 0))'), l);
DROP TABLE t1;
DROP DATABASE gis_ogs;
+
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb_gis/t/point_basic.test b/mysql-test/suite/innodb_gis/t/point_basic.test
index 3ab1ab5c902..f6bc6d234a7 100644
--- a/mysql-test/suite/innodb_gis/t/point_basic.test
+++ b/mysql-test/suite/innodb_gis/t/point_basic.test
@@ -31,7 +31,7 @@ INSERT INTO gis_point VALUES
(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(200.32247328 101.86728201)')),
(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.98527111)'));
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2;
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2;
@@ -196,7 +196,7 @@ DROP TABLE t1;
--echo #
--echo # Test when the POINT is on B-TREE
--echo #
-CREATE TABLE gis_point(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB;
+CREATE TABLE gis_point(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO gis_point VALUES
(101, ST_PointFromText('POINT(10 10)')),
@@ -216,7 +216,7 @@ INSERT INTO gis_point VALUES
(206, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)'))));
-- echo 'The ORDER BY will use filesort'
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_AsText(p) FROM gis_point ORDER BY p;
SELECT ST_AsText(p) FROM gis_point ORDER BY p;
@@ -640,7 +640,7 @@ ALTER TABLE gis_point ENGINE InnoDB;
CHECK TABLE gis_point;
-- echo The ORDER BY for spatial index will use filesort
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
@@ -766,7 +766,7 @@ ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))'));
SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)');
@@ -807,7 +807,7 @@ SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1;
ALTER TABLE t1 DROP PRIMARY KEY;
ALTER TABLE t1 ADD PRIMARY KEY(p);
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)');
diff --git a/mysql-test/suite/innodb_gis/t/point_big.test b/mysql-test/suite/innodb_gis/t/point_big.test
index d9a00474d89..d46fc5d9139 100644
--- a/mysql-test/suite/innodb_gis/t/point_big.test
+++ b/mysql-test/suite/innodb_gis/t/point_big.test
@@ -145,7 +145,7 @@ INSERT INTO gis_point VALUES
(ST_PointFromText('POINT(32.1234 64.2468)'), ST_PointFromText('POINT(-1 -1)'));
-- echo 'The ORDER BY for spatial index will use filesort'
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2;
diff --git a/mysql-test/suite/innodb_gis/t/rt_precise.test b/mysql-test/suite/innodb_gis/t/rt_precise.test
index 8049ff02ff1..2f155814eb6 100644
--- a/mysql-test/suite/innodb_gis/t/rt_precise.test
+++ b/mysql-test/suite/innodb_gis/t/rt_precise.test
@@ -37,7 +37,7 @@ SELECT count(*) FROM t1;
ANALYZE TABLE t1;
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 140))'));
SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')) ORDER BY fid;
diff --git a/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test b/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test
index 43119415d47..c4a6448f387 100644
--- a/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test
+++ b/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test
@@ -388,6 +388,7 @@ DROP TABLE t1;
SET DEBUG_SYNC = 'RESET';
create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb;
+insert into t1 values(100, point(100, 100));
delimiter |;
create procedure insert_t1(IN total int)
diff --git a/mysql-test/suite/innodb_gis/t/types.test b/mysql-test/suite/innodb_gis/t/types.test
index 0db836b94ba..1303e4c487b 100644
--- a/mysql-test/suite/innodb_gis/t/types.test
+++ b/mysql-test/suite/innodb_gis/t/types.test
@@ -48,7 +48,7 @@ SELECT ST_AsText(g) FROM t_wl6455;
CREATE INDEX i_p ON t_wl6455 (g(10));
# Select on prefix index.
---replace_column 10 #
+--replace_column 9 #
EXPLAIN SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2);
SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2);
diff --git a/mysql-test/suite/innodb_gis/t/update_root.test b/mysql-test/suite/innodb_gis/t/update_root.test
index c6d3ba60650..9fd2b36d311 100644
--- a/mysql-test/suite/innodb_gis/t/update_root.test
+++ b/mysql-test/suite/innodb_gis/t/update_root.test
@@ -26,11 +26,15 @@ end|
delimiter ;|
# Test level 3 rtree.
+BEGIN;
CALL insert_t1(70000);
+COMMIT;
+BEGIN;
CALL insert_t1(90);
CALL insert_t1(90);
CALL insert_t1(83);
+COMMIT;
insert into t1 values (0, Point(0.9, 0.9));
diff --git a/mysql-test/suite/innodb_i_s/innodb_buffer_page.result b/mysql-test/suite/innodb_i_s/innodb_buffer_page.result
index e19d4d696bc..91140c3d9af 100644
--- a/mysql-test/suite/innodb_i_s/innodb_buffer_page.result
+++ b/mysql-test/suite/innodb_i_s/innodb_buffer_page.result
@@ -18,10 +18,10 @@ INNODB_BUFFER_PAGE CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE` (
`DATA_SIZE` bigint(21) unsigned NOT NULL,
`COMPRESSED_SIZE` bigint(21) unsigned NOT NULL,
`PAGE_STATE` enum('NOT_USED','MEMORY','REMOVE_HASH','FILE_PAGE') NOT NULL,
- `IO_FIX` enum('IO_NONE','IO_READ','IO_WRITE','IO_PIN') NOT NULL,
+ `IO_FIX` enum('IO_NONE','IO_READ','IO_WRITE') NOT NULL,
`IS_OLD` int(1) NOT NULL,
`FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
CREATE TEMPORARY TABLE t1 LIKE INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
DROP TEMPORARY TABLE t1;
CREATE TEMPORARY TABLE t1 AS SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE LIMIT 0;
diff --git a/mysql-test/suite/innodb_i_s/innodb_buffer_page_lru.result b/mysql-test/suite/innodb_i_s/innodb_buffer_page_lru.result
index 6bc19319f9d..6ba8503a062 100644
--- a/mysql-test/suite/innodb_i_s/innodb_buffer_page_lru.result
+++ b/mysql-test/suite/innodb_i_s/innodb_buffer_page_lru.result
@@ -18,10 +18,10 @@ INNODB_BUFFER_PAGE_LRU CREATE TEMPORARY TABLE `INNODB_BUFFER_PAGE_LRU` (
`DATA_SIZE` bigint(21) unsigned NOT NULL,
`COMPRESSED_SIZE` bigint(21) unsigned NOT NULL,
`COMPRESSED` int(1) NOT NULL,
- `IO_FIX` enum('IO_NONE','IO_READ','IO_WRITE','IO_PIN') NOT NULL,
+ `IO_FIX` enum('IO_NONE','IO_READ','IO_WRITE') NOT NULL,
`IS_OLD` int(1),
`FREE_PAGE_CLOCK` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
CREATE TEMPORARY TABLE t1 LIKE INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU;
DROP TEMPORARY TABLE t1;
CREATE TEMPORARY TABLE t1 AS SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU LIMIT 0;
diff --git a/mysql-test/suite/innodb_i_s/innodb_buffer_pool_stats.result b/mysql-test/suite/innodb_i_s/innodb_buffer_pool_stats.result
index 55be76a9f07..9313aefd6f9 100644
--- a/mysql-test/suite/innodb_i_s/innodb_buffer_pool_stats.result
+++ b/mysql-test/suite/innodb_i_s/innodb_buffer_pool_stats.result
@@ -33,4 +33,4 @@ INNODB_BUFFER_POOL_STATS CREATE TEMPORARY TABLE `INNODB_BUFFER_POOL_STATS` (
`LRU_IO_CURRENT` bigint(21) unsigned NOT NULL,
`UNCOMPRESS_TOTAL` bigint(21) unsigned NOT NULL,
`UNCOMPRESS_CURRENT` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmp.result b/mysql-test/suite/innodb_i_s/innodb_cmp.result
index a9f03234e5b..6b196a1b993 100644
--- a/mysql-test/suite/innodb_i_s/innodb_cmp.result
+++ b/mysql-test/suite/innodb_i_s/innodb_cmp.result
@@ -7,4 +7,4 @@ INNODB_CMP CREATE TEMPORARY TABLE `INNODB_CMP` (
`compress_time` int(11) NOT NULL,
`uncompress_ops` int(11) NOT NULL,
`uncompress_time` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmp_per_index.result b/mysql-test/suite/innodb_i_s/innodb_cmp_per_index.result
index a2a444f54ee..b72dc1a1269 100644
--- a/mysql-test/suite/innodb_i_s/innodb_cmp_per_index.result
+++ b/mysql-test/suite/innodb_i_s/innodb_cmp_per_index.result
@@ -9,4 +9,4 @@ INNODB_CMP_PER_INDEX CREATE TEMPORARY TABLE `INNODB_CMP_PER_INDEX` (
`compress_time` int(11) NOT NULL,
`uncompress_ops` int(11) NOT NULL,
`uncompress_time` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmp_per_index_reset.result b/mysql-test/suite/innodb_i_s/innodb_cmp_per_index_reset.result
index d8f9e1a05a7..941c05d53d8 100644
--- a/mysql-test/suite/innodb_i_s/innodb_cmp_per_index_reset.result
+++ b/mysql-test/suite/innodb_i_s/innodb_cmp_per_index_reset.result
@@ -9,4 +9,4 @@ INNODB_CMP_PER_INDEX_RESET CREATE TEMPORARY TABLE `INNODB_CMP_PER_INDEX_RESET` (
`compress_time` int(11) NOT NULL,
`uncompress_ops` int(11) NOT NULL,
`uncompress_time` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmp_reset.result b/mysql-test/suite/innodb_i_s/innodb_cmp_reset.result
index 6557416fba8..02d26a5ccf5 100644
--- a/mysql-test/suite/innodb_i_s/innodb_cmp_reset.result
+++ b/mysql-test/suite/innodb_i_s/innodb_cmp_reset.result
@@ -7,4 +7,4 @@ INNODB_CMP_RESET CREATE TEMPORARY TABLE `INNODB_CMP_RESET` (
`compress_time` int(11) NOT NULL,
`uncompress_ops` int(11) NOT NULL,
`uncompress_time` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmpmem.result b/mysql-test/suite/innodb_i_s/innodb_cmpmem.result
index deceecda12f..3be5e64421a 100644
--- a/mysql-test/suite/innodb_i_s/innodb_cmpmem.result
+++ b/mysql-test/suite/innodb_i_s/innodb_cmpmem.result
@@ -7,4 +7,4 @@ INNODB_CMPMEM CREATE TEMPORARY TABLE `INNODB_CMPMEM` (
`pages_free` int(11) NOT NULL,
`relocation_ops` bigint(21) NOT NULL,
`relocation_time` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_cmpmem_reset.result b/mysql-test/suite/innodb_i_s/innodb_cmpmem_reset.result
index cf8b137f984..9d11c8221f2 100644
--- a/mysql-test/suite/innodb_i_s/innodb_cmpmem_reset.result
+++ b/mysql-test/suite/innodb_i_s/innodb_cmpmem_reset.result
@@ -7,4 +7,4 @@ INNODB_CMPMEM_RESET CREATE TEMPORARY TABLE `INNODB_CMPMEM_RESET` (
`pages_free` int(11) NOT NULL,
`relocation_ops` bigint(21) NOT NULL,
`relocation_time` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_ft_being_deleted.result b/mysql-test/suite/innodb_i_s/innodb_ft_being_deleted.result
index 540f2426dc2..b458d6b93eb 100644
--- a/mysql-test/suite/innodb_i_s/innodb_ft_being_deleted.result
+++ b/mysql-test/suite/innodb_i_s/innodb_ft_being_deleted.result
@@ -2,4 +2,4 @@ SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED;
Table Create Table
INNODB_FT_BEING_DELETED CREATE TEMPORARY TABLE `INNODB_FT_BEING_DELETED` (
`DOC_ID` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_ft_config.result b/mysql-test/suite/innodb_i_s/innodb_ft_config.result
index 3467791e8eb..e9a31cad3ad 100644
--- a/mysql-test/suite/innodb_i_s/innodb_ft_config.result
+++ b/mysql-test/suite/innodb_i_s/innodb_ft_config.result
@@ -3,4 +3,4 @@ Table Create Table
INNODB_FT_CONFIG CREATE TEMPORARY TABLE `INNODB_FT_CONFIG` (
`KEY` varchar(193) NOT NULL,
`VALUE` varchar(193) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_ft_default_stopword.result b/mysql-test/suite/innodb_i_s/innodb_ft_default_stopword.result
index 5c8b695948c..996594bb23c 100644
--- a/mysql-test/suite/innodb_i_s/innodb_ft_default_stopword.result
+++ b/mysql-test/suite/innodb_i_s/innodb_ft_default_stopword.result
@@ -2,4 +2,4 @@ SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD;
Table Create Table
INNODB_FT_DEFAULT_STOPWORD CREATE TEMPORARY TABLE `INNODB_FT_DEFAULT_STOPWORD` (
`value` varchar(18) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_ft_deleted.result b/mysql-test/suite/innodb_i_s/innodb_ft_deleted.result
index e2dd8242b39..0824efd9301 100644
--- a/mysql-test/suite/innodb_i_s/innodb_ft_deleted.result
+++ b/mysql-test/suite/innodb_i_s/innodb_ft_deleted.result
@@ -2,4 +2,4 @@ SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_FT_DELETED;
Table Create Table
INNODB_FT_DELETED CREATE TEMPORARY TABLE `INNODB_FT_DELETED` (
`DOC_ID` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_ft_index_cache.result b/mysql-test/suite/innodb_i_s/innodb_ft_index_cache.result
index b65f0611459..d4726d2f15a 100644
--- a/mysql-test/suite/innodb_i_s/innodb_ft_index_cache.result
+++ b/mysql-test/suite/innodb_i_s/innodb_ft_index_cache.result
@@ -7,4 +7,4 @@ INNODB_FT_INDEX_CACHE CREATE TEMPORARY TABLE `INNODB_FT_INDEX_CACHE` (
`DOC_COUNT` bigint(21) unsigned NOT NULL,
`DOC_ID` bigint(21) unsigned NOT NULL,
`POSITION` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_ft_index_table.result b/mysql-test/suite/innodb_i_s/innodb_ft_index_table.result
index 805435a21e4..c8f44963fb1 100644
--- a/mysql-test/suite/innodb_i_s/innodb_ft_index_table.result
+++ b/mysql-test/suite/innodb_i_s/innodb_ft_index_table.result
@@ -7,4 +7,4 @@ INNODB_FT_INDEX_TABLE CREATE TEMPORARY TABLE `INNODB_FT_INDEX_TABLE` (
`DOC_COUNT` bigint(21) unsigned NOT NULL,
`DOC_ID` bigint(21) unsigned NOT NULL,
`POSITION` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_lock_waits.result b/mysql-test/suite/innodb_i_s/innodb_lock_waits.result
index 6332d99a5b9..656107349b9 100644
--- a/mysql-test/suite/innodb_i_s/innodb_lock_waits.result
+++ b/mysql-test/suite/innodb_i_s/innodb_lock_waits.result
@@ -5,4 +5,4 @@ INNODB_LOCK_WAITS CREATE TEMPORARY TABLE `INNODB_LOCK_WAITS` (
`requested_lock_id` varchar(81) NOT NULL,
`blocking_trx_id` bigint(21) unsigned NOT NULL,
`blocking_lock_id` varchar(81) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_locks.result b/mysql-test/suite/innodb_i_s/innodb_locks.result
index 83edf9e4f4d..389486411bb 100644
--- a/mysql-test/suite/innodb_i_s/innodb_locks.result
+++ b/mysql-test/suite/innodb_i_s/innodb_locks.result
@@ -11,7 +11,7 @@ INNODB_LOCKS CREATE TEMPORARY TABLE `INNODB_LOCKS` (
`lock_page` int(11) unsigned,
`lock_rec` int(11) unsigned,
`lock_data` varchar(8192)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
CREATE TEMPORARY TABLE t1 LIKE INFORMATION_SCHEMA.INNODB_LOCKS;
DROP TEMPORARY TABLE t1;
CREATE TEMPORARY TABLE t1 AS SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS LIMIT 0;
diff --git a/mysql-test/suite/innodb_i_s/innodb_metrics.result b/mysql-test/suite/innodb_i_s/innodb_metrics.result
index 9df9cc73336..313c9cf80be 100644
--- a/mysql-test/suite/innodb_i_s/innodb_metrics.result
+++ b/mysql-test/suite/innodb_i_s/innodb_metrics.result
@@ -18,7 +18,7 @@ INNODB_METRICS CREATE TEMPORARY TABLE `INNODB_METRICS` (
`ENABLED` int(1) NOT NULL,
`TYPE` enum('value','status_counter','set_owner','set_member','counter') NOT NULL,
`COMMENT` varchar(193) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
CREATE TEMPORARY TABLE t1 LIKE INFORMATION_SCHEMA.INNODB_METRICS;
DROP TEMPORARY TABLE t1;
CREATE TEMPORARY TABLE t1 AS SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS LIMIT 0;
diff --git a/mysql-test/suite/innodb_i_s/innodb_mutexes.opt b/mysql-test/suite/innodb_i_s/innodb_mutexes.opt
deleted file mode 100644
index d658e54eff5..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_mutexes.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb_mutexes
diff --git a/mysql-test/suite/innodb_i_s/innodb_mutexes.result b/mysql-test/suite/innodb_i_s/innodb_mutexes.result
deleted file mode 100644
index d40b677cafa..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_mutexes.result
+++ /dev/null
@@ -1,8 +0,0 @@
-SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_MUTEXES;
-Table Create Table
-INNODB_MUTEXES CREATE TEMPORARY TABLE `INNODB_MUTEXES` (
- `NAME` varchar(4000) NOT NULL,
- `CREATE_FILE` varchar(4000) NOT NULL,
- `CREATE_LINE` int(11) unsigned NOT NULL,
- `OS_WAITS` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/innodb_i_s/innodb_mutexes.test b/mysql-test/suite/innodb_i_s/innodb_mutexes.test
deleted file mode 100644
index d4c8d49bab4..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_mutexes.test
+++ /dev/null
@@ -1,3 +0,0 @@
---source include/have_innodb.inc
-
-SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_MUTEXES;
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_columns.result b/mysql-test/suite/innodb_i_s/innodb_sys_columns.result
index e36d1ac8a50..c51f4bb7e0a 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_columns.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_columns.result
@@ -7,4 +7,4 @@ INNODB_SYS_COLUMNS CREATE TEMPORARY TABLE `INNODB_SYS_COLUMNS` (
`MTYPE` int(11) NOT NULL,
`PRTYPE` int(11) NOT NULL,
`LEN` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.opt b/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.opt
deleted file mode 100644
index d6803d5ecdf..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb_sys_datafiles
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.result b/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.result
deleted file mode 100644
index ead31541098..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.result
+++ /dev/null
@@ -1,6 +0,0 @@
-SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_SYS_DATAFILES;
-Table Create Table
-INNODB_SYS_DATAFILES CREATE TEMPORARY TABLE `INNODB_SYS_DATAFILES` (
- `SPACE` int(11) unsigned NOT NULL,
- `PATH` varchar(4000) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.test b/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.test
deleted file mode 100644
index dd843fec761..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_sys_datafiles.test
+++ /dev/null
@@ -1,3 +0,0 @@
---source include/have_innodb.inc
-
-SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_SYS_DATAFILES;
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_fields.result b/mysql-test/suite/innodb_i_s/innodb_sys_fields.result
index 26a242c8370..decc27c3aca 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_fields.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_fields.result
@@ -4,4 +4,4 @@ INNODB_SYS_FIELDS CREATE TEMPORARY TABLE `INNODB_SYS_FIELDS` (
`INDEX_ID` bigint(21) unsigned NOT NULL,
`NAME` varchar(64) NOT NULL,
`POS` int(11) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_foreign.result b/mysql-test/suite/innodb_i_s/innodb_sys_foreign.result
index d028b7487ef..27629871dd5 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_foreign.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_foreign.result
@@ -6,4 +6,4 @@ INNODB_SYS_FOREIGN CREATE TEMPORARY TABLE `INNODB_SYS_FOREIGN` (
`REF_NAME` varchar(193) NOT NULL,
`N_COLS` int(11) unsigned NOT NULL,
`TYPE` int(11) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_foreign_cols.result b/mysql-test/suite/innodb_i_s/innodb_sys_foreign_cols.result
index a7a0e64a99c..9a17d5f2b3a 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_foreign_cols.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_foreign_cols.result
@@ -5,4 +5,4 @@ INNODB_SYS_FOREIGN_COLS CREATE TEMPORARY TABLE `INNODB_SYS_FOREIGN_COLS` (
`FOR_COL_NAME` varchar(64) NOT NULL,
`REF_COL_NAME` varchar(64) NOT NULL,
`POS` int(11) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_indexes.result b/mysql-test/suite/innodb_i_s/innodb_sys_indexes.result
index 01626717371..d74f557cbf6 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_indexes.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_indexes.result
@@ -9,4 +9,4 @@ INNODB_SYS_INDEXES CREATE TEMPORARY TABLE `INNODB_SYS_INDEXES` (
`PAGE_NO` int(11) NOT NULL,
`SPACE` int(11) NOT NULL,
`MERGE_THRESHOLD` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.opt b/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.opt
deleted file mode 100644
index 2b4bd0c33da..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb_sys_semaphore_waits
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.result b/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.result
deleted file mode 100644
index 05169366566..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.result
+++ /dev/null
@@ -1,24 +0,0 @@
-SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_SYS_SEMAPHORE_WAITS;
-Table Create Table
-INNODB_SYS_SEMAPHORE_WAITS CREATE TEMPORARY TABLE `INNODB_SYS_SEMAPHORE_WAITS` (
- `THREAD_ID` bigint(21) unsigned NOT NULL,
- `OBJECT_NAME` varchar(4000),
- `FILE` varchar(4000),
- `LINE` int(11) unsigned NOT NULL,
- `WAIT_TIME` bigint(21) unsigned NOT NULL,
- `WAIT_OBJECT` bigint(21) unsigned NOT NULL,
- `WAIT_TYPE` varchar(16),
- `HOLDER_THREAD_ID` bigint(21) unsigned NOT NULL,
- `HOLDER_FILE` varchar(4000),
- `HOLDER_LINE` int(11) unsigned NOT NULL,
- `CREATED_FILE` varchar(4000),
- `CREATED_LINE` int(11) unsigned NOT NULL,
- `WRITER_THREAD` bigint(21) unsigned NOT NULL,
- `RESERVATION_MODE` varchar(16),
- `READERS` int(11) unsigned NOT NULL,
- `WAITERS_FLAG` bigint(21) unsigned NOT NULL,
- `LOCK_WORD` bigint(21) unsigned NOT NULL,
- `LAST_WRITER_FILE` varchar(4000),
- `LAST_WRITER_LINE` int(11) unsigned NOT NULL,
- `OS_WAIT_COUNT` int(11) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.test b/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.test
deleted file mode 100644
index a8ea1c59bb8..00000000000
--- a/mysql-test/suite/innodb_i_s/innodb_sys_semaphore_waits.test
+++ /dev/null
@@ -1,3 +0,0 @@
---source include/have_innodb.inc
-
-SHOW CREATE TABLE INFORMATION_SCHEMA.INNODB_SYS_SEMAPHORE_WAITS;
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_tables.result b/mysql-test/suite/innodb_i_s/innodb_sys_tables.result
index 4c476bff510..5ccee563c21 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_tables.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_tables.result
@@ -9,4 +9,4 @@ INNODB_SYS_TABLES CREATE TEMPORARY TABLE `INNODB_SYS_TABLES` (
`ROW_FORMAT` enum('Redundant','Compact','Compressed','Dynamic'),
`ZIP_PAGE_SIZE` int(11) unsigned NOT NULL,
`SPACE_TYPE` enum('Single','System')
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_tablespaces.result b/mysql-test/suite/innodb_i_s/innodb_sys_tablespaces.result
index 1a5cba030d4..b2e4350cdfa 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_tablespaces.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_tablespaces.result
@@ -6,8 +6,8 @@ INNODB_SYS_TABLESPACES CREATE TEMPORARY TABLE `INNODB_SYS_TABLESPACES` (
`FLAG` int(11) unsigned NOT NULL,
`ROW_FORMAT` varchar(22),
`PAGE_SIZE` int(11) unsigned NOT NULL,
- `ZIP_PAGE_SIZE` int(11) unsigned NOT NULL,
+ `FILENAME` varchar(512) NOT NULL,
`FS_BLOCK_SIZE` int(11) unsigned NOT NULL,
`FILE_SIZE` bigint(21) unsigned NOT NULL,
`ALLOCATED_SIZE` bigint(21) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_tablestats.result b/mysql-test/suite/innodb_i_s/innodb_sys_tablestats.result
index dbbce4961fc..19e676d34a1 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_tablestats.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_tablestats.result
@@ -10,4 +10,4 @@ INNODB_SYS_TABLESTATS CREATE TEMPORARY TABLE `INNODB_SYS_TABLESTATS` (
`MODIFIED_COUNTER` bigint(21) unsigned NOT NULL,
`AUTOINC` bigint(21) unsigned NOT NULL,
`REF_COUNT` int(11) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_sys_virtual.result b/mysql-test/suite/innodb_i_s/innodb_sys_virtual.result
index 67a24b95e05..bc622c9ee4b 100644
--- a/mysql-test/suite/innodb_i_s/innodb_sys_virtual.result
+++ b/mysql-test/suite/innodb_i_s/innodb_sys_virtual.result
@@ -4,4 +4,4 @@ INNODB_SYS_VIRTUAL CREATE TEMPORARY TABLE `INNODB_SYS_VIRTUAL` (
`TABLE_ID` bigint(21) unsigned NOT NULL,
`POS` int(11) unsigned NOT NULL,
`BASE_POS` int(11) unsigned NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_tablespaces_encryption.result b/mysql-test/suite/innodb_i_s/innodb_tablespaces_encryption.result
index 35f334362ae..481b5c0e6fa 100644
--- a/mysql-test/suite/innodb_i_s/innodb_tablespaces_encryption.result
+++ b/mysql-test/suite/innodb_i_s/innodb_tablespaces_encryption.result
@@ -11,4 +11,4 @@ INNODB_TABLESPACES_ENCRYPTION CREATE TEMPORARY TABLE `INNODB_TABLESPACES_ENCRYPT
`KEY_ROTATION_MAX_PAGE_NUMBER` bigint(21) unsigned,
`CURRENT_KEY_ID` int(11) unsigned NOT NULL,
`ROTATING_OR_FLUSHING` int(1) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/innodb_i_s/innodb_trx.result b/mysql-test/suite/innodb_i_s/innodb_trx.result
index cdcbe64b141..2c4b9281c92 100644
--- a/mysql-test/suite/innodb_i_s/innodb_trx.result
+++ b/mysql-test/suite/innodb_i_s/innodb_trx.result
@@ -23,7 +23,7 @@ INNODB_TRX CREATE TEMPORARY TABLE `INNODB_TRX` (
`trx_last_foreign_key_error` varchar(256),
`trx_is_read_only` int(1) NOT NULL,
`trx_autocommit_non_locking` int(1) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
CREATE TEMPORARY TABLE t1 LIKE INFORMATION_SCHEMA.INNODB_TRX;
DROP TEMPORARY TABLE t1;
CREATE TEMPORARY TABLE t1 AS SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX LIMIT 0;
diff --git a/mysql-test/suite/innodb_zip/include/innodb-wl6045.inc b/mysql-test/suite/innodb_zip/include/innodb-wl6045.inc
deleted file mode 100644
index 26ce7e72983..00000000000
--- a/mysql-test/suite/innodb_zip/include/innodb-wl6045.inc
+++ /dev/null
@@ -1,20 +0,0 @@
---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
-
---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_zip/r/index_large_prefix_4k.result b/mysql-test/suite/innodb_zip/r/index_large_prefix_4k.result
index f1d72fbe281..d1e7220b0ba 100644
--- a/mysql-test/suite/innodb_zip/r/index_large_prefix_4k.result
+++ b/mysql-test/suite/innodb_zip/r/index_large_prefix_4k.result
@@ -8,11 +8,8 @@ insert into worklog5743 values(repeat("a", 20000));
update worklog5743 set a = (repeat("b", 16000));
SET sql_mode= '';
create index idx on worklog5743(a(900));
-Warnings:
-Note 1071 Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
SET sql_mode= default;
begin;
update worklog5743 set a = (repeat("x", 17000));
@@ -101,7 +98,7 @@ 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 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
show warnings;
Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
+Note 1071 Specified key was too long; max key length is 1173 bytes
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
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 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
@@ -121,68 +118,41 @@ show warnings;
Level Code Message
SET sql_mode= '';
create index idx1 on worklog5743_2(a2(4000));
-Warnings:
-Note 1071 Specified key was too long; max key length is 768 bytes
-show warnings;
-Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
-show create table worklog5743_2;
-Table Create Table
-worklog5743_2 CREATE TABLE `worklog5743_2` (
- `a1` int(11) DEFAULT NULL,
- `a2` text NOT NULL,
- KEY `idx1` (`a2`(768))
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
create index idx3 on worklog5743_2(a2(769));
-Warnings:
-Note 1071 Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
create index idx4 on worklog5743_2(a2(768));
-Warnings:
-Note 1831 Duplicate index `idx4`. This is deprecated and will be disallowed in a future release
show warnings;
Level Code Message
-Note 1831 Duplicate index `idx4`. This is deprecated and will be disallowed in a future release
create index idx5 on worklog5743_2(a1, a2(765));
-ERROR 42000: Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Error 1071 Specified key was too long; max key length is 768 bytes
create index idx6 on worklog5743_2(a1, a2(764));
show warnings;
Level Code Message
create index idx1 on worklog5743_4(a2(4000));
Warnings:
-Note 1071 Specified key was too long; max key length is 768 bytes
+Note 1071 Specified key was too long; max key length is 1173 bytes
show warnings;
Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
+Note 1071 Specified key was too long; max key length is 1173 bytes
show create table worklog5743_4;
Table Create Table
worklog5743_4 CREATE TABLE `worklog5743_4` (
`a1` int(11) DEFAULT NULL,
`a2` text NOT NULL,
- KEY `idx1` (`a2`(768))
+ KEY `idx1` (`a2`(1173))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=4
create index idx3 on worklog5743_4(a2(769));
-Warnings:
-Note 1071 Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
create index idx4 on worklog5743_4(a2(768));
-Warnings:
-Note 1831 Duplicate index `idx4`. This is deprecated and will be disallowed in a future release
show warnings;
Level Code Message
-Note 1831 Duplicate index `idx4`. This is deprecated and will be disallowed in a future release
create index idx5 on worklog5743_4(a1, a2(765));
-ERROR 42000: Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Error 1071 Specified key was too long; max key length is 768 bytes
create index idx6 on worklog5743_4(a1, a2(764));
show warnings;
Level Code Message
@@ -221,10 +191,10 @@ id select_type table type possible_keys key key_len ref rows Extra
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
+1 SIMPLE worklog5743_2 ref idx5,idx6 idx5 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
+1 SIMPLE worklog5743_4 ref idx5,idx6 idx5 5 const 1
select a1, left(a2, 20) from worklog5743_1 where a1 = 9;
a1 left(a2, 20)
9 aaaaaaaaaaaaaaaaaaaa
@@ -253,25 +223,23 @@ drop table worklog5743_4;
### Test 5 ###
create table worklog5743(a1 int, a2 varchar(20000)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a2);
-ERROR 42000: Specified key was too long; max key length is 3072 bytes
+ERROR 42000: Specified key was too long; max key length is 1173 bytes
show warnings;
Level Code Message
-Error 1071 Specified key was too long; max key length is 3072 bytes
-Error 1071 Specified key was too long; max key length is 768 bytes
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Error 1071 Specified key was too long; max key length is 1173 bytes
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(3072)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a2);
-ERROR 42000: Specified key was too long; max key length is 768 bytes
+ERROR 42000: Specified key was too long; max key length is 1173 bytes
show warnings;
Level Code Message
-Error 1071 Specified key was too long; max key length is 768 bytes
+Error 1071 Specified key was too long; max key length is 1173 bytes
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(769)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a2);
-ERROR 42000: Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Error 1071 Specified key was too long; max key length is 768 bytes
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(768)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a2);
@@ -282,10 +250,8 @@ update worklog5743 set a1 = 3333;
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(765)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a1, a2);
-ERROR 42000: Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Error 1071 Specified key was too long; max key length is 768 bytes
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(764)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a1, a2);
@@ -315,8 +281,6 @@ connection default;
rollback;
drop table worklog5743;
### Test 6 ###
-create table worklog5743(a TEXT not null, primary key (a(1000)));
-ERROR 42000: Specified key was too long; max key length is 768 bytes
create table worklog5743(a TEXT) ROW_FORMAT=COMPACT;
create index idx on worklog5743(a(768));
ERROR HY000: Index column size too large. The maximum column size is 767 bytes
@@ -350,23 +314,17 @@ drop table worklog5743;
create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC;
SET sql_mode= '';
create index idx1 on worklog5743(a(769));
-Warnings:
-Note 1071 Specified key was too long; max key length is 768 bytes
show warnings;
Level Code Message
-Note 1071 Specified key was too long; max key length is 768 bytes
SET sql_mode= default;
create index idx2 on worklog5743(a(768));
-Warnings:
-Note 1831 Duplicate index `idx2`. This is deprecated and will be disallowed in a future release
show warnings;
Level Code Message
-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 `idx1` (`a`(768)),
+ KEY `idx1` (`a`(769)),
KEY `idx2` (`a`(768))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
insert into worklog5743 values(repeat("a", 768));
diff --git a/mysql-test/suite/innodb_zip/r/index_large_prefix_8k.result b/mysql-test/suite/innodb_zip/r/index_large_prefix_8k.result
index f064a823b59..ef5b5984f3c 100644
--- a/mysql-test/suite/innodb_zip/r/index_large_prefix_8k.result
+++ b/mysql-test/suite/innodb_zip/r/index_large_prefix_8k.result
@@ -266,7 +266,7 @@ drop table worklog5743_8;
### Test 5 ###
create table worklog5743(a1 int, a2 varchar(20000)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a2);
-ERROR 42000: Specified key was too long; max key length is 3072 bytes
+ERROR 42000: Specified key was too long; max key length is 1536 bytes
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(1537)) ROW_FORMAT=DYNAMIC;
create index idx1 on worklog5743(a2);
diff --git a/mysql-test/suite/innodb_zip/r/innochecksum.result b/mysql-test/suite/innodb_zip/r/innochecksum.result
index e1d3a187186..bb94de7a369 100644
--- a/mysql-test/suite/innodb_zip/r/innochecksum.result
+++ b/mysql-test/suite/innodb_zip/r/innochecksum.result
@@ -1,96 +1,23 @@
-# 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 1 /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 1 /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 1 /Error: --strict-check option cannot be used together with --no-check option./ in my_restart.err
+FOUND 1 /unknown variable 'strict-check=innodb'/ in my_restart.err
[7]: check the innochecksum with short form strict-check & no-check , an error is expected
-FOUND 1 /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 1 /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 1 /Error while setting value \'strict_innodb\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'strict_innodb\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'strict_crc32\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'strict_crc32\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'strict_none\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'strict_none\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'InnoBD\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'InnoBD\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /Error while setting value \'crc\' to \'strict-check\'/ in my_restart.err
-FOUND 1 /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
-# restart: --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
-# restart: --innodb_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
-# restart: --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
-# restart: --innodb_checksum_algorithm=innodb
-DELETE FROM tab1 where c1=2;
+FOUND 1 /unknown option '-C'/ in my_restart.err
+FOUND 1 /ignoring option '--write' due to invalid value 'crc32'/ in my_restart.err
+FOUND 1 /Error: --no-check must be associated with --write option/ in my_restart.err
+# restart
SELECT * FROM tab1;
c1 c2
1 Innochecksum InnoDB1
-# Stop server
-[18]:check Innochecksum with invalid write options
-FOUND 1 /Error while setting value \'strict_crc32\' to \'write\'/ in my_restart.err
-FOUND 1 /Error while setting value \'strict_innodb\' to \'write\'/ in my_restart.err
-FOUND 1 /Error while setting value \'crc23\' to \'write\'/ in my_restart.err
-# restart
DROP TABLE tab1;
diff --git a/mysql-test/suite/innodb_zip/r/innochecksum_2.result b/mysql-test/suite/innodb_zip/r/innochecksum_2.result
index bfd03c72f12..681d8e1f4c7 100644
--- a/mysql-test/suite/innodb_zip/r/innochecksum_2.result
+++ b/mysql-test/suite/innodb_zip/r/innochecksum_2.result
@@ -25,10 +25,9 @@ count FALSE
start-page 0
end-page 0
page 0
-strict-check crc32
no-check FALSE
allow-mismatches 0
-write crc32
+write FALSE
page-type-summary FALSE
page-type-dump MYSQLTEST_VARDIR/tmp/dump.txt
per-page-details FALSE
@@ -42,7 +41,7 @@ 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 [-]>
+Usage: innochecksum [-c] [-s <start page>] [-e <end page>] [-p <page>] [-i] [-v] [-a <allow mismatches>] [-n] [-S] [-D <page type dump>] [-l <log>] [-l] [-m <merge pages>] <filename or [-]>
See https://mariadb.com/kb/en/library/innochecksum/ for usage hints.
-?, --help Displays this help and exits.
-I, --info Synonym for --help.
@@ -53,14 +52,10 @@ See https://mariadb.com/kb/en/library/innochecksum/ for usage hints.
-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
+ -w, --write Rewrite the checksum.
-S, --page-type-summary
Display a count of each page type in a tablespace.
-D, --page-type-dump=name
@@ -80,10 +75,9 @@ count FALSE
start-page 0
end-page 0
page 0
-strict-check crc32
no-check FALSE
allow-mismatches 0
-write crc32
+write FALSE
page-type-summary FALSE
page-type-dump (No default value)
per-page-details FALSE
@@ -96,67 +90,3 @@ 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_zip/r/innochecksum_3.result b/mysql-test/suite/innodb_zip/r/innochecksum_3.result
index 3ec8c93f208..03a31194c63 100644
--- a/mysql-test/suite/innodb_zip/r/innochecksum_3.result
+++ b/mysql-test/suite/innodb_zip/r/innochecksum_3.result
@@ -1,7 +1,6 @@
# 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)
@@ -35,58 +34,6 @@ 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
-# restart: --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
-# restart: --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
-# restart: --innodb_checksum_algorithm=strict_none
-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
@@ -184,10 +131,9 @@ count FALSE
start-page 0
end-page 0
page 0
-strict-check crc32
no-check FALSE
allow-mismatches 0
-write crc32
+write FALSE
page-type-summary FALSE
page-type-dump MYSQLTEST_VARDIR/tmp/dump.txt
per-page-details FALSE
diff --git a/mysql-test/suite/innodb_zip/r/innodb-zip.result b/mysql-test/suite/innodb_zip/r/innodb-zip.result
index e0a454b75a4..0a3119f48a4 100644
--- a/mysql-test/suite/innodb_zip/r/innodb-zip.result
+++ b/mysql-test/suite/innodb_zip/r/innodb-zip.result
@@ -62,7 +62,7 @@ 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' AND table_schema != 'mysql' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
mysqltest_innodb_zip t0 Dynamic {valid} 0
mysqltest_innodb_zip t00 Dynamic {valid} 0
@@ -83,15 +83,15 @@ 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' AND table_schema != 'mysql' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
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' AND table_schema != 'mysql' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
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' AND table_schema != 'mysql' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
mysqltest_innodb_zip t1 Redundant {valid} 0
drop table t1;
@@ -129,7 +129,7 @@ Table Op Msg_type Msg_text
mysqltest_innodb_zip.t2 analyze status Engine-independent statistics collected
mysqltest_innodb_zip.t2 analyze Warning Engine-independent statistics are not collected for column 'b'
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' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
mysqltest_innodb_zip t1 Compressed 2048 1024
mysqltest_innodb_zip t2 Dynamic {valid} 0
@@ -173,7 +173,7 @@ 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' AND table_schema != 'mysql' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
mysqltest_innodb_zip t1 Dynamic {valid} 0
mysqltest_innodb_zip t10 Compact {valid} 0
@@ -212,7 +212,7 @@ Error 1005 Can't create table `mysqltest_innodb_zip`.`t4` (errno: 140 "Wrong cre
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
create table t5 (id int primary key) 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' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
mysqltest_innodb_zip t1 Compressed 4096 0
mysqltest_innodb_zip t5 Compressed 4096 0
@@ -244,7 +244,7 @@ Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 1
Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
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' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
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;
@@ -280,7 +280,7 @@ show warnings;
Level Code Message
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' AND table_schema != 'mysql' order by table_name;
+SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql' and table_schema != 'sys' order by table_name;
table_schema table_name row_format data_length index_length
mysqltest_innodb_zip t7 Dynamic {valid} 0
mysqltest_innodb_zip t8 Compact {valid} 0
diff --git a/mysql-test/suite/innodb_zip/r/page_size,4k.rdiff b/mysql-test/suite/innodb_zip/r/page_size,4k.rdiff
index e84135b3d35..87aea75d29c 100644
--- a/mysql-test/suite/innodb_zip/r/page_size,4k.rdiff
+++ b/mysql-test/suite/innodb_zip/r/page_size,4k.rdiff
@@ -337,7 +337,7 @@
- `d` text NOT NULL,
- PRIMARY KEY (`a`,`b`(255),`c`(255)),
- KEY `b` (`b`(767))
--) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0
+-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
@@ -432,7 +432,7 @@
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
DROP TABLE t1;
# Bug#12547647 UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
-@@ -565,27 +385,25 @@
+@@ -569,27 +389,25 @@
DROP TABLE t1;
CREATE TABLE t1(
c text NOT NULL, d text NOT NULL,
diff --git a/mysql-test/suite/innodb_zip/r/page_size,8k.rdiff b/mysql-test/suite/innodb_zip/r/page_size,8k.rdiff
index 0b96e5dd688..3f125c150c4 100644
--- a/mysql-test/suite/innodb_zip/r/page_size,8k.rdiff
+++ b/mysql-test/suite/innodb_zip/r/page_size,8k.rdiff
@@ -307,7 +307,7 @@
- `d` text NOT NULL,
- PRIMARY KEY (`a`,`b`(255),`c`(255)),
- KEY `b` (`b`(767))
--) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0
+-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
@@ -385,7 +385,7 @@
KEY `t1t` (`t`(767)),
KEY `t1u` (`u`(767)),
KEY `t1ut` (`u`(767),`t`(767)),
-@@ -568,14 +397,14 @@
+@@ -572,14 +401,14 @@
PRIMARY KEY (c(767),d(767)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
Warnings:
@@ -402,7 +402,7 @@
DROP TABLE t1;
CREATE TABLE t1(
c text NOT NULL, d text NOT NULL,
-@@ -585,7 +414,7 @@
+@@ -589,7 +418,7 @@
CREATE TABLE t1(c text, PRIMARY KEY (c(440)))
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
Warnings:
diff --git a/mysql-test/suite/innodb_zip/r/page_size.result b/mysql-test/suite/innodb_zip/r/page_size.result
index 2e43c99d5b4..ff4ec9738d4 100644
--- a/mysql-test/suite/innodb_zip/r/page_size.result
+++ b/mysql-test/suite/innodb_zip/r/page_size.result
@@ -367,7 +367,7 @@ t1 CREATE TABLE `t1` (
`d` text NOT NULL,
PRIMARY KEY (`a`,`b`(255),`c`(255)),
KEY `b` (`b`(767))
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 STATS_PERSISTENT=0
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/innodb_zip/r/prefix_index_liftedlimit.result b/mysql-test/suite/innodb_zip/r/prefix_index_liftedlimit.result
index ddeb490194c..88e8991dba4 100644
--- a/mysql-test/suite/innodb_zip/r/prefix_index_liftedlimit.result
+++ b/mysql-test/suite/innodb_zip/r/prefix_index_liftedlimit.result
@@ -1392,8 +1392,6 @@ VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' for key 'PRIMARY'
DROP TABLE worklog5743;
-set global innodb_large_prefix=0;
-ERROR HY000: Variable 'innodb_large_prefix' is a read only variable
CREATE TABLE worklog5743 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(3072))
diff --git a/mysql-test/suite/innodb_zip/r/restart.result b/mysql-test/suite/innodb_zip/r/restart.result
index 59d739db5b5..b0cc44c73b5 100644
--- a/mysql-test/suite/innodb_zip/r/restart.result
+++ b/mysql-test/suite/innodb_zip/r/restart.result
@@ -216,9 +216,9 @@ test/t2_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t2_restart.ibd
test/t3_restart DEFAULT 2048 MYSQLD_DATADIR/test/t3_restart.ibd
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
test/t5_restart DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
-test/t6_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
-test/t6_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
-test/t6_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
+test/t6_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
+test/t6_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
+test/t6_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd
test/t7_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd
test/t7_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd
@@ -401,9 +401,9 @@ test/t2_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t2_restart.ibd
test/t3_restart DEFAULT 2048 MYSQLD_DATADIR/test/t3_restart.ibd
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
test/t5_restart DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
-test/t6_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
-test/t6_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
-test/t6_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
+test/t6_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
+test/t6_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
+test/t6_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd
test/t7_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd
test/t7_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd
@@ -420,12 +420,12 @@ ALTER TABLE t7_restart TRUNCATE PARTITION p1;
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Page_Size Zip_Size Path
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
-test/t6_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
-test/t6_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
+test/t6_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
+test/t6_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
test/t7_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd
test/t7_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd
test/t5_restart DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
-test/t6_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
+test/t6_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd
test/t7_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd
INSERT INTO t5_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot');
@@ -525,12 +525,12 @@ innodb_file_per_table ON
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Page_Size Zip_Size Path
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
-test/t6_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
-test/t6_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
+test/t6_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
+test/t6_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
test/t7_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd
test/t7_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd
test/t5_restart DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
-test/t6_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
+test/t6_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd
test/t7_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd
SELECT count(*) FROM t5_restart;
@@ -626,12 +626,12 @@ RENAME TABLE t7_restart TO t77_restart;
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Page_Size Zip_Size Path
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
-test/t66_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd
-test/t66_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd
+test/t66_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd
+test/t66_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd
test/t77_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
-test/t66_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
+test/t66_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart);
@@ -724,12 +724,12 @@ innodb_file_per_table ON
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Page_Size Zip_Size Path
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
-test/t66_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd
-test/t66_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd
+test/t66_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd
+test/t66_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd
test/t77_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
-test/t66_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
+test/t66_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart);
@@ -858,12 +858,12 @@ t77_restart#p#p1#sp#s3.ibd
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Page_Size Zip_Size Path
test/t4_restart DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd
-test/t66_restart#p#p0 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p0.ibd
-test/t66_restart#p#p1 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p1.ibd
+test/t66_restart#p#p0 DEFAULT 2048 MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p0.ibd
+test/t66_restart#p#p1 DEFAULT 2048 MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p1.ibd
test/t77_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd
-test/t66_restart#p#p2 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p2.ibd
+test/t66_restart#p#p2 DEFAULT 2048 MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart);
@@ -996,12 +996,12 @@ t77_restart.par
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Page_Size Zip_Size Path
test/t4_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t4_restart.ibd
-test/t66_restart#p#p0 DEFAULT DEFAULT MYSQLD_DATADIR/test/t66_restart#p#p0.ibd
-test/t66_restart#p#p1 DEFAULT DEFAULT MYSQLD_DATADIR/test/t66_restart#p#p1.ibd
+test/t66_restart#p#p0 DEFAULT 2048 MYSQLD_DATADIR/test/t66_restart#p#p0.ibd
+test/t66_restart#p#p1 DEFAULT 2048 MYSQLD_DATADIR/test/t66_restart#p#p1.ibd
test/t77_restart#p#p0#sp#s0 DEFAULT DEFAULT MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 DEFAULT DEFAULT MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart DEFAULT DEFAULT MYSQLD_DATADIR/test/t55_restart.ibd
-test/t66_restart#p#p2 DEFAULT DEFAULT MYSQLD_DATADIR/test/t66_restart#p#p2.ibd
+test/t66_restart#p#p2 DEFAULT 2048 MYSQLD_DATADIR/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 DEFAULT DEFAULT MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 DEFAULT DEFAULT MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart);
diff --git a/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result b/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result
index 3feb51bac98..c69c30c5b25 100644
--- a/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result
+++ b/mysql-test/suite/innodb_zip/r/wl5522_debug_zip.result
@@ -6,9 +6,9 @@ call mtr.add_suppression("InnoDB: Invalid FSP_SPACE_FLAGS=0x");
call mtr.add_suppression("InnoDB: Unknown index id .* on page");
call mtr.add_suppression("InnoDB: Operating system error number");
call mtr.add_suppression("InnoDB: The error means");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB");
call mtr.add_suppression("InnoDB: Cannot open datafile .*t1\\.ibd");
-call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\\.`t1`");
+call mtr.add_suppression("InnoDB: Ignoring tablespace for test/t1 ");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
FLUSH TABLES;
SET SESSION innodb_strict_mode=1;
CREATE TABLE t1 (c1 INT) ENGINE = Innodb
@@ -29,12 +29,12 @@ SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
SELECT * FROM t1;
ERROR HY000: Tablespace has been discarded for table `t1`
ALTER TABLE t1 IMPORT TABLESPACE;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
SELECT COUNT(*) FROM t1;
ERROR HY000: Tablespace has been discarded for table `t1`
ALTER TABLE t1 IMPORT TABLESPACE;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
unlink: t1.ibd
unlink: t1.cfg
# Restart and reconnect to the server
@@ -89,7 +89,7 @@ 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 t1 IMPORT TABLESPACE;
-ERROR HY000: Got error 44 'Tablespace not found' from ./test/t1.ibd
+ERROR HY000: Got error 42 'Tablespace not found' from ./test/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";
@@ -112,6 +112,7 @@ ALTER TABLE t1 IMPORT TABLESPACE;
ERROR HY000: Index for table 't1' is corrupt; try to repair it
SET SESSION debug_dbug=@saved_debug_dbug;
restore: t1 .ibd and .cfg files
+ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;
CREATE TABLE t1 (
c1 BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
@@ -389,7 +390,7 @@ 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 t1 IMPORT TABLESPACE;
-ERROR HY000: Got error 39 'Data structure corruption' from ./test/t1.ibd
+ERROR HY000: Got error 37 'Data structure corruption' from ./test/t1.ibd
SET SESSION debug_dbug=@saved_debug_dbug;
DROP TABLE t1;
unlink: t1.ibd
diff --git a/mysql-test/suite/innodb_zip/r/wl5522_zip.result b/mysql-test/suite/innodb_zip/r/wl5522_zip.result
index 20666e33db1..83e0058a727 100644
--- a/mysql-test/suite/innodb_zip/r/wl5522_zip.result
+++ b/mysql-test/suite/innodb_zip/r/wl5522_zip.result
@@ -1,4 +1,5 @@
call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\.");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
SET SESSION innodb_strict_mode=1;
CREATE TABLE t1
(a INT AUTO_INCREMENT PRIMARY KEY,
diff --git a/mysql-test/suite/innodb_zip/r/wl6344_compress_level.result b/mysql-test/suite/innodb_zip/r/wl6344_compress_level.result
index 50e26342876..6fa87e648d7 100644
--- a/mysql-test/suite/innodb_zip/r/wl6344_compress_level.result
+++ b/mysql-test/suite/innodb_zip/r/wl6344_compress_level.result
@@ -1,4 +1,5 @@
-SET GLOBAL Innodb_file_per_table=on;
+SET @save_innodb_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
SET @save_innodb_compression_level = @@global.innodb_compression_level;
SET global innodb_compression_level=0;
#create table with 1K block size
@@ -107,3 +108,4 @@ SELECT @size >= 0;
1
DROP TABLE tab5, tab6;
SET GLOBAL innodb_compression_level = @save_innodb_compression_level;
+SET GLOBAL innodb_stats_persistent = @save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb_zip/t/cmp_per_index.test b/mysql-test/suite/innodb_zip/t/cmp_per_index.test
index 02c07305b88..d5e682d6e14 100644
--- a/mysql-test/suite/innodb_zip/t/cmp_per_index.test
+++ b/mysql-test/suite/innodb_zip/t/cmp_per_index.test
@@ -24,6 +24,10 @@ SELECT * FROM information_schema.innodb_cmp_per_index_reset;
# see that the table is empty
SELECT * FROM information_schema.innodb_cmp_per_index;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
# create a table that uses compression
CREATE TABLE t (
a INT,
@@ -57,6 +61,9 @@ while ($i)
COMMIT;
ALTER TABLE t DROP INDEX c;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
GRANT USAGE ON *.* TO 'tuser01'@'localhost' IDENTIFIED BY 'cDJvI9s_Uq';
FLUSH PRIVILEGES;
diff --git a/mysql-test/suite/innodb_zip/t/index_large_prefix.test b/mysql-test/suite/innodb_zip/t/index_large_prefix.test
index cab6822b76d..a254c4e61ee 100644
--- a/mysql-test/suite/innodb_zip/t/index_large_prefix.test
+++ b/mysql-test/suite/innodb_zip/t/index_large_prefix.test
@@ -6,6 +6,8 @@ SET default_storage_engine=InnoDB;
--disable_query_log
call mtr.add_suppression("Cannot add field .* in table .* because after adding it, the row size is");
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
--enable_query_log
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
@@ -402,7 +404,9 @@ 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));
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
drop table worklog5743;
-
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
diff --git a/mysql-test/suite/innodb_zip/t/index_large_prefix_4k.test b/mysql-test/suite/innodb_zip/t/index_large_prefix_4k.test
index 1bfff79e94c..04f7ac65edf 100644
--- a/mysql-test/suite/innodb_zip/t/index_large_prefix_4k.test
+++ b/mysql-test/suite/innodb_zip/t/index_large_prefix_4k.test
@@ -6,6 +6,8 @@ SET default_storage_engine=InnoDB;
--disable_query_log
call mtr.add_suppression("Cannot add field .* in table .* because after adding it, the row size is");
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
--enable_query_log
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
@@ -154,14 +156,12 @@ show warnings;
# Test edge cases for indexes using key_block_size=2
SET sql_mode= '';
+--error ER_TOO_BIG_ROWSIZE
create index idx1 on worklog5743_2(a2(4000));
-show warnings;
-show create table worklog5743_2;
create index idx3 on worklog5743_2(a2(769));
show warnings;
create index idx4 on worklog5743_2(a2(768));
show warnings;
--- error ER_TOO_LONG_KEY
create index idx5 on worklog5743_2(a1, a2(765));
show warnings;
create index idx6 on worklog5743_2(a1, a2(764));
@@ -174,7 +174,6 @@ create index idx3 on worklog5743_4(a2(769));
show warnings;
create index idx4 on worklog5743_4(a2(768));
show warnings;
--- error ER_TOO_LONG_KEY
create index idx5 on worklog5743_4(a1, a2(765));
show warnings;
create index idx6 on worklog5743_4(a1, a2(764));
@@ -272,7 +271,6 @@ show warnings;
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(769)) ROW_FORMAT=DYNAMIC;
--- error ER_TOO_LONG_KEY
create index idx1 on worklog5743(a2);
show warnings;
drop table worklog5743;
@@ -285,7 +283,6 @@ update worklog5743 set a1 = 3333;
drop table worklog5743;
create table worklog5743(a1 int, a2 varchar(765)) ROW_FORMAT=DYNAMIC;
--- error ER_TOO_LONG_KEY
create index idx1 on worklog5743(a1, a2);
show warnings;
drop table worklog5743;
@@ -316,10 +313,6 @@ rollback;
drop table worklog5743;
-- echo ### Test 6 ###
-# Create a table with old format, and the limit is 768 bytes.
--- error ER_TOO_LONG_KEY
-create table worklog5743(a TEXT not null, primary key (a(1000)));
-
create table worklog5743(a TEXT) ROW_FORMAT=COMPACT;
# Excercise the column length check in ha_innobase::add_index()
@@ -383,7 +376,9 @@ 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));
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
drop table worklog5743;
-
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
diff --git a/mysql-test/suite/innodb_zip/t/index_large_prefix_8k.test b/mysql-test/suite/innodb_zip/t/index_large_prefix_8k.test
index cb27a9e9776..c9cd9574a95 100644
--- a/mysql-test/suite/innodb_zip/t/index_large_prefix_8k.test
+++ b/mysql-test/suite/innodb_zip/t/index_large_prefix_8k.test
@@ -6,6 +6,8 @@ SET default_storage_engine=InnoDB;
--disable_query_log
call mtr.add_suppression("Cannot add field .* in table .* because after adding it, the row size is");
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
--enable_query_log
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
@@ -396,7 +398,9 @@ 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));
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
drop table worklog5743;
-
eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
diff --git a/mysql-test/suite/innodb_zip/t/innochecksum.combinations b/mysql-test/suite/innodb_zip/t/innochecksum.combinations
deleted file mode 100644
index 79e5f7836ed..00000000000
--- a/mysql-test/suite/innodb_zip/t/innochecksum.combinations
+++ /dev/null
@@ -1,5 +0,0 @@
-[crc32]
---innodb-checksum-algorithm=crc32
-
-[full_crc32]
---innodb-checksum-algorithm=full_crc32
diff --git a/mysql-test/suite/innodb_zip/t/innochecksum.opt b/mysql-test/suite/innodb_zip/t/innochecksum.opt
deleted file mode 100644
index ac26eca328c..00000000000
--- a/mysql-test/suite/innodb_zip/t/innochecksum.opt
+++ /dev/null
@@ -1 +0,0 @@
---skip-innodb-doublewrite
diff --git a/mysql-test/suite/innodb_zip/t/innochecksum.test b/mysql-test/suite/innodb_zip/t/innochecksum.test
index ea5654056d9..b78cd4329de 100644
--- a/mysql-test/suite/innodb_zip/t/innochecksum.test
+++ b/mysql-test/suite/innodb_zip/t/innochecksum.test
@@ -1,19 +1,12 @@
#************************************************************
# WL6045:Improve Innochecksum
#************************************************************
---source include/innodb_page_size_small.inc
+--source include/have_innodb.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 $MYSQLD_DATADIR= `SELECT @@datadir`;
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err;
-let $checksum_algorithm = `SELECT @@innodb_checksum_algorithm`;
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");
@@ -21,10 +14,6 @@ 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
@@ -42,12 +31,6 @@ insert into t1 values(3,"compressed table");
--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
@@ -63,195 +46,27 @@ let SEARCH_PATTERN= Error: --no-check must be associated with --write option.;
--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.;
+let SEARCH_PATTERN= unknown variable 'strict-check=innodb';
--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
-let $error_code = 0;
-
-if ($checksum_algorithm == "crc32")
-{
- let $error_code = 1;
-}
-
-if ($checksum_algorithm == "strict_crc32")
-{
- let $error_code = 1;
-}
-
---error $error_code
---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 $error_code
---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 $error_code
---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 $error_code
---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\';
+let SEARCH_PATTERN= unknown option '-C';
--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\';
+--exec $INNOCHECKSUM --no-check --write=crc32 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE
+--let SEARCH_PATTERN= ignoring option '--write' due to invalid value 'crc32'
--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\';
+--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 [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
+--exec $INNOCHECKSUM --no-check --write $MYSQLD_DATADIR/test/tab1.ibd
--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_zip/t/innochecksum_2.test b/mysql-test/suite/innodb_zip/t/innochecksum_2.test
index 1efe653cd1a..62e792c1ce4 100644
--- a/mysql-test/suite/innodb_zip/t/innochecksum_2.test
+++ b/mysql-test/suite/innodb_zip/t/innochecksum_2.test
@@ -3,7 +3,6 @@
#************************************************************
--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
@@ -93,27 +92,3 @@ EOF
--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_zip/t/innochecksum_3.test b/mysql-test/suite/innodb_zip/t/innochecksum_3.test
index 6d14d4c334e..ef6d82253f4 100644
--- a/mysql-test/suite/innodb_zip/t/innochecksum_3.test
+++ b/mysql-test/suite/innodb_zip/t/innochecksum_3.test
@@ -19,8 +19,6 @@ 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)
@@ -59,137 +57,6 @@ while ($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
diff --git a/mysql-test/suite/innodb_zip/t/innodb-zip.test b/mysql-test/suite/innodb_zip/t/innodb-zip.test
index 9049b231191..507900aa88c 100644
--- a/mysql-test/suite/innodb_zip/t/innodb-zip.test
+++ b/mysql-test/suite/innodb_zip/t/innodb-zip.test
@@ -9,7 +9,7 @@ SELECT table_name, row_format, data_length, index_length
let $per_table=`select @@innodb_file_per_table`;
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' order by table_name
+--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' and table_schema != 'sys' order by table_name
set session innodb_strict_mode=0;
set global innodb_file_per_table=off;
diff --git a/mysql-test/suite/innodb_zip/t/large_blob.test b/mysql-test/suite/innodb_zip/t/large_blob.test
index b9888ccb53c..dd208129d08 100644
--- a/mysql-test/suite/innodb_zip/t/large_blob.test
+++ b/mysql-test/suite/innodb_zip/t/large_blob.test
@@ -81,6 +81,10 @@ INSERT INTO t1 VALUES (1, '');
UPDATE t1 SET c2=@longblob;
DROP TABLE t1;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo #
--echo # Separate tablespace, Row Format = Compressed, Key Block Size = 2k
--echo #
@@ -103,6 +107,9 @@ CREATE TABLE t1 (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=1;
INSERT INTO t1 VALUES (1, '');
UPDATE t1 SET c2=@longblob;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
DROP TABLE t1;
--echo #
diff --git a/mysql-test/suite/innodb_zip/t/page_size.opt b/mysql-test/suite/innodb_zip/t/page_size.opt
index 82f574a8039..9e30213d5ef 100644
--- a/mysql-test/suite/innodb_zip/t/page_size.opt
+++ b/mysql-test/suite/innodb_zip/t/page_size.opt
@@ -1,3 +1,2 @@
--loose-innodb-sys-indexes
--loose-innodb-sys-tablespaces
---loose-innodb-sys-datafiles
diff --git a/mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test b/mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test
index b4304ed47c4..32d7eacd29f 100644
--- a/mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test
+++ b/mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test
@@ -15,6 +15,11 @@
--source include/have_innodb.inc
--source include/have_innodb_16k.inc
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
+
call mtr.add_suppression('InnoDB: Cannot add field.*because after adding it, the row size is');
# Prefix index with VARCHAR data type , primary/secondary index and DML ops
CREATE TABLE worklog5743 (
@@ -1295,8 +1300,6 @@ ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
DROP TABLE worklog5743;
# -----------------------------------------------------------------------------
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-set global innodb_large_prefix=0;
CREATE TABLE worklog5743 (
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
PRIMARY KEY (col_1_varchar(3072))
@@ -1321,4 +1324,7 @@ ALTER TABLE worklog5743 ROW_FORMAT=REDUNDANT, ALGORITHM=INPLACE;
ALTER TABLE worklog5743 ROW_FORMAT=REDUNDANT, ALGORITHM=COPY;
--disable_info
SHOW CREATE TABLE worklog5743;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
DROP TABLE worklog5743;
diff --git a/mysql-test/suite/innodb_zip/t/restart.opt b/mysql-test/suite/innodb_zip/t/restart.opt
index 52314cbf241..d7564300c09 100644
--- a/mysql-test/suite/innodb_zip/t/restart.opt
+++ b/mysql-test/suite/innodb_zip/t/restart.opt
@@ -1,3 +1,2 @@
--loose-innodb-sys-tables
--loose-innodb-sys-tablespaces
---loose-innodb-sys-datafiles
diff --git a/mysql-test/suite/innodb_zip/t/restart.test b/mysql-test/suite/innodb_zip/t/restart.test
index 0c1f11363e6..c442b919d71 100644
--- a/mysql-test/suite/innodb_zip/t/restart.test
+++ b/mysql-test/suite/innodb_zip/t/restart.test
@@ -20,7 +20,6 @@ call mtr.add_suppression("\\[ERROR\\] InnoDB: The link file: .* already exists."
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot open datafile for read-only:");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number 2 in a file operation.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: The error means the system cannot find the path specified.");
-call mtr.add_suppression("\\[ERROR\\] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
--enable_query_log
--echo #
@@ -164,11 +163,8 @@ SELECT count(*) FROM t7_restart;
--echo #
--source include/shutdown_mysqld.inc
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
-
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -176,7 +172,6 @@ SELECT count(*) FROM t7_restart;
--list_files $MYSQL_TMP_DIR/alt_dir
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -265,13 +260,11 @@ SHOW CREATE TABLE t7_restart;
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -322,13 +315,11 @@ RENAME TABLE t5_restart TO t55_restart;
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -360,13 +351,11 @@ SHOW CREATE TABLE t77_restart;
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -406,19 +395,16 @@ SHOW CREATE TABLE t77_restart;
--mkdir $MYSQL_TMP_DIR/new_dir/test
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -468,19 +454,16 @@ SHOW CREATE TABLE t77_restart;
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/alt_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -524,13 +507,11 @@ SHOW CREATE TABLE t77_restart;
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
@@ -572,13 +553,11 @@ SHOW CREATE TABLE t77_restart;
--echo ---- MYSQL_DATA_DIR/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_TMP_DIR/new_dir/test
---replace_regex $regexp
--replace_result #P# #p# #SP# #sp#
--cat_file $MYSQLD_DATADIR.files.txt
--remove_file $MYSQLD_DATADIR.files.txt
diff --git a/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test b/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
index a7916477e0a..8d328dea576 100644
--- a/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
+++ b/mysql-test/suite/innodb_zip/t/wl5522_debug_zip.test
@@ -22,9 +22,9 @@ call mtr.add_suppression("InnoDB: Invalid FSP_SPACE_FLAGS=0x");
call mtr.add_suppression("InnoDB: Unknown index id .* on page");
call mtr.add_suppression("InnoDB: Operating system error number");
call mtr.add_suppression("InnoDB: The error means");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB");
call mtr.add_suppression("InnoDB: Cannot open datafile .*t1\\.ibd");
-call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\\.`t1`");
+call mtr.add_suppression("InnoDB: Ignoring tablespace for test/t1 ");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
FLUSH TABLES;
let MYSQLD_DATADIR =`SELECT @@datadir`;
@@ -281,6 +281,7 @@ do "$ENV{MTR_SUITE_DIR}/../innodb/include/innodb-util.pl";
ib_restore_tablespaces("test", "t1");
EOF
+ALTER TABLE t1 IMPORT TABLESPACE;
DROP TABLE t1;
#
diff --git a/mysql-test/suite/innodb_zip/t/wl5522_zip.test b/mysql-test/suite/innodb_zip/t/wl5522_zip.test
index d5e6bc6e725..dbb698cc545 100644
--- a/mysql-test/suite/innodb_zip/t/wl5522_zip.test
+++ b/mysql-test/suite/innodb_zip/t/wl5522_zip.test
@@ -5,6 +5,7 @@
-- source include/have_sequence.inc
call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\.");
+call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
SET SESSION innodb_strict_mode=1;
diff --git a/mysql-test/suite/innodb_zip/t/wl6344_compress_level.test b/mysql-test/suite/innodb_zip/t/wl6344_compress_level.test
index e0112e5c07b..d44dbfd73b0 100644
--- a/mysql-test/suite/innodb_zip/t/wl6344_compress_level.test
+++ b/mysql-test/suite/innodb_zip/t/wl6344_compress_level.test
@@ -11,9 +11,9 @@
#*******************************************************************
--source include/innodb_page_size_small.inc
-SET GLOBAL Innodb_file_per_table=on;
+SET @save_innodb_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
SET @save_innodb_compression_level = @@global.innodb_compression_level;
-
SET global innodb_compression_level=0;
-- echo #create table with 1K block size
@@ -106,3 +106,4 @@ SELECT @size >= 0;
DROP TABLE tab5, tab6;
SET GLOBAL innodb_compression_level = @save_innodb_compression_level;
+SET GLOBAL innodb_stats_persistent = @save_innodb_stats_persistent;
diff --git a/mysql-test/suite/innodb_zip/t/wl6347_comp_indx_stat.test b/mysql-test/suite/innodb_zip/t/wl6347_comp_indx_stat.test
index 445fd812183..be9a05b36ce 100644
--- a/mysql-test/suite/innodb_zip/t/wl6347_comp_indx_stat.test
+++ b/mysql-test/suite/innodb_zip/t/wl6347_comp_indx_stat.test
@@ -23,6 +23,9 @@ let $innodb_compression_level = `SELECT @@global.innodb_compression_level`;
SET GLOBAL innodb_file_per_table=on;
SET GLOBAL innodb_cmp_per_index_enabled=ON;
SET GLOBAL innodb_compression_level=0;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo #******************************************************************
--echo # Test 1-1K: innodb_cmp_per_index_enabled=ON and innodb_compression_level=0 with page size 1K
@@ -65,6 +68,9 @@ SET @inl_val=2;
--echo # set the flag on (default off)
SET GLOBAL innodb_cmp_per_index_enabled=ON;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo # set the flags
SET GLOBAL innodb_file_per_table=on;
@@ -151,6 +157,9 @@ DROP TABLE tab5;
--echo # reset the stat table before starting next testcase
SET GLOBAL innodb_cmp_per_index_enabled=0;
SET GLOBAL innodb_cmp_per_index_enabled=1;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo # create a table with page size=4K
--echo # create indexes on each column.(total 9 indexes)
@@ -359,6 +368,9 @@ DROP TABLE tab5;
--echo # reset the stat table before starting next testcase
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SET GLOBAL innodb_cmp_per_index_enabled=ON;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo # create a table with page size=2K
--echo # create indexes on each column.(total 9 indexes)
@@ -424,6 +436,9 @@ DROP TABLE tab5;
--echo # reset the stat table before starting next testcase
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SET GLOBAL innodb_cmp_per_index_enabled=ON;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo # create a table with page size=4K
--echo # create indexes on each column.(total 9 indexes)
@@ -855,6 +870,9 @@ DROP TABLE tab5;
--echo # reset the stat table before starting next testcase
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SET GLOBAL innodb_cmp_per_index_enabled=ON;
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo # create a table with page size=2K
--echo # create indexes on each column.(total 9 indexes)
@@ -1115,6 +1133,10 @@ DROP TABLE tab5;
SET GLOBAL innodb_cmp_per_index_enabled=OFF;
SET GLOBAL innodb_cmp_per_index_enabled=ON;
SET GLOBAL innodb_compression_failure_threshold_pct=10;
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--echo # create a table with page size=2K
--echo # create indexes on each column.(total 9 indexes)
@@ -1333,5 +1355,6 @@ eval SET GLOBAL innodb_file_per_table=default;
eval SET GLOBAL innodb_cmp_per_index_enabled=default;
--disable_query_log
eval SET GLOBAL innodb_compression_level=$innodb_compression_level;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
--enable_query_log
eval SET GLOBAL innodb_compression_failure_threshold_pct=default;
diff --git a/mysql-test/suite/jp/r/jp_alter_utf8.result b/mysql-test/suite/jp/r/jp_alter_utf8.result
index 847a5e628f5..b6a6129dc09 100644
--- a/mysql-test/suite/jp/r/jp_alter_utf8.result
+++ b/mysql-test/suite/jp/r/jp_alter_utf8.result
@@ -44,7 +44,7 @@ Table Create Table
PRIMARY KEY (`ï½·ï½·ï½·`),
UNIQUE KEY `ククク` (`ククク`),
KEY `カカカ` (`カカ`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
ALTER TABLE `アアア` DROP INDEX `カカカ`;
ALTER TABLE `アアア` DROP PRIMARY KEY;
ALTER TABLE `アアア` DROP INDEX `ククク`;
@@ -63,7 +63,7 @@ SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`ï½·ï½·ï½·` char(6) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‹ã‹ã‹` char(1) FIRST;
ALTER TABLE `ã‚ã‚ã‚` ADD `ããã` char(1) AFTER `ããã`;
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‘ã‘ã‘` char(1);
@@ -93,7 +93,7 @@ Table Create Table
PRIMARY KEY (`ããã`),
UNIQUE KEY `ããã` (`ããã`),
KEY `ã‹ã‹ã‹` (`ã‹ã‹`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
ALTER TABLE `ã‚ã‚ã‚` DROP INDEX `ã‹ã‹ã‹`;
ALTER TABLE `ã‚ã‚ã‚` DROP PRIMARY KEY;
ALTER TABLE `ã‚ã‚ã‚` DROP INDEX `ããã`;
@@ -112,7 +112,7 @@ SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ããã` char(6) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
ALTER TABLE `龖龖龖` ADD `丄丄丄` char(1) FIRST;
ALTER TABLE `龖龖龖` ADD `丅丅丅` char(1) AFTER `丂丂丂`;
ALTER TABLE `龖龖龖` ADD `乚乚乚` char(1);
@@ -142,7 +142,7 @@ Table Create Table
PRIMARY KEY (`丂丂丂`),
UNIQUE KEY `丅丅丅` (`丅丅丅`),
KEY `丄丄丄` (`丄丄`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
ALTER TABLE `龖龖龖` DROP INDEX `丄丄丄`;
ALTER TABLE `é¾–é¾–é¾–` DROP PRIMARY KEY;
ALTER TABLE `龖龖龖` DROP INDEX `丅丅丅`;
@@ -161,7 +161,7 @@ SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(6) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ã‚ã‚ã‚`;
@@ -206,7 +206,7 @@ Table Create Table
PRIMARY KEY (`ï½·ï½·ï½·`),
UNIQUE KEY `ククク` (`ククク`),
KEY `カカカ` (`カカ`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
ALTER TABLE `アアア` DROP INDEX `カカカ`;
ALTER TABLE `アアア` DROP PRIMARY KEY;
ALTER TABLE `アアア` DROP INDEX `ククク`;
@@ -225,7 +225,7 @@ SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`ï½·ï½·ï½·` char(6) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‹ã‹ã‹` char(1) FIRST;
ALTER TABLE `ã‚ã‚ã‚` ADD `ããã` char(1) AFTER `ããã`;
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‘ã‘ã‘` char(1);
@@ -255,7 +255,7 @@ Table Create Table
PRIMARY KEY (`ããã`),
UNIQUE KEY `ããã` (`ããã`),
KEY `ã‹ã‹ã‹` (`ã‹ã‹`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
ALTER TABLE `ã‚ã‚ã‚` DROP INDEX `ã‹ã‹ã‹`;
ALTER TABLE `ã‚ã‚ã‚` DROP PRIMARY KEY;
ALTER TABLE `ã‚ã‚ã‚` DROP INDEX `ããã`;
@@ -274,7 +274,7 @@ SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ããã` char(6) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
ALTER TABLE `龖龖龖` ADD `丄丄丄` char(1) FIRST;
ALTER TABLE `龖龖龖` ADD `丅丅丅` char(1) AFTER `丂丂丂`;
ALTER TABLE `龖龖龖` ADD `乚乚乚` char(1);
@@ -304,7 +304,7 @@ Table Create Table
PRIMARY KEY (`丂丂丂`),
UNIQUE KEY `丅丅丅` (`丅丅丅`),
KEY `丄丄丄` (`丄丄`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
ALTER TABLE `龖龖龖` DROP INDEX `丄丄丄`;
ALTER TABLE `é¾–é¾–é¾–` DROP PRIMARY KEY;
ALTER TABLE `龖龖龖` DROP INDEX `丅丅丅`;
@@ -323,7 +323,7 @@ SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(6) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ã‚ã‚ã‚`;
@@ -368,7 +368,7 @@ Table Create Table
PRIMARY KEY (`ï½·ï½·ï½·`),
UNIQUE KEY `ククク` (`ククク`),
KEY `カカカ` (`カカ`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
ALTER TABLE `アアア` DROP INDEX `カカカ`;
ALTER TABLE `アアア` DROP PRIMARY KEY;
ALTER TABLE `アアア` DROP INDEX `ククク`;
@@ -387,7 +387,7 @@ SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`ï½·ï½·ï½·` char(6) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‹ã‹ã‹` char(1) FIRST;
ALTER TABLE `ã‚ã‚ã‚` ADD `ããã` char(1) AFTER `ããã`;
ALTER TABLE `ã‚ã‚ã‚` ADD `ã‘ã‘ã‘` char(1);
@@ -417,7 +417,7 @@ Table Create Table
PRIMARY KEY (`ããã`),
UNIQUE KEY `ããã` (`ããã`),
KEY `ã‹ã‹ã‹` (`ã‹ã‹`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
ALTER TABLE `ã‚ã‚ã‚` DROP INDEX `ã‹ã‹ã‹`;
ALTER TABLE `ã‚ã‚ã‚` DROP PRIMARY KEY;
ALTER TABLE `ã‚ã‚ã‚` DROP INDEX `ããã`;
@@ -436,7 +436,7 @@ SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ããã` char(6) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
ALTER TABLE `龖龖龖` ADD `丄丄丄` char(1) FIRST;
ALTER TABLE `龖龖龖` ADD `丅丅丅` char(1) AFTER `丂丂丂`;
ALTER TABLE `龖龖龖` ADD `乚乚乚` char(1);
@@ -466,7 +466,7 @@ Table Create Table
PRIMARY KEY (`丂丂丂`),
UNIQUE KEY `丅丅丅` (`丅丅丅`),
KEY `丄丄丄` (`丄丄`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
ALTER TABLE `龖龖龖` DROP INDEX `丄丄丄`;
ALTER TABLE `é¾–é¾–é¾–` DROP PRIMARY KEY;
ALTER TABLE `龖龖龖` DROP INDEX `丅丅丅`;
@@ -485,7 +485,7 @@ SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(6) NOT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ã‚ã‚ã‚`;
diff --git a/mysql-test/suite/jp/r/jp_charset_sjis.result b/mysql-test/suite/jp/r/jp_charset_sjis.result
index 049f872cfa1..06371a7d6a3 100644
--- a/mysql-test/suite/jp/r/jp_charset_sjis.result
+++ b/mysql-test/suite/jp/r/jp_charset_sjis.result
@@ -38,7 +38,7 @@ CHARSET(`‚b‚P`)
sjis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚P`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚P`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -50,7 +50,7 @@ CHARSET(CONVERT(`‚b‚P` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚Q`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚Q`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -62,7 +62,7 @@ CHARSET(CONVERT(`‚b‚P` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚R`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚R`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -83,7 +83,7 @@ CHARSET(`‚b‚P`)
sjis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚S`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚S`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -95,7 +95,7 @@ CHARSET(CONVERT(`‚b‚P` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚T`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚T`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -107,7 +107,7 @@ CHARSET(CONVERT(`‚b‚P` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚U`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚U`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -128,7 +128,7 @@ CHARSET(`‚b‚P`)
sjis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚V`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚V`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -140,7 +140,7 @@ CHARSET(CONVERT(`‚b‚P` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚W`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚W`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
@@ -152,7 +152,7 @@ CHARSET(CONVERT(`‚b‚P` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING utf8)) FROM `‚s‚X`;
CHARSET(CONVERT(`‚b‚P` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`‚b‚P` USING ucs2)) FROM `‚s‚X`;
CHARSET(CONVERT(`‚b‚P` USING ucs2))
ucs2
diff --git a/mysql-test/suite/jp/r/jp_charset_ucs2.result b/mysql-test/suite/jp/r/jp_charset_ucs2.result
index c5aee82c3c5..71fb61259c8 100644
--- a/mysql-test/suite/jp/r/jp_charset_ucs2.result
+++ b/mysql-test/suite/jp/r/jp_charset_ucs2.result
@@ -95,7 +95,7 @@ CHARSET(`£Ã£±`)
ucs2
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£±`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£±`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -107,7 +107,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£²`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£²`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -119,7 +119,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£³`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£³`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -140,7 +140,7 @@ CHARSET(`£Ã£±`)
ucs2
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£´`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£´`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -152,7 +152,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£µ`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£µ`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -164,7 +164,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£¶`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£¶`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -185,7 +185,7 @@ CHARSET(`£Ã£±`)
ucs2
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£·`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£·`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -197,7 +197,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£¸`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£¸`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -209,7 +209,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£¹`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£¹`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
diff --git a/mysql-test/suite/jp/r/jp_charset_ujis.result b/mysql-test/suite/jp/r/jp_charset_ujis.result
index 746b53ee5e1..327e16e85ff 100644
--- a/mysql-test/suite/jp/r/jp_charset_ujis.result
+++ b/mysql-test/suite/jp/r/jp_charset_ujis.result
@@ -38,7 +38,7 @@ CHARSET(`£Ã£±`)
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£±`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£±`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -50,7 +50,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£²`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£²`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -62,7 +62,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£³`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£³`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -83,7 +83,7 @@ CHARSET(`£Ã£±`)
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£´`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£´`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -95,7 +95,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£µ`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£µ`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -107,7 +107,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£¶`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£¶`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -128,7 +128,7 @@ CHARSET(`£Ã£±`)
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£·`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£·`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -140,7 +140,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£¸`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£¸`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
@@ -152,7 +152,7 @@ CHARSET(CONVERT(`£Ã£±` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING utf8)) FROM `£Ô£¹`;
CHARSET(CONVERT(`£Ã£±` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`£Ã£±` USING ucs2)) FROM `£Ô£¹`;
CHARSET(CONVERT(`£Ã£±` USING ucs2))
ucs2
diff --git a/mysql-test/suite/jp/r/jp_charset_utf8.result b/mysql-test/suite/jp/r/jp_charset_utf8.result
index 9f22bda74f0..46b28596bc6 100644
--- a/mysql-test/suite/jp/r/jp_charset_utf8.result
+++ b/mysql-test/suite/jp/r/jp_charset_utf8.result
@@ -29,16 +29,16 @@ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0208_utf8.dat' INTO TABLE `T8`
LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0212_utf8.dat' INTO TABLE `ï¼´ï¼™`;
SELECT DISTINCT CHARSET(`C1`) FROM `T1`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(`C1`) FROM `T2`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(`C1`) FROM `T3`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T1`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T1`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -50,7 +50,7 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T2`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T2`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -62,7 +62,7 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T3`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T3`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -74,16 +74,16 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(`C1`) FROM `T4`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(`C1`) FROM `T5`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(`C1`) FROM `T6`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T4`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T4`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -95,7 +95,7 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T5`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T5`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -107,7 +107,7 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T6`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T6`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -119,16 +119,16 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(`C1`) FROM `T7`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(`C1`) FROM `T8`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(`C1`) FROM `T9`;
CHARSET(`C1`)
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T7`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T7`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -140,7 +140,7 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T8`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T8`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
@@ -152,7 +152,7 @@ CHARSET(CONVERT(`C1` USING ujis))
ujis
SELECT DISTINCT CHARSET(CONVERT(`C1` USING utf8)) FROM `T9`;
CHARSET(CONVERT(`C1` USING utf8))
-utf8
+utf8mb3
SELECT DISTINCT CHARSET(CONVERT(`C1` USING ucs2)) FROM `T9`;
CHARSET(CONVERT(`C1` USING ucs2))
ucs2
diff --git a/mysql-test/suite/jp/r/jp_convert_utf8.result b/mysql-test/suite/jp/r/jp_convert_utf8.result
index e33edfb1c3f..74776c16ec2 100644
--- a/mysql-test/suite/jp/r/jp_convert_utf8.result
+++ b/mysql-test/suite/jp/r/jp_convert_utf8.result
@@ -132,7 +132,7 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T2`;
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'ujis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBCBC to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T2`;
C1 CONVERT(`C1` using ucs2)
θικλμνξοπÏστυφχψω・・・ θικλμνξοπÏστυφχψω・・・
@@ -270,7 +270,7 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T2`;
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBCBC to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T3`;
C1 CONVERT(`C1` using ujis)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -314,7 +314,7 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T3`;
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ 齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ 龔龖龗龞龡龢龣龥・・・・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBD9E to 'ujis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBD9E to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T3`;
C1 CONVERT(`C1` using ucs2)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -400,37 +400,37 @@ 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'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3AA to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC38A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC4B4 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC4B5 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC59A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC59B to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC795 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC796 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC2A4 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC582 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD088 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC381 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3A1 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC386 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCB9B to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCEAC to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD192 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCE86 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3A6 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD082 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC2BA to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCB98 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4B882 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BBB8 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4B99A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BBA1 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BC99 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BD9F to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BCAB to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BD97 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BE94 to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T4`;
C1 CONVERT(`C1` using ujis)
!"#$%&'()*+,-./ !"#$%&'()*+,-./
@@ -536,7 +536,7 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T5`;
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'ujis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBCBC to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T5`;
C1 CONVERT(`C1` using ucs2)
θικλμνξοπÏστυφχψω・・・ θικλμνξοπÏστυφχψω・・・
@@ -674,7 +674,7 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T5`;
HIJKLMNOPQRSTUVWXYZ・ HIJKLMNOPQRSTUVWXYZ・
ï½ï½‘rstuvwxyz・・・・・・・・・ ï½ï½‘rstuvwxyz・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBCBC to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T6`;
C1 CONVERT(`C1` using ujis)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -718,7 +718,7 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T6`;
齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’ 齗齘齚é½é½žé½¨é½©é½­é½®é½¯é½°é½±é½³é½µé½ºé½½é¾é¾é¾‘é¾’
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ 龔龖龗龞龡龢龣龥・・・・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBD9E to 'ujis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBD9E to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T6`;
C1 CONVERT(`C1` using ucs2)
êěėēęǵÄğ・ġĥíìïîÇ・īįĩ êěėēęǵÄğ・ġĥíìïîÇ・īįĩ
@@ -804,37 +804,37 @@ 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'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3AA to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC38A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC4B4 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC4B5 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC59A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC59B to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC795 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC796 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC2A4 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC582 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD088 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC381 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3A1 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC386 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCB9B to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCEAC to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD192 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCE86 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3A6 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD082 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC2BA to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCB98 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4B882 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BBB8 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4B99A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BBA1 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BC99 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BD9F to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BCAB to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BD97 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BE94 to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T7`;
C1 CONVERT(`C1` using ujis)
!"#$%&'()*+,-./ !"#$%&'()*+,-./
@@ -940,7 +940,7 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T8`;
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'ujis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBCBC to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T8`;
C1 CONVERT(`C1` using ucs2)
  ã€ã€‚,.・:;?ï¼ã‚›ã‚œÂ´ï½€Â¨ï¼¾ï¿£ï¼¿ãƒ½   ã€ã€‚,.・:;?ï¼ã‚›ã‚œÂ´ï½€Â¨ï¼¾ï¿£ï¼¿ãƒ½
@@ -1078,7 +1078,7 @@ SELECT `C1`, CONVERT(`C1` using sjis) FROM `T8`;
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBCBC to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBCBC to 'sjis'
SELECT `C1`, CONVERT(`C1` using ujis) FROM `T9`;
C1 CONVERT(`C1` using ujis)
ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë
@@ -1122,7 +1122,7 @@ SELECT `C1`, CONVERT(`C1` using ujis) FROM `T9`;
龔龖龗龞龡龢龣龥・・・・・・・・・・・・ 龔龖龗龞龡龢龣龥・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・
Warnings:
-Warning 1977 Cannot convert 'utf8' character 0xEFBD9E to 'ujis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xEFBD9E to 'ujis'
SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T9`;
C1 CONVERT(`C1` using ucs2)
ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»ãƒ»Ë˜Ë‡Â¸Ë™Ë
@@ -1208,37 +1208,37 @@ 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'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCB98 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCB9B to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC2BA to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC2A4 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCE86 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xCEAC to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD082 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD088 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xD192 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC386 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3A6 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC582 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC381 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC38A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC4B4 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC59A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC795 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3A1 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC3AA to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC4B5 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC59B to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xC796 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4B882 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4B99A to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BBA1 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BC99 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE4BD9F to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BBB8 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BCAB to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' character 0xE9BD97 to 'sjis'
+Warning 1977 Cannot convert 'utf8mb3' 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 78c80c27cc5..d1262a63082 100644
--- a/mysql-test/suite/jp/r/jp_create_db_sjis.result
+++ b/mysql-test/suite/jp/r/jp_create_db_sjis.result
@@ -11,6 +11,7 @@ schema_name
information_schema
mysql
performance_schema
+sys
test
ƒ\\•\
“ú–{Œê
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 380fcf09389..c8ddd0075a0 100644
--- a/mysql-test/suite/jp/r/jp_create_db_ucs2.result
+++ b/mysql-test/suite/jp/r/jp_create_db_ucs2.result
@@ -12,6 +12,7 @@ schema_name
information_schema
mysql
performance_schema
+sys
test
ÆüËܸì
íÜíÝíÞ
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 529a225e4ed..af2e809d1fa 100644
--- a/mysql-test/suite/jp/r/jp_create_db_ujis.result
+++ b/mysql-test/suite/jp/r/jp_create_db_ujis.result
@@ -11,6 +11,7 @@ schema_name
information_schema
mysql
performance_schema
+sys
test
ÆüËܸì
íÜíÝíÞ
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 7d950ea53f9..a77c4c5e095 100644
--- a/mysql-test/suite/jp/r/jp_create_db_utf8.result
+++ b/mysql-test/suite/jp/r/jp_create_db_utf8.result
@@ -11,6 +11,7 @@ schema_name
information_schema
mysql
performance_schema
+sys
test
日本語
龔龖龗
diff --git a/mysql-test/suite/jp/r/jp_create_tbl_utf8.result b/mysql-test/suite/jp/r/jp_create_tbl_utf8.result
index 5dc64d2df5c..0e528db8c58 100644
--- a/mysql-test/suite/jp/r/jp_create_tbl_utf8.result
+++ b/mysql-test/suite/jp/r/jp_create_tbl_utf8.result
@@ -97,77 +97,77 @@ SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`カカカ` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `イイイ`;
Table Create Table
イイイ CREATE TABLE `イイイ` (
`ï½·ï½·ï½·` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ウウウ`;
Table Create Table
ウウウ CREATE TABLE `ウウウ` (
`ククク` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï½´ï½´ï½´`;
Table Create Table
ï½´ï½´ï½´ CREATE TEMPORARY TABLE `ï½´ï½´ï½´` (
`ケケケ` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `オオオ`;
Table Create Table
オオオ CREATE TEMPORARY TABLE `オオオ` (
`コココ` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹ã‹` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã„ã„ã„`;
Table Create Table
ã„ã„ã„ CREATE TABLE `ã„ã„ã„` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã†ã†ã†`;
Table Create Table
ã†ã†ã† CREATE TABLE `ã†ã†ã†` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ãˆãˆãˆ`;
Table Create Table
ãˆãˆãˆ CREATE TEMPORARY TABLE `ãˆãˆãˆ` (
`ã‘ã‘ã‘` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ãŠãŠãŠ`;
Table Create Table
ãŠãŠãŠ CREATE TEMPORARY TABLE `ãŠãŠãŠ` (
`ã“ã“ã“` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `é¾—é¾—é¾—`;
Table Create Table
é¾—é¾—é¾— CREATE TABLE `é¾—é¾—é¾—` (
`丄丄丄` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龞龞龞`;
Table Create Table
龞龞龞 CREATE TABLE `龞龞龞` (
`丅丅丅` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龡龡龡`;
Table Create Table
龡龡龡 CREATE TEMPORARY TABLE `龡龡龡` (
`丌丌丌` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龢龢龢`;
Table Create Table
龢龢龢 CREATE TEMPORARY TABLE `龢龢龢` (
`丒丒丒` char(1) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ウウウ`;
@@ -265,77 +265,77 @@ SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`カカカ` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `イイイ`;
Table Create Table
イイイ CREATE TABLE `イイイ` (
`ï½·ï½·ï½·` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ウウウ`;
Table Create Table
ウウウ CREATE TABLE `ウウウ` (
`ククク` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï½´ï½´ï½´`;
Table Create Table
ï½´ï½´ï½´ CREATE TEMPORARY TABLE `ï½´ï½´ï½´` (
`ケケケ` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `オオオ`;
Table Create Table
オオオ CREATE TEMPORARY TABLE `オオオ` (
`コココ` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹ã‹` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã„ã„ã„`;
Table Create Table
ã„ã„ã„ CREATE TABLE `ã„ã„ã„` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã†ã†ã†`;
Table Create Table
ã†ã†ã† CREATE TABLE `ã†ã†ã†` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ãˆãˆãˆ`;
Table Create Table
ãˆãˆãˆ CREATE TEMPORARY TABLE `ãˆãˆãˆ` (
`ã‘ã‘ã‘` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ãŠãŠãŠ`;
Table Create Table
ãŠãŠãŠ CREATE TEMPORARY TABLE `ãŠãŠãŠ` (
`ã“ã“ã“` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `é¾—é¾—é¾—`;
Table Create Table
é¾—é¾—é¾— CREATE TABLE `é¾—é¾—é¾—` (
`丄丄丄` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龞龞龞`;
Table Create Table
龞龞龞 CREATE TABLE `龞龞龞` (
`丅丅丅` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龡龡龡`;
Table Create Table
龡龡龡 CREATE TEMPORARY TABLE `龡龡龡` (
`丌丌丌` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龢龢龢`;
Table Create Table
龢龢龢 CREATE TEMPORARY TABLE `龢龢龢` (
`丒丒丒` char(1) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ウウウ`;
@@ -433,77 +433,77 @@ SHOW CREATE TABLE `アアア`;
Table Create Table
アアア CREATE TABLE `アアア` (
`カカカ` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `イイイ`;
Table Create Table
イイイ CREATE TABLE `イイイ` (
`ï½·ï½·ï½·` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ウウウ`;
Table Create Table
ウウウ CREATE TABLE `ウウウ` (
`ククク` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï½´ï½´ï½´`;
Table Create Table
ï½´ï½´ï½´ CREATE TEMPORARY TABLE `ï½´ï½´ï½´` (
`ケケケ` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `オオオ`;
Table Create Table
オオオ CREATE TEMPORARY TABLE `オオオ` (
`コココ` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã‚ã‚ã‚`;
Table Create Table
ã‚ã‚ã‚ CREATE TABLE `ã‚ã‚ã‚` (
`ã‹ã‹ã‹` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã„ã„ã„`;
Table Create Table
ã„ã„ã„ CREATE TABLE `ã„ã„ã„` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ã†ã†ã†`;
Table Create Table
ã†ã†ã† CREATE TABLE `ã†ã†ã†` (
`ããã` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ãˆãˆãˆ`;
Table Create Table
ãˆãˆãˆ CREATE TEMPORARY TABLE `ãˆãˆãˆ` (
`ã‘ã‘ã‘` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ãŠãŠãŠ`;
Table Create Table
ãŠãŠãŠ CREATE TEMPORARY TABLE `ãŠãŠãŠ` (
`ã“ã“ã“` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `é¾–é¾–é¾–`;
Table Create Table
é¾–é¾–é¾– CREATE TABLE `é¾–é¾–é¾–` (
`丂丂丂` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `é¾—é¾—é¾—`;
Table Create Table
é¾—é¾—é¾— CREATE TABLE `é¾—é¾—é¾—` (
`丄丄丄` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龞龞龞`;
Table Create Table
龞龞龞 CREATE TABLE `龞龞龞` (
`丅丅丅` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龡龡龡`;
Table Create Table
龡龡龡 CREATE TEMPORARY TABLE `龡龡龡` (
`丌丌丌` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `龢龢龢`;
Table Create Table
龢龢龢 CREATE TEMPORARY TABLE `龢龢龢` (
`丒丒丒` char(1) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
DROP TABLE `アアア`;
DROP TABLE `イイイ`;
DROP TABLE `ウウウ`;
diff --git a/mysql-test/suite/jp/r/jp_enum_utf8.result b/mysql-test/suite/jp/r/jp_enum_utf8.result
index 861aef0462d..f39a2a39b95 100644
--- a/mysql-test/suite/jp/r/jp_enum_utf8.result
+++ b/mysql-test/suite/jp/r/jp_enum_utf8.result
@@ -77,55 +77,55 @@ Table Create Table
T1 CREATE TABLE `T1` (
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼’`;
Table Create Table
ï¼´ï¼’ CREATE TABLE `ï¼´ï¼’` (
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `T3`;
Table Create Table
T3 CREATE TABLE `T3` (
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼”`;
Table Create Table
ï¼´ï¼” CREATE TABLE `ï¼´ï¼”` (
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `T5`;
Table Create Table
T5 CREATE TABLE `T5` (
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼–`;
Table Create Table
ï¼´ï¼– CREATE TABLE `ï¼´ï¼–` (
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼—`;
Table Create Table
ï¼´ï¼— CREATE TABLE `ï¼´ï¼—` (
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `T8`;
Table Create Table
T8 CREATE TABLE `T8` (
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼™`;
Table Create Table
ï¼´ï¼™ CREATE TABLE `ï¼´ï¼™` (
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
DESC `T1`;
Field Type Null Key Default Extra
C1 enum('ア','イ','ウ') YES MUL NULL
@@ -168,63 +168,63 @@ Table Create Table
`C2` char(1) NOT NULL,
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼’`;
Table Create Table
ï¼´ï¼’ CREATE TABLE `ï¼´ï¼’` (
`C2` char(1) NOT NULL,
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `T3`;
Table Create Table
T3 CREATE TABLE `T3` (
`C2` char(1) NOT NULL,
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼”`;
Table Create Table
ï¼´ï¼” CREATE TABLE `ï¼´ï¼”` (
`C2` char(1) NOT NULL,
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `T5`;
Table Create Table
T5 CREATE TABLE `T5` (
`C2` char(1) NOT NULL,
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼–`;
Table Create Table
ï¼´ï¼– CREATE TABLE `ï¼´ï¼–` (
`C2` char(1) NOT NULL,
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼—`;
Table Create Table
ï¼´ï¼— CREATE TABLE `ï¼´ï¼—` (
`C2` char(1) NOT NULL,
`C1` enum('ア','イ','ウ') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `T8`;
Table Create Table
T8 CREATE TABLE `T8` (
`C2` char(1) NOT NULL,
`C1` enum('ã‚','ã„','ã†') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE `ï¼´ï¼™`;
Table Create Table
ï¼´ï¼™ CREATE TABLE `ï¼´ï¼™` (
`C2` char(1) NOT NULL,
`C1` enum('龔','龖','龗') DEFAULT NULL,
KEY `C1` (`C1`)
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
DESC `T1`;
Field Type Null Key Default Extra
C2 char(1) NO NULL
diff --git a/mysql-test/suite/json/r/json_no_table.result b/mysql-test/suite/json/r/json_no_table.result
index 6a33e3cf83b..6784fe6da32 100644
--- a/mysql-test/suite/json/r/json_no_table.result
+++ b/mysql-test/suite/json/r/json_no_table.result
@@ -2876,7 +2876,7 @@ json_unquote(json_compact('["a", "b", "c"]'))
["a", "b", "c"]
select charset(json_unquote('"abc"'));
charset(json_unquote('"abc"'))
-utf8
+utf8mb3
select json_quote(convert(X'e68891' using utf8));
json_quote(convert(X'e68891' using utf8))
"我"
diff --git a/mysql-test/suite/json/r/json_table.result b/mysql-test/suite/json/r/json_table.result
new file mode 100644
index 00000000000..4619240ba00
--- /dev/null
+++ b/mysql-test/suite/json/r/json_table.result
@@ -0,0 +1,995 @@
+select * from json_table('[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]', '$[*]' COLUMNS( a INT PATH '$.a')) as tt;
+a
+1
+2
+select * from JSON_TABLE( '[ {"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+a b
+1 11
+1 111
+2 22
+2 222
+3 NULL
+SELECT * FROM JSON_TABLE( '[ {"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'), NESTED PATH '$.b[*]' COLUMNS (c INT PATH '$') ) ) jt;
+a b c
+1 11 NULL
+1 111 NULL
+1 NULL 11
+1 NULL 111
+2 22 NULL
+2 222 NULL
+2 NULL 22
+2 NULL 222
+3 NULL NULL
+create table t1 (id varchar(5), json varchar(1024));
+insert into t1 values ('j1', '[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]');
+insert into t1 values ('j2', '[{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}]');
+select id, json, a from t1, json_table(t1.json, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a')) as tt;
+id json a
+j1 [{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}] 1
+j1 [{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}] 2
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 3
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 4
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 5
+select * from t1, JSON_TABLE(t1.json, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (l_js_id FOR ORDINALITY, b INT PATH '$'))) as jt;
+id json js_id a l_js_id b
+j1 [{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}] 1 1 1 11
+j1 [{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}] 1 1 2 111
+j1 [{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}] 2 2 1 22
+j1 [{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}] 2 2 2 222
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 1 3 1 11
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 1 3 2 111
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 2 4 1 22
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 2 4 2 222
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 3 5 1 22
+j2 [{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}] 3 5 2 222
+select * from t1, JSON_TABLE(t1.no_field, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (l_js_id FOR ORDINALITY, b INT PATH '$'))) as jt;
+ERROR 42S22: Unknown column 't1.no_field' in 'JSON_TABLE argument'
+select * from t1, JSON_TABLE(t1.no_field, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (l_js_id FOR ORDINALITY, a INT PATH '$'))) as jt;
+ERROR 42S21: Duplicate column name 'a'
+DROP TABLE t1;
+create table t1 (item_name varchar(32), item_props varchar(1024));
+insert into t1 values ('Laptop', '{"color": "black", "price": 1000}');
+insert into t1 values ('Jeans', '{"color": "blue", "price": 50}');
+select * from t1 left join json_table(t1.item_props,'$' columns( color varchar(100) path '$.color')) as T on 1;
+item_name item_props color
+Laptop {"color": "black", "price": 1000} black
+Jeans {"color": "blue", "price": 50} blue
+select * from t1 right join json_table(t1.item_props,'$' columns( color varchar(100) path '$.color')) as T on 1;
+ERROR 42S22: Unknown column 't1.item_props' in 'JSON_TABLE argument'
+DROP TABLE t1;
+select * from JSON_TABLE( '[ {"xa": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+a b
+101 11
+101 111
+2 22
+2 222
+3 NULL
+select * from JSON_TABLE( '[ {"xa": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '202' on error, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+a b
+NULL 11
+NULL 111
+2 22
+2 222
+3 NULL
+select * from JSON_TABLE( '[ {"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+a b
+NULL 11
+NULL 111
+2 22
+2 222
+3 NULL
+select * from JSON_TABLE( '[ {"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '202' on error default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+a b
+202 11
+202 111
+2 22
+2 222
+3 NULL
+select * from JSON_TABLE( '[{"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3} xx YY]', '$[*]' COLUMNS( a INT PATH '$.a' default '202' on error default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+ERROR HY000: Syntax error in JSON text in argument 1 to function 'JSON_TABLE' at position 65
+select * from JSON_TABLE( '[{"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' error on error default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+ERROR HY000: Can't store an array or an object in the scalar column 'a' of JSON_TABLE 'jt'.
+select * from json_table('{"a":0}',"$" columns(a decimal(1,1) path '$.a')) foo;
+a
+0.0
+connect con1,localhost,root,,;
+select a from json_table('{"a":0}',"$" columns(a for ordinality)) foo;
+a
+1
+connection default;
+disconnect con1;
+create table t1 (
+color varchar(32),
+price int
+);
+insert into t1 values ("red", 100), ("blue", 50);
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+set @save_optimizer_switch=@@optimizer_switch;
+set optimizer_switch='firstmatch=off';
+select * from
+json_table('[{"color": "blue", "price": 50},
+ {"color": "red", "price": 100}]',
+'$[*]' columns( color varchar(100) path '$.color',
+price text path '$.price'
+ )
+) as T
+where
+T.color in (select color from t1 where t1.price=T.price);
+color price
+blue 50
+red 100
+set @@optimizer_switch=@save_optimizer_switch;
+drop table t1;
+select * from
+json_table(' [ {"color": "blue", "sizes": [1,2,3,4], "prices" : [10,20]},
+ {"color": "red", "sizes": [10,11,12,13,14], "prices" : [100,200,300]} ]',
+'$[*]' columns(
+color varchar(4) path '$.color',
+seq0 for ordinality,
+nested path '$.sizes[*]'
+ columns (seq1 for ordinality,
+size int path '$'),
+nested path '$.prices[*]'
+ columns (seq2 for ordinality,
+price int path '$')
+)
+) as T;
+color seq0 seq1 size seq2 price
+blue 1 1 1 NULL NULL
+blue 1 2 2 NULL NULL
+blue 1 3 3 NULL NULL
+blue 1 4 4 NULL NULL
+blue 1 NULL NULL 1 10
+blue 1 NULL NULL 2 20
+red 2 1 10 NULL NULL
+red 2 2 11 NULL NULL
+red 2 3 12 NULL NULL
+red 2 4 13 NULL NULL
+red 2 5 14 NULL NULL
+red 2 NULL NULL 1 100
+red 2 NULL NULL 2 200
+red 2 NULL NULL 3 300
+select * from json_table('[{"color": "blue", "price": 50},
+ {"color": "red", "price": 100},
+ {"color": "rojo", "price": 10.0},
+ {"color": "blanco", "price": 11.0}]',
+'$[*]' columns( color varchar(100) path '$.color',
+price text path '$.price', seq for ordinality)) as T order by color desc;
+color price seq
+rojo 10.0 3
+red 100 2
+blue 50 1
+blanco 11.0 4
+create view v as select * from json_table('{"as":"b", "x":123}',"$" columns(a varchar(8) path '$.a' default '-' on empty, x int path '$.x')) x;
+select * from v;
+a x
+- 123
+show create table v;
+View Create View character_set_client collation_connection
+v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `x`.`a` AS `a`,`x`.`x` AS `x` from JSON_TABLE('{"as":"b", "x":123}', '$' COLUMNS (`a` varchar(8) PATH '$.a' DEFAULT '-' ON EMPTY, `x` int(11) PATH '$.x')) `x` latin1 latin1_swedish_ci
+drop view v;
+select * from json_table('{"as":"b", "x":123}',
+"$" columns(a varchar(8) path '$.a' default '-' on empty null on error null on empty, x int path '$.x')) x;
+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 'null on empty, x int path '$.x')) x' at line 2
+select * from json_table('{"a":"foo","b":"bar"}', '$'
+ columns (v varchar(20) path '$.*')) as jt;
+v
+NULL
+select * from json_table('{"a":"foo","b":"bar"}', '$'
+ columns (v varchar(20) path '$.*' default '-' on error)) as jt;
+v
+-
+select * from json_table('{"b":"bar"}', '$'
+ columns (v varchar(20) path '$.*' default '-' on error)) as jt;
+v
+bar
+create table t1 (a varchar(100));
+insert into t1 values ('1');
+select * from t1 as T, json_table(T.a, '$[*]' columns(color varchar(100) path '$.nonexistent', seq for ordinality)) as T;
+ERROR 42000: Not unique table/alias: 'T'
+drop table t1;
+prepare s from 'select * from
+json_table(?,
+ \'$[*]\' columns( color varchar(100) path \'$.color\',
+ price text path \'$.price\',
+ seq for ordinality)) as T
+order by color desc; ';
+execute s using '[{"color": "red", "price":1}, {"color":"brown", "price":2}]';
+color price seq
+red 1 1
+brown 2 2
+deallocate prepare s;
+create view v2 as select * from json_table('[{"co\\\\lor": "blue", "price": 50}]', '$[*]' columns( color varchar(100) path '$.co\\\\lor') ) as T;
+select * from v2;
+color
+blue
+drop view v2;
+explain format=json select * from
+json_table('[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]', '$[*]' COLUMNS( a INT PATH '$.a')) as tt;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "table": {
+ "table_name": "tt",
+ "access_type": "ALL",
+ "rows": 40,
+ "filtered": 100,
+ "table_function": "json_table"
+ }
+ }
+}
+explain select * from
+json_table('[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]', '$[*]' COLUMNS( a INT PATH '$.a')) as tt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE tt ALL NULL NULL NULL NULL 40 Table function: json_table
+create view v1 as select * from
+json_table('[{"color": "blue", "price": 50}]',
+'$[*]' columns(color text path '$.nonexistent',
+seq for ordinality)) as `ALIAS NOT QUOTED`;
+select * from v1;
+color seq
+NULL 1
+drop view v1;
+create view v1 as select * from
+json_table('[{"color": "blue", "price": 50},
+ {"color": "red", "price": 100}]',
+'$[*]' columns(
+color text path "$.QUOTES \" HERE \"",
+color1 text path '$.QUOTES " HERE "',
+color2 text path "$.QUOTES ' HERE '",
+seq for ordinality)) as T;
+select * from v1;
+color color1 color2 seq
+NULL NULL NULL 1
+NULL NULL NULL 2
+drop view v1;
+CREATE TABLE t1 (x INT);
+INSERT INTO t1 VALUES (1), (2), (3);
+SELECT t1.x*2 m, jt.* FROM t1,
+JSON_TABLE(m, '$[*]' COLUMNS (i INT PATH '$')) jt;
+ERROR 42S22: Unknown column 'm' in 'JSON_TABLE argument'
+DROP TABLE t1;
+select *
+from
+json_table(JS3.size, '$' columns (size INT PATH '$.size')) as JS1,
+json_table(JS1.size, '$' columns (size INT PATH '$.size')) as JS2,
+json_table(JS1.size, '$' columns (size INT PATH '$.size')) as JS3 where 1;
+ERROR 42S22: Unknown column 'JS3.size' in 'JSON_TABLE argument'
+create table t1 (json varchar(100) character set utf8);
+insert into t1 values ('{"value":"ÐБВ"}');
+create table tj1 as
+select T.value
+from t1, json_table(t1.json, '$' columns (value varchar(32) PATH '$.value')) T;
+show create table tj1;
+Table Create Table
+tj1 CREATE TABLE `tj1` (
+ `value` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;
+drop table tj1;
+CREATE TABLE t1(id INT, f1 JSON);
+INSERT INTO t1 VALUES
+(1, '{\"1\": 1}'),
+(2, '{\"1\": 2}'),
+(3, '{\"1\": 3}'),
+(4, '{\"1\": 4}'),
+(5, '{\"1\": 5}'),
+(6, '{\"1\": 6}');
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'f1'
+test.t1 analyze status OK
+SELECT * FROM JSON_TABLE(tt3.f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl STRAIGHT_JOIN t1 AS tt3;
+ERROR 42S22: Unknown column 'tt3.f1' in 'JSON_TABLE argument'
+SELECT * FROM t1 as jj1,
+(SELECT tt2.*
+FROM
+t1 as tt2,
+JSON_TABLE(tt3.f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl
+STRAIGHT_JOIN
+t1 AS tt3
+) dt
+ORDER BY 1,3 LIMIT 10;
+ERROR 42S22: Unknown column 'tt3.f1' in 'JSON_TABLE argument'
+drop table t1;
+select collation(x) from
+JSON_TABLE('["abc"]', '$[*]' COLUMNS (x VARCHAR(10) CHARSET latin1 PATH '$')) tbl;
+collation(x)
+latin1_swedish_ci
+SELECT * FROM JSON_TABLE('{"x":1, "y":2}', _utf8mb4'$' COLUMNS (NESTED PATH _utf8mb4'$.x'
+ COLUMNS(y INT PATH _utf8mb4'$.y' DEFAULT _utf8mb4'1' ON EMPTY DEFAULT _utf8mb4'2' ON ERROR))) jt;
+y
+1
+select * from json_table(
+'{"name":"t-shirt", "colors": ["yellow", "blue"],"sizes": ["small", "medium", "large"]}',
+'$' columns(name varchar(32) path '$.name',
+nested path '$.colors[*]' columns (
+color varchar(32) path '$',
+nested path '$.sizes[*]' columns (
+size varchar(32) path '$'
+)))) as t;
+name color size
+t-shirt yellow NULL
+t-shirt blue NULL
+SELECT x, length(x) FROM
+JSON_TABLE('{}', '$' COLUMNS (x VARCHAR(10) PATH '$.x' DEFAULT 'abcdefg' ON EMPTY)) jt;
+x length(x)
+abcdefg 7
+select * from
+json_table('[{"a":"aa"}, {"b":null}]', '$[*]'
+ columns (col1 int path '$.b' default '456' on empty)) as tt;
+col1
+456
+NULL
+select * from
+json_table('[{"a":"aa"}, {"b":true}]', '$[*]'
+ columns (col1 int path '$.b' default '456' on empty)) as tt;
+col1
+456
+1
+select * from
+json_table('[{"a":"aa"}, {"b":false}]', '$[*]'
+ columns (col1 int path '$.b' default '456' on empty)) as tt;
+col1
+456
+0
+select * from
+json_table('[{"a":"aa"}, {"b":null}]', '$[*]'
+ columns (col1 varchar(100) path '$.b' default '456' on empty)) as tt;
+col1
+456
+NULL
+select * from
+json_table('[{"a":"aa"}, {"b":true}]', '$[*]'
+ columns (col1 varchar(100) path '$.b' default '456' on empty)) as tt;
+col1
+456
+true
+select * from
+json_table('[{"a":"aa"}, {"b":false}]', '$[*]'
+ columns (col1 varchar(100) path '$.b' default '456' on empty)) as tt;
+col1
+456
+false
+select * from
+json_table( '[{"a":"asd"}, {"a":123}, {"a":[]}, {"a":{}} ]', '$[*]'
+ columns (id for ordinality,
+intcol int path '$.a' default '1234' on empty default '5678' on error)
+) as tt;
+id intcol
+1 0
+2 123
+3 5678
+4 5678
+Warnings:
+Warning 1366 Incorrect integer value: 'asd' for column ``.`(temporary)`.`intcol` at row 1
+SELECT COUNT(*) FROM JSON_TABLE('[1, 2]', '$[*]' COLUMNS( I INT PATH '$')) tt;
+COUNT(*)
+2
+create table t1 (a int);
+insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t2 (js json, b int);
+insert into t2 select '[1,2,3]',A.a from t1 A, t1 B;
+explain select * from t1,
+(select * from t2, json_table(t2.js, '$[*]' columns (o for ordinality)) as jt) as TT2
+where 1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 10
+1 SIMPLE t2 ALL NULL NULL NULL NULL 100 Using join buffer (flat, BNL join)
+1 SIMPLE jt ALL NULL NULL NULL NULL 40 Table function: json_table
+drop table t1, t2;
+CREATE TABLE t1 (x INT);
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (j JSON);
+INSERT INTO t2 (j) VALUES ('[1,2,3]');
+SELECT * FROM t1 RIGHT JOIN
+(SELECT o FROM t2, JSON_TABLE(j, '$[*]' COLUMNS (o FOR ORDINALITY)) AS jt) AS t3 ON (t3.o = t1.x);
+x o
+1 1
+NULL 2
+NULL 3
+DROP TABLE t1, t2;
+create table t20 (a int not null);
+create table t21 (a int not null primary key, js varchar(100));
+insert into t20 values (1),(2);
+insert into t21 values (1, '{"a":100}');
+explain select t20.a, jt1.ab
+from t20 left join t21 on t20.a=t21.a
+join JSON_TABLE(t21.js,'$' COLUMNS (ab INT PATH '$.a')) AS jt1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t20 ALL NULL NULL NULL NULL 2
+1 SIMPLE t21 eq_ref PRIMARY PRIMARY 4 test.t20.a 1
+1 SIMPLE jt1 ALL NULL NULL NULL NULL 40 Table function: json_table
+drop table t20, t21;
+select * from
+json_table(
+'[
+ {"name": "X",
+ "colors":["blue"], "sizes": [1,2,3,4], "prices" : [10,20]},
+ {"name": "Y",
+ "colors":["red"], "sizes": [10,11], "prices" : [100,200,300]}
+]',
+'$[*]' columns
+(
+seq0 for ordinality,
+name varchar(4) path '$.name',
+nested path '$.colors[*]' columns (
+seq1 for ordinality,
+color text path '$'
+ ),
+nested path '$.sizes[*]' columns (
+seq2 for ordinality,
+size int path '$'
+ ),
+nested path '$.prices[*]' columns (
+seq3 for ordinality,
+price int path '$'
+ )
+)
+) as T order by seq0, name;
+seq0 name seq1 color seq2 size seq3 price
+1 X NULL NULL NULL NULL 1 10
+1 X NULL NULL NULL NULL 2 20
+1 X NULL NULL 1 1 NULL NULL
+1 X NULL NULL 2 2 NULL NULL
+1 X NULL NULL 3 3 NULL NULL
+1 X NULL NULL 4 4 NULL NULL
+1 X 1 blue NULL NULL NULL NULL
+2 Y NULL NULL NULL NULL 1 100
+2 Y NULL NULL NULL NULL 2 200
+2 Y NULL NULL NULL NULL 3 300
+2 Y NULL NULL 1 10 NULL NULL
+2 Y NULL NULL 2 11 NULL NULL
+2 Y 1 red NULL NULL NULL NULL
+select * from json_table('[]', '$' COLUMNS(x FOR ORDINALITY));
+ERROR HY000: Every table function must have an alias.
+select min(x) from json_table('[]', '$' COLUMNS(x FOR ORDINALITY)) a;
+min(x)
+1
+#
+# Test for the problem with
+# - Cross-outer-join dependency
+# - dead-end join prefix
+# - join order pruning
+#
+create table t20 (a int not null);
+create table t21 (a int not null primary key, js varchar(100));
+insert into t20 select seq from seq_1_to_100;
+insert into t21 select a, '{"a":100}' from t20;
+create table t31(a int);
+create table t32(b int);
+insert into t31 values (1);
+insert into t32 values (1);
+explain
+select
+t20.a, jt1.ab
+from
+t20
+left join t21 on t20.a=t21.a
+join
+(t31 left join (t32 join JSON_TABLE(t21.js,'$' COLUMNS (ab INT PATH '$.a')) AS jt1) on t31.a<3);
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t31 system NULL NULL NULL NULL 1
+1 SIMPLE t20 ALL NULL NULL NULL NULL 100
+1 SIMPLE t21 eq_ref PRIMARY PRIMARY 4 test.t20.a 1
+1 SIMPLE t32 ALL NULL NULL NULL NULL 1 Using where
+1 SIMPLE jt1 ALL NULL NULL NULL NULL 40 Table function: json_table
+drop table t20,t21,t31,t32;
+#
+# MDEV-25142: JSON_TABLE: CREATE VIEW involving EXISTS PATH ends up with invalid frm
+#
+drop view if exists v1;
+CREATE VIEW v1 AS SELECT * FROM JSON_TABLE('[]', '$' COLUMNS (f INT EXISTS PATH '$')) a ;
+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 `a`.`f` AS `f` from JSON_TABLE('[]', '$' COLUMNS (`f` int(11) EXISTS PATH '$')) `a` latin1 latin1_swedish_ci
+drop view v1;
+#
+# MDEV-25145: JSON_TABLE: Assertion `fixed == 1' failed in Item_load_file::val_str on 2nd execution of PS
+#
+PREPARE stmt FROM "SELECT * FROM (SELECT * FROM JSON_TABLE(LOAD_FILE('x'), '$' COLUMNS (a FOR ORDINALITY)) AS t) AS sq";
+EXECUTE stmt;
+a
+EXECUTE stmt;
+a
+#
+# MDEV-JSON_TABLE: Server crashes in handler::print_error / hton_name upon ERROR ON EMPTY
+#
+SELECT a, b FROM JSON_TABLE('[]', '$' COLUMNS (a FOR ORDINALITY, b INT PATH '$[*]' ERROR ON EMPTY)) AS t ORDER BY a;
+ERROR HY000: Field 'b' can't be set for JSON_TABLE 't'.
+#
+# MDEV-25151 JSON_TABLE: Unexpectedly padded values in a PATH column.
+#
+SET @old_character_set_connection= @@character_set_connection;
+SET @@character_set_connection= utf8;
+select hex(a), b from json_table('["foo","bar"]','$[*]' columns (a char(3) path '$', b for ordinality)) t;
+hex(a) b
+666F6F 1
+626172 2
+SET @@character_set_connection= @old_character_set_connection;
+#
+# MDEV-25183 JSON_TABLE: CREATE VIEW involving NESTED PATH ends up with invalid frm
+#
+CREATE VIEW v AS SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(NESTED PATH '$**.*' COLUMNS(a FOR ORDINALITY), b VARCHAR(8) PATH '$')) AS jt;
+SHOW CREATE VIEW v;
+View Create View character_set_client collation_connection
+v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `jt`.`a` AS `a`,`jt`.`b` AS `b` from JSON_TABLE('{}', '$' COLUMNS (NESTED PATH '$**.*' COLUMNS (`a` FOR ORDINALITY), `b` varchar(8) PATH '$')) `jt` latin1 latin1_swedish_ci
+SELECT * FROM v;
+a b
+NULL NULL
+DROP VIEW v;
+#
+# MDEV-25178 JSON_TABLE: ASAN use-after-poison in my_fill_8bit / Json_table_column::On_response::respond
+#
+SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(a CHAR(100) PATH '$' DEFAULT "0" ON ERROR)) AS jt;
+a
+0
+#
+# MDEV-25188 JSON_TABLE: ASAN use-after-poison in Field_long::reset / Table_function_json_table::setup or malloc(): invalid size.
+#
+SELECT * FROM JSON_TABLE(CONVERT('{"x":1}' USING utf8mb4), '$' COLUMNS(a INT PATH '$', b CHAR(64) PATH '$.*', c INT EXISTS PATH '$**.*')) AS jt;
+a b c
+NULL 1 1
+#
+# 25192 JSON_TABLE: ASAN use-after-poison in field_conv_memcpy / Create_tmp_table::finalize upon query with derived table.
+#
+SET NAMES utf8;
+SELECT * FROM ( SELECT * FROM JSON_TABLE('{}', '$' COLUMNS( a BINARY(12) PATH '$.*', b VARCHAR(40) PATH '$[*]', c VARCHAR(8) PATH '$**.*')) AS jt ) AS sq;
+a b c
+NULL NULL NULL
+SET NAMES default;
+#
+# MDEV-25189 JSON_TABLE: Assertion `l_offset >= 0 && table->s->rec_buff_length - l_offset > 0' failed upon CREATE .. SELECT.
+#
+SET NAMES utf8;
+CREATE TABLE t1 AS SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(a CHAR(16) PATH '$.*', b TIMESTAMP PATH '$**.*')) AS jt;
+DROP TABLE t1;
+SET NAMES default;
+#
+# MDEV-25230 SON_TABLE: CREATE VIEW with 2nd level NESTED PATH ends up with invalid frm, Assertion `m_status == DA_ERROR || m_status == DA_OK || m_status == DA_OK_BULK' failed.
+#
+CREATE VIEW v AS SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(NESTED PATH '$' COLUMNS(NESTED PATH '$.*' COLUMNS(o FOR ORDINALITY)))) AS jt;
+SELECT * FROM v;
+o
+NULL
+SHOW CREATE VIEW v;
+View Create View character_set_client collation_connection
+v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `jt`.`o` AS `o` from JSON_TABLE('{}', '$' COLUMNS (NESTED PATH '$.*' COLUMNS (NESTED PATH '$.*' COLUMNS (`o` FOR ORDINALITY)))) `jt` latin1 latin1_swedish_ci
+DROP VIEW v;
+#
+# MDEV-25229 JSON_TABLE: Server crashes in hton_name upon MATCH .. AGAINST.
+#
+SELECT val, MATCH(val) AGAINST( 'MariaDB') FROM JSON_TABLE('{"db":"xx"}', '$' COLUMNS(val VARCHAR(32) PATH '$**.*')) AS jt;
+ERROR HY000: The storage engine JSON_TABLE function doesn't support FULLTEXT indexes
+#
+# MDEV-25138 JSON_TABLE: A space between JSON_TABLE and opening bracket causes syntax error
+#
+select * from json_table ('{}', '$' COLUMNS(x FOR ORDINALITY)) a;
+x
+1
+create table json_table(id int);
+insert into json_table values (1), (2), (3);
+select * from json_table;
+id
+1
+2
+3
+drop table json_table;
+#
+# MDEV-25146 JSON_TABLE: Non-descriptive + wrong error messages upon trying to store array or object.
+#
+select a from json_table('[[]]', '$' columns(a char(8) path '$' error on error)) t;
+ERROR HY000: Can't store an array or an object in the scalar column 'a' of JSON_TABLE 't'.
+show warnings;
+Level Code Message
+Error 4178 Can't store an array or an object in the scalar column 'a' of JSON_TABLE 't'.
+#
+# MDEV-JSON_TABLE: CREATE TABLE ignores NULL ON ERROR (implicit or explicit) and fails.
+#
+CREATE TABLE t1 AS SELECT * FROM JSON_TABLE('{"x":1}', '$' COLUMNS(f DATE PATH '$.*')) AS jt;
+Warnings:
+Warning 1265 Data truncated for column 'f' at row 1
+SELECT * FROM t1;
+f
+0000-00-00
+DROP TABLE t1;
+#
+# MDEV-25254: JSON_TABLE: Inconsistent name resolution with right joins
+#
+CREATE TABLE t1 (a INT);
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.a,'$' COLUMNS(o FOR ORDINALITY)) jt ON TRUE;
+ERROR 42S22: Unknown column 't1.a' in 'JSON_TABLE argument'
+CREATE VIEW v AS
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.a,'$' COLUMNS(o FOR ORDINALITY)) jt ON TRUE;
+ERROR 42S22: Unknown column 't1.a' in 'JSON_TABLE argument'
+insert into t1 values (1),(2),(3);
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.a,'$' COLUMNS(o FOR ORDINALITY)) jt ON TRUE;
+ERROR 42S22: Unknown column 't1.a' in 'JSON_TABLE argument'
+drop table t1;
+#
+# MDEV-25202: JSON_TABLE: Early table reference leads to unexpected result set, server crash
+#
+CREATE TABLE t1 (o INT);
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (a INT);
+INSERT INTO t2 VALUES (3),(4);
+SELECT * FROM JSON_TABLE(a, '$' COLUMNS(o FOR ORDINALITY)) AS jt1 NATURAL JOIN t1 JOIN t2;
+ERROR 42S22: Unknown column 'a' in 'JSON_TABLE argument'
+SELECT * FROM JSON_TABLE(a, '$' COLUMNS(o FOR ORDINALITY)) AS jt1 NATURAL JOIN t1 STRAIGHT_JOIN t2;
+ERROR 42S22: Unknown column 'a' in 'JSON_TABLE argument'
+drop table t1,t2;
+# Now, try a JSON_TABLE that has a subquery that has an outside reference:
+create table t1(a int, js varchar(32));
+create table t2(a varchar(100));
+insert into t2 values('');
+explain
+select *
+from
+t1 left join
+json_table(concat('',js),
+'$' columns ( color varchar(32) path '$.color')
+) as JT on 1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+explain
+select *
+from
+t1 right join
+json_table(concat('',js),
+'$' columns ( color varchar(32) path '$.color')
+) as JT on 1;
+ERROR 42S22: Unknown column 'js' in 'JSON_TABLE argument'
+explain
+select *
+from
+t1 left join
+json_table((select concat(a,js) from t2),
+'$' columns ( color varchar(32) path '$.color')
+) as JT on 1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+2 SUBQUERY t2 system NULL NULL NULL NULL 1
+explain
+select *
+from
+t1 right join
+json_table((select concat(a,js) from t2),
+'$' columns ( color varchar(32) path '$.color')
+) as JT on 1;
+ERROR 42S22: Unknown column 'js' in 'field list'
+drop table t1,t2;
+#
+# Now, a testcase with JSON_TABLEs inside NATURAL JOIN
+#
+create table t1 (a int, b int);
+create table t2 (a int, c int);
+select * from
+t1,
+( t2
+natural join
+(
+json_table(JT2.d, '$' COLUMNS (d for ordinality)) as JT
+natural join
+json_table(JT.d, '$' COLUMNS (d for ordinality)) as JT2
+)
+);
+ERROR 42S22: Unknown column 'JT2.d' in 'JSON_TABLE argument'
+drop table t1, t2;
+#
+# MDEV-25352: JSON_TABLE: Inconsistent name resolution and ER_VIEW_INVALID ...
+# (Just the testcase)
+#
+CREATE TABLE t1 (a INT, b VARCHAR(8));
+INSERT INTO t1 VALUES (1,'{}'),(2,'[]');
+CREATE TABLE t2 (a INT);
+INSERT INTO t2 VALUES (2),(3);
+SELECT t1.*
+FROM
+t1 NATURAL JOIN t2
+RIGHT JOIN
+JSON_TABLE (t1.b, '$' COLUMNS(o FOR ORDINALITY)) AS jt ON (t1.a = jt.o)
+WHERE t1.a = 1;
+ERROR 42S22: Unknown column 't1.b' in 'JSON_TABLE argument'
+CREATE OR REPLACE VIEW v AS
+SELECT t1.* FROM t1 NATURAL JOIN t2 RIGHT JOIN JSON_TABLE (t1.b, '$' COLUMNS(o FOR ORDINALITY)) AS jt ON (t1.a = jt.o) WHERE t1.a = 1;
+ERROR 42S22: Unknown column 't1.b' in 'JSON_TABLE argument'
+drop table t1,t2;
+#
+# MDEV-25256: JSON_TABLE: Error ER_VIEW_INVALID upon running query via view
+#
+SELECT * FROM
+JSON_TABLE('[]', '$' COLUMNS(a TEXT PATH '$[*]')) AS jt1
+RIGHT JOIN JSON_TABLE(jt1.a, '$' COLUMNS(o2 FOR ORDINALITY)) AS jt2
+ON(1)
+RIGHT JOIN JSON_TABLE('[]', '$' COLUMNS(o3 FOR ORDINALITY)) AS jt3
+ON(1)
+WHERE 0;
+ERROR 42S22: Unknown column 'jt1.a' in 'JSON_TABLE argument'
+#
+# MDEV-25346: JSON_TABLE: Server crashes in Item_field::fix_outer_field upon subquery with unknown column
+#
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (b INT);
+SELECT * FROM ( SELECT * FROM t1 JOIN t2 ON (b IN(SELECT x FROM (SELECT 1 AS c) AS sq1))) AS sq2;
+ERROR 42S22: Unknown column 'x' in 'field list'
+DROP TABLE t1, t2;
+#
+# Another testcase
+#
+create table t1 (item_name varchar(32), item_props varchar(1024));
+insert into t1 values ('Jeans', '{"color": ["green", "brown"], "price": 50}');
+insert into t1 values ('Shirt', '{"color": ["blue", "white"], "price": 20}');
+insert into t1 values ('Jeans', '{"color": ["black"], "price": 60}');
+insert into t1 values ('Jeans', '{"color": ["gray"], "price": 60}');
+insert into t1 values ('Laptop', '{"color": ["black"], "price": 1000}');
+insert into t1 values ('Shirt', '{"color": ["black"], "price": 20}');
+select
+t.item_name,
+jt.*
+from
+(select
+t1.item_name,
+concat(
+concat(
+concat(
+"{\"color\": ",
+concat(
+concat("[\"",
+ group_concat( jt.color separator "\", \"")
+ ),
+ "\"]")
+),','
+ ),
+concat(concat("\"price\": ",jt.price),'}')
+) as item_props
+from
+t1,
+json_table(
+t1.item_props,
+'$' columns (
+nested path '$.color[*]' columns (color varchar(32) path '$'),
+price int path '$.price')
+) as jt
+group by
+t1.item_name, jt.price
+) as t,
+json_table(t.item_props,
+'$' columns (
+nested path '$.color[*]' columns (color varchar(32) path '$'),
+price int path '$.price')
+) as jt
+order by
+t.item_name, jt.price, jt.color;
+item_name color price
+Jeans brown 50
+Jeans green 50
+Jeans black 60
+Jeans gray 60
+Laptop black 1000
+Shirt black 20
+Shirt blue 20
+Shirt white 20
+drop table t1;
+#
+# MDEV-25380: JSON_TABLE: Assertion `join->best_read < double(1.797...) fails
+#
+CREATE TABLE t1 (a INT, b TEXT);
+INSERT INTO t1 VALUES (1,'{}'),(2,'[]');
+explain
+SELECT *
+FROM t1
+WHERE
+EXISTS(SELECT *
+FROM JSON_TABLE(b, '$' COLUMNS(o FOR ORDINALITY)) AS jt
+WHERE jt.o = t1.a);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2
+1 PRIMARY jt ALL NULL NULL NULL NULL 40 Table function: json_table; Using where; FirstMatch(t1)
+drop table t1;
+#
+# MDEV-25381: JSON_TABLE: ER_WRONG_OUTER_JOIN upon query with LEFT and RIGHT joins and view
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (b INT, c TEXT);
+INSERT INTO t2 VALUES (1,'{}'),(2,'[]');
+CREATE VIEW v2 AS SELECT * FROM t2;
+SELECT *
+FROM
+t1 RIGHT JOIN
+t2 AS tt
+LEFT JOIN
+JSON_TABLE(tt.c, '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ON tt.b = jt.o
+ON t1.a = tt.b;
+a b c o
+1 1 {} 1
+2 2 [] NULL
+SELECT *
+FROM
+t1 RIGHT JOIN
+v2 AS tt
+LEFT JOIN
+JSON_TABLE(tt.c, '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ON tt.b = jt.o
+ON t1.a = tt.b;
+a b c o
+1 1 {} 1
+2 2 [] NULL
+SELECT *
+FROM
+t1 RIGHT JOIN
+v2 AS tt
+LEFT JOIN
+JSON_TABLE(CONCAT(tt.c,''), '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ON tt.b = jt.o
+ON t1.a = tt.b;
+a b c o
+1 1 {} 1
+2 2 [] NULL
+prepare s from
+"SELECT *
+FROM
+ t1 RIGHT JOIN
+ v2 AS tt
+ LEFT JOIN
+ JSON_TABLE(CONCAT(tt.c,''), '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ ON tt.b = jt.o
+ ON t1.a = tt.b";
+execute s;
+a b c o
+1 1 {} 1
+2 2 [] NULL
+execute s;
+a b c o
+1 1 {} 1
+2 2 [] NULL
+DROP VIEW v2;
+DROP TABLE t1, t2;
+#
+# MDEV-25259 JSON_TABLE: Illegal mix of collations upon executing query with combination of charsets via view.
+#
+CREATE VIEW v AS
+SELECT * FROM JSON_TABLE(CONVERT('[]' USING dec8),
+'$' COLUMNS(b VARCHAR(8) CHARSET utf8 PATH '$')) AS jt2
+WHERE (CONVERT('[]' USING cp1256) = b);
+SELECT * FROM v;
+b
+DROP VIEW v;
+#
+# MDEV-25397: JSON_TABLE: Unexpected ER_MIX_OF_GROUP_FUNC_AND_FIELDS upon query with JOIN
+#
+set @save_sql_mode= @@sql_mode;
+SET sql_mode='ONLY_FULL_GROUP_BY';
+CREATE TABLE t1 (a TEXT);
+SELECT SUM(o) FROM t1 JOIN JSON_TABLE(t1.a, '$' COLUMNS(o FOR ORDINALITY)) jt;
+SUM(o)
+NULL
+set sql_mode=@save_sql_mode;
+drop table t1;
+#
+# MDEV-25379 JSON_TABLE: ERROR ON clauses are ignored if a column is not on select list.
+#
+SELECT * FROM JSON_TABLE ('{}', '$' COLUMNS(a INT PATH '$.*' ERROR ON EMPTY, o FOR ORDINALITY)) AS jt;
+ERROR HY000: Field 'a' can't be set for JSON_TABLE 'jt'.
+SELECT o FROM JSON_TABLE ('{}', '$' COLUMNS(a INT PATH '$.*' ERROR ON EMPTY, o FOR ORDINALITY)) AS jt;
+ERROR HY000: Field 'a' can't be set for JSON_TABLE 'jt'.
+SELECT COUNT(*) FROM JSON_TABLE ('{}', '$' COLUMNS(a INT PATH '$.*' ERROR ON EMPTY, o FOR ORDINALITY)) AS jt;
+ERROR HY000: Field 'a' can't be set for JSON_TABLE 'jt'.
+#
+# MDEV-25408 JSON_TABLE: AddressSanitizer CHECK failed in Binary_string::realloc_raw.
+#
+SELECT x, COUNT(*) FROM JSON_TABLE( '{}', '$' COLUMNS(
+a BIT(14) PATH '$', b CHAR(16) PATH '$', c INT PATH '$[0]', d INT PATH '$[1]', e INT PATH '$[2]',
+f INT PATH '$[3]', g INT PATH '$[4]', h INT PATH '$[5]', i INT PATH '$[6]', j INT PATH '$[7]',
+x TEXT PATH '$[9]')) AS jt GROUP BY x;
+x COUNT(*)
+NULL 1
+#
+# MDEV-25408 JSON_TABLE: AddressSanitizer CHECK failed in Binary_string::realloc_raw.
+#
+SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(
+a TEXT EXISTS PATH '$', b VARCHAR(40) PATH '$', c BIT(60) PATH '$', d VARCHAR(60) PATH '$', e BIT(62) PATH '$',
+f FOR ORDINALITY, g INT PATH '$', h VARCHAR(36) PATH '$', i DATE PATH '$', j CHAR(4) PATH '$'
+ )) AS jt;
+a b c d e f g h i j
+1 NULL NULL NULL NULL 1 NULL NULL NULL NULL
+#
+# MDEV-25373 JSON_TABLE: Illegal mix of collations upon executing PS once, or SP/function twice.
+#
+SELECT * FROM JSON_TABLE (CONVERT('[1,2]' USING koi8u), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt1 NATURAL JOIN JSON_TABLE (CONVERT('[2,3]' USING eucjpms), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt2;
+a
+2
+PREPARE stmt1 FROM "
+SELECT * FROM JSON_TABLE (CONVERT('[1,2]' USING koi8u), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt1 NATURAL JOIN JSON_TABLE (CONVERT('[2,3]' USING eucjpms), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt2;
+";
+EXECUTE stmt1;
+a
+2
+DEALLOCATE PREPARE stmt1;
+#
+# MDEV-25149 JSON_TABLE: Inconsistency in implicit data type conversion.
+#
+select * from json_table( '[{"a":"asd"}, {"a":123}, {"a":[]}, {"a":{}} ]', '$[*]'
+columns ( id for ordinality,
+intcol int path '$.a' default '1234' on empty default '5678' on error)
+) as tt;
+id intcol
+1 0
+2 123
+3 5678
+4 5678
+Warnings:
+Warning 1366 Incorrect integer value: 'asd' for column ``.`(temporary)`.`intcol` at row 1
+#
+# MDEV-25377 JSON_TABLE: Wrong value with implicit conversion.
+#
+select * from json_table('{"a":"foo", "b":1, "c":1000}', '$.*' columns(converted tinyint path '$', original text path '$')) as jt;
+converted original
+0 foo
+1 1
+127 1000
+Warnings:
+Warning 1366 Incorrect integer value: 'foo' for column ``.`(temporary)`.`converted` at row 1
+Warning 1264 Out of range value for column 'converted' at row 3
+select * from json_table('{"a":"foo", "b":1, "c":1000}', '$.*' columns(converted tinyint path '$', original text path '$')) as jt order by converted;
+converted original
+0 foo
+1 1
+127 1000
+Warnings:
+Warning 1366 Incorrect integer value: 'foo' for column ``.`(temporary)`.`converted` at row 1
+Warning 1264 Out of range value for column 'converted' at row 1
+Warning 1366 Incorrect integer value: 'foo' for column ``.`(temporary)`.`converted` at row 1
+Warning 1264 Out of range value for column 'converted' at row 3
+select * from json_table('{"a":"foo", "b":1, "c":1000}', '$.*' columns(converted tinyint path '$', original text path '$')) as jt order by original;
+converted original
+1 1
+127 1000
+0 foo
+Warnings:
+Warning 1264 Out of range value for column 'converted' at row 2
+Warning 1366 Incorrect integer value: 'foo' for column ``.`(temporary)`.`converted` at row 3
+#
+# MDEV-27696 Json table columns accept redundant COLLATE syntax
+#
+SELECT * FROM json_table('[{"name":"str"}]', '$[*]'
+ COLUMNS (
+name BLOB COLLATE `binary` PATH '$.name'
+ )
+) AS jt;
+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 'COLLATE `binary` PATH '$.name'
+ )
+) AS jt' at line 3
+SELECT * FROM json_table('[{"name":"str"}]', '$[*]'
+ COLUMNS (
+name VARCHAR(10) COLLATE latin1_bin COLLATE latin1_swedish_ci PATH '$.name'
+ )
+) AS jt;
+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 'COLLATE latin1_swedish_ci PATH '$.name'
+ )
+) AS jt' at line 3
+SELECT * FROM json_table('[{"name":"str"}]', '$[*]'
+ COLUMNS (
+name VARCHAR(10) BINARY COLLATE utf8_czech_ci path '$.name'
+ )
+) AS jt;
+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 'COLLATE utf8_czech_ci path '$.name'
+ )
+) AS jt' at line 3
+#
+# MDEV-27690 Crash on `CHARACTER SET csname COLLATE DEFAULT` in column definition
+#
+SELECT * FROM json_table('[{"name":"Jeans"}]', '$[*]'
+ COLUMNS(
+name VARCHAR(10) CHARACTER SET latin1 COLLATE DEFAULT PATH '$.name'
+ )
+) AS jt;
+name
+Jeans
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/suite/json/r/json_table_binlog.result b/mysql-test/suite/json/r/json_table_binlog.result
new file mode 100644
index 00000000000..472f7395648
--- /dev/null
+++ b/mysql-test/suite/json/r/json_table_binlog.result
@@ -0,0 +1,26 @@
+#
+# MDEV-25154: JSON_TABLE: Queries involving ordinality columns are unsafe for statement binlog and should be marked as such
+#
+create table t1 (a int);
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+set binlog_format='statement';
+insert into t1
+select *
+from json_table('[1,2,3]', '$[*]' columns (a for ordinality)) as T ;
+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
+set binlog_format='mixed';
+insert into t1
+select *
+from json_table('[1,2,3]', '$[*]' columns (a for ordinality)) as T ;
+# This must show Annotate_rows, Write_rows_v1 events. Not the statement event
+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 # Annotate_rows # # insert into t1
+select *
+from json_table('[1,2,3]', '$[*]' columns (a for ordinality)) as T
+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
+drop table t1;
diff --git a/mysql-test/suite/json/r/json_table_mysql.result b/mysql-test/suite/json/r/json_table_mysql.result
new file mode 100644
index 00000000000..ec21f18523f
--- /dev/null
+++ b/mysql-test/suite/json/r/json_table_mysql.result
@@ -0,0 +1,1660 @@
+#
+# WL#8867: Add JSON_TABLE table function
+#
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '\$.a',
+jexst int exists path '\$.b')
+) as tt;
+id jpath jexst
+1 3 0
+2 2 0
+3 NULL 1
+4 0 0
+select * from
+json_table(
+'[{"x":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a' default '[99]' on error,
+jexst int exists path '$.b')
+) as tt;
+id jpath jexst
+1 NULL 0
+2 2 0
+3 NULL 1
+4 0 0
+select * from
+json_table(
+'[{"x":"3"},{"a":2},{"b":1},{"a":0},{"a":[1,2]}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a'
+ default '33' on empty
+default '66' on error,
+jsn_path json path '\$.a' default '{"x":33}' on empty,
+jexst int exists path '\$.b')
+) as tt;
+id jpath jsn_path jexst
+1 33 {"x":33} 0
+2 2 2 0
+3 33 {"x":33} 1
+4 0 0 0
+5 66 NULL 0
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0.33},{"a":"asd"}]',
+'$[*]' columns (id for ordinality,
+jpath_i int path '$.a'
+ default '33' on empty
+default '66' on error,
+jpath_r real path '$.a'
+ default '33.3' on empty
+default '77.7' on error,
+jsn_path json path '$.a' default '{"x":33}' on empty,
+jexst int exists path '$.b')
+) as tt;
+id jpath_i jpath_r jsn_path jexst
+1 3 3 3 0
+2 2 2 2 0
+3 33 33.3 {"x":33} 1
+4 0 0.33 0.33 0
+5 0 0 asd 0
+Warnings:
+Warning 1366 Incorrect integer value: 'asd' for column ``.`(temporary)`.`jpath_i` at row 5
+Warning 1366 Incorrect double value: 'asd' for column ``.`(temporary)`.`jpath_r` at row 5
+select * from
+json_table(
+'[{"x":"3"},{"a":2},{"b":1},{"a":0},{"a":[1,2]}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a'
+ default '33' on empty
+default '66' on error,
+jsn_path json path '$.a' default '{"x":33}' on empty,
+jexst int exists path '$.b')
+) as tt;
+id jpath jsn_path jexst
+1 33 {"x":33} 0
+2 2 2 0
+3 33 {"x":33} 1
+4 0 0 0
+5 66 NULL 0
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a',
+json_path json path '$.a',
+jexst int exists path '$.b')
+) as tt;
+id jpath json_path jexst
+1 3 3 0
+2 2 2 0
+3 NULL NULL 1
+4 0 0 0
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a',
+json_path json path '$.a',
+jexst int exists path '$.b')
+) as tt
+where id = 3;
+id jpath json_path jexst
+3 NULL NULL 1
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a' error on empty,
+jexst int exists path '$.b')
+) as tt;
+ERROR HY000: Field 'jpath' can't be set for JSON_TABLE 'tt'.
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"a":1},{"a":[0,1]}]',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a' error on error,
+jexst int exists path '$.b')
+) as tt;
+ERROR HY000: Can't store an array or an object in the scalar column 'jpath' of JSON_TABLE 'tt'.
+select * from
+json_table(
+'!#@$!@#$',
+'$[*]' columns (id for ordinality,
+jpath varchar(100) path '$.a',
+jexst int exists path '$.b')
+) as tt;
+ERROR HY000: Syntax error in JSON text in argument 1 to function 'JSON_TABLE' at position 1
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+id for ordinality)
+) as tt;
+ERROR 42S21: Duplicate column name 'id'
+select * from
+json_table(
+'[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+'$[*]' columns (id for ordinality,
+_id for ordinality)
+) as tt;
+id _id
+1 1
+2 2
+3 3
+4 4
+select * from
+json_table(
+'[
+ {"a":"3", "n": { "l": 1}},
+ {"a":2, "n": { "l": 1}},
+ {"b":1, "n": { "l": 1}},
+ {"a":0, "n": { "l": 1}}
+ ]',
+'$[*]' columns (
+id for ordinality,
+jpath varchar(100) path '$.a',
+jexst int exists path '$.b',
+nested path '$.n' columns (
+id_n for ordinality,
+jpath_n varchar(50) path '$.l')
+)
+) as tt;
+id jpath jexst id_n jpath_n
+1 3 0 1 1
+2 2 0 1 1
+3 NULL 1 1 1
+4 0 0 1 1
+explain format=json
+select * from
+json_table(
+'[
+ {"a":"3", "n": { "l": 1}},
+ {"a":2, "n": { "l": 1}},
+ {"b":1, "n": { "l": 1}},
+ {"a":0, "n": { "l": 1}}
+ ]',
+'$[*]' columns (
+id for ordinality,
+jpath varchar(100) path '$.a',
+jexst int exists path '$.b',
+nested path '$.n' columns (
+id_n for ordinality,
+jpath_n varchar(50) path '$.l')
+)
+) as tt;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "table": {
+ "table_name": "tt",
+ "access_type": "ALL",
+ "rows": 40,
+ "filtered": 100,
+ "table_function": "json_table"
+ }
+ }
+}
+select * from
+json_table(
+'[
+ {"a":2, "n": [{ "l": 1}, {"l": 11}]},
+ {"a":1, "n": [{ "l": 2}, {"l": 22}]}
+ ]',
+'$[*]' columns (
+id for ordinality,
+jpath varchar(50) path '$.a',
+nested path '$.n[*]' columns (
+id_n for ordinality,
+jpath_n varchar(50) path '$.l'),
+nested path '$.n[*]' columns (
+id_m for ordinality,
+jpath_m varchar(50) path '$.l')
+)
+) as tt;
+id jpath id_n jpath_n id_m jpath_m
+1 2 1 1 NULL NULL
+1 2 2 11 NULL NULL
+1 2 NULL NULL 1 1
+1 2 NULL NULL 2 11
+2 1 1 2 NULL NULL
+2 1 2 22 NULL NULL
+2 1 NULL NULL 1 2
+2 1 NULL NULL 2 22
+select * from json_table(
+'[
+ {"a":"3", "n": ["b","a","c"]},
+ {"a":2, "n": [1,2]},
+ {"b":1, "n": ["zzz"]},
+ {"a":0, "n": [0.1, 0.02]}
+ ]',
+'$[*]' columns (
+id for ordinality,
+jpath varchar(100) path '$.a',
+jexst int exists path '$.b',
+nested path '$.n[*]' columns (
+id_n for ordinality,
+jpath_n varchar(50) path '$')
+)
+) as tt;
+id jpath jexst id_n jpath_n
+1 3 0 1 b
+1 3 0 2 a
+1 3 0 3 c
+2 2 0 1 1
+2 2 0 2 2
+3 NULL 1 1 zzz
+4 0 0 1 0.1
+4 0 0 2 0.02
+select * from json_table(
+'[
+ {"a":"3", "n": ["b","a","c"]},
+ {"a":2, "n": [1,2]},
+ {"b":1, "n": ["zzz"]},
+ {"a":0, "n": [0.1, 0.02]}
+ ]',
+'$[*]' columns (
+id for ordinality,
+jpath varchar(100) path '$.a',
+jexst int exists path '$.b',
+nested path '$.n[*]' columns (
+id_n1 for ordinality,
+jpath_n1 varchar(50) path '$') ,
+nested path '$.n[*]' columns (
+id_n2 for ordinality,
+jpath_n2 varchar(50) path '$')
+)
+) as tt;
+id jpath jexst id_n1 jpath_n1 id_n2 jpath_n2
+1 3 0 1 b NULL NULL
+1 3 0 2 a NULL NULL
+1 3 0 3 c NULL NULL
+1 3 0 NULL NULL 1 b
+1 3 0 NULL NULL 2 a
+1 3 0 NULL NULL 3 c
+2 2 0 1 1 NULL NULL
+2 2 0 2 2 NULL NULL
+2 2 0 NULL NULL 1 1
+2 2 0 NULL NULL 2 2
+3 NULL 1 1 zzz NULL NULL
+3 NULL 1 NULL NULL 1 zzz
+4 0 0 1 0.1 NULL NULL
+4 0 0 2 0.02 NULL NULL
+4 0 0 NULL NULL 1 0.1
+4 0 0 NULL NULL 2 0.02
+select * from json_table(
+'[
+ {"a":"3", "n": [ {"ll":["b1","b2","b3"]}, {"ll": ["a1","a2"]},
+ {"ll":["c"]} ]},
+ {"a":2, "n": [{"ll":[1,11,111]},{"ll":[2]}]},
+ {"b":1, "n": [{"ll":["zzz"]}]},
+ {"a":0, "n": [{"ll":[0.1,0.01]}, {"ll":[0.02,0.002,0.0002]}]}
+ ]',
+'$[*]' columns (
+id1 for ordinality,
+jpath varchar(100) path '$.a',
+jexst int exists path '$.b',
+nested path '$.n[*]' columns (
+id2 for ordinality,
+nested path '$.ll[*]' columns (
+id3 for ordinality,
+jpath_3 varchar(50) path '$')
+),
+nested path '$.n[*]' columns (
+id4 for ordinality,
+jpath_4 json path '$')
+)
+) as tt;
+id1 jpath jexst id2 id3 jpath_3 id4 jpath_4
+1 3 0 1 1 b1 NULL NULL
+1 3 0 1 2 b2 NULL NULL
+1 3 0 1 3 b3 NULL NULL
+1 3 0 2 1 a1 NULL NULL
+1 3 0 2 2 a2 NULL NULL
+1 3 0 3 1 c NULL NULL
+1 3 0 NULL NULL NULL 1 NULL
+1 3 0 NULL NULL NULL 2 NULL
+1 3 0 NULL NULL NULL 3 NULL
+2 2 0 1 1 1 NULL NULL
+2 2 0 1 2 11 NULL NULL
+2 2 0 1 3 111 NULL NULL
+2 2 0 2 1 2 NULL NULL
+2 2 0 NULL NULL NULL 1 NULL
+2 2 0 NULL NULL NULL 2 NULL
+3 NULL 1 1 1 zzz NULL NULL
+3 NULL 1 NULL NULL NULL 1 NULL
+4 0 0 1 1 0.1 NULL NULL
+4 0 0 1 2 0.01 NULL NULL
+4 0 0 2 1 0.02 NULL NULL
+4 0 0 2 2 0.002 NULL NULL
+4 0 0 2 3 0.0002 NULL NULL
+4 0 0 NULL NULL NULL 1 NULL
+4 0 0 NULL NULL NULL 2 NULL
+ord should be 1,1,1,2, which tells that first two values of 'l' are
+from the same object, and next two are from different objects
+SELECT *
+FROM JSON_TABLE(
+'[{"a": "a_val",
+ "b": [
+ {"c": "c_val",
+ "l": [1,2]}
+ ]
+ }, {"a": "a_val",
+ "b": [
+ {"c": "c_val",
+ "l": [11]},
+ {"c": "c_val",
+ "l": [22]}
+ ]
+ }]',
+'$[*]' COLUMNS (
+apath VARCHAR(10) PATH '$.a',
+NESTED PATH '$.b[*]' COLUMNS (
+bpath VARCHAR(10) PATH '$.c',
+ord FOR ORDINALITY,
+NESTED PATH '$.l[*]' COLUMNS (
+lpath varchar(10) PATH '$'
+ )
+)
+)) as jt;
+apath bpath ord lpath
+a_val c_val 1 1
+a_val c_val 1 2
+a_val c_val 1 11
+a_val c_val 2 22
+CREATE TABLE jt( i JSON );
+SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+WHERE a=1;
+i a
+EXPLAIN SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+WHERE a=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT * FROM (
+SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+WHERE a=1) AS ttt;
+i a
+EXPLAIN SELECT * FROM (
+SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+WHERE a=1) AS ttt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+DROP TABLE jt;
+CREATE VIEW v AS
+SELECT * FROM JSON_TABLE('[1,2,3]',
+'$[*]' COLUMNS (num INT PATH '$.a'
+ DEFAULT '123' ON EMPTY
+DEFAULT '456' ON ERROR)) AS jt;
+SELECT * FROM v;
+num
+123
+123
+123
+SHOW CREATE VIEW v;
+View Create View character_set_client collation_connection
+v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `jt`.`num` AS `num` from JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (`num` int(11) PATH '$.a' DEFAULT '123' ON EMPTY DEFAULT '456' ON ERROR)) `jt` latin1 latin1_swedish_ci
+DROP VIEW v;
+SELECT * FROM JSON_TABLE('"asdf"',
+'$' COLUMNS (a INT PATH '$' ERROR ON ERROR)) AS jt;
+a
+0
+Warnings:
+Warning 1366 Incorrect integer value: 'asdf' for column ``.`(temporary)`.`a` at row 1
+SELECT * FROM
+JSON_TABLE('[{"a":1},{"a":2}]',
+'$' COLUMNS (a INT PATH '$[*].a' ERROR ON ERROR)) AS jt;
+ERROR HY000: Can't store multiple matches of the path in the column 'a' of JSON_TABLE 'jt'.
+SELECT * FROM
+JSON_TABLE('[{"a":1},{"a":2}]',
+'$' COLUMNS (a JSON PATH '$[*].a' ERROR ON ERROR)) AS jt;
+ERROR HY000: Can't store multiple matches of the path in the column 'a' of JSON_TABLE 'jt'.
+SELECT * FROM
+JSON_TABLE('123.456', '$' COLUMNS (a DECIMAL(2,1) PATH '$' ERROR ON ERROR)) AS jt;
+a
+9.9
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+SELECT * FROM
+JSON_TABLE('123.456', '$' COLUMNS (a DECIMAL(2,1) PATH '$')) AS jt;
+a
+9.9
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+SELECT * FROM
+JSON_TABLE('{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{}}}}}}}}}}}}}}}}}}}',
+'$' COLUMNS (i0 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i1 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i2 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i3 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i4 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i5 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i6 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i7 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i8 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i9 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i10 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i11 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i12 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i13 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i14 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i15 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i16 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i17 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i18 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i19 INT PATH '$.a',
+NESTED PATH '$.b' COLUMNS (i20 INT PATH '$.a'
+ )))))))))))))))))))))) jt;
+i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 NULL NULL NULL
+CREATE TABLE t1(id int, jd JSON);
+INSERT INTO t1 values (1, '[1,3,5]'),(2,'[2,4,6]');
+SELECT id, jt.* FROM t1,
+JSON_TABLE(jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+val INT PATH '$')) AS jt;
+id jid val
+1 1 1
+1 2 3
+1 3 5
+2 1 2
+2 2 4
+2 3 6
+SELECT /*+ JOIN_ORDER(jt, t1) */ id, jt.*
+FROM t1,
+JSON_TABLE(jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+val INT PATH '$')) AS jt;
+id jid val
+1 1 1
+1 2 3
+1 3 5
+2 1 2
+2 2 4
+2 3 6
+EXPLAIN SELECT /*+ JOIN_ORDER(jt, t1) */ id, jt.*
+FROM t1,
+JSON_TABLE(jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+val INT PATH '$')) AS jt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2
+1 SIMPLE jt ALL NULL NULL NULL NULL 40 Table function: json_table
+SELECT /*+ JOIN_ORDER(t2,jt) */ t1.id, t2.id, jt.*
+FROM t1,
+JSON_TABLE(t1.jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+val INT PATH '$')) AS jt,
+t1 AS t2;
+id id jid val
+1 1 1 1
+1 1 2 3
+1 1 3 5
+1 2 1 1
+1 2 2 3
+1 2 3 5
+2 1 1 2
+2 1 2 4
+2 1 3 6
+2 2 1 2
+2 2 2 4
+2 2 3 6
+EXPLAIN SELECT t1.id, t2.id, jt.*
+FROM t1,
+JSON_TABLE(t1.jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+val INT PATH '$')) AS jt,
+t1 AS t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using join buffer (flat, BNL join)
+1 SIMPLE jt ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT /*+ JOIN_ORDER(t2,jt) */ t1.id, t2.id, jt.*
+FROM t1,
+JSON_TABLE(t1.jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+val INT PATH '$')) AS jt,
+t1 AS t2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2
+1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using join buffer (flat, BNL join)
+1 SIMPLE jt ALL NULL NULL NULL NULL 40 Table function: json_table
+SELECT * FROM t1 WHERE id IN
+(SELECT * FROM JSON_TABLE('[1,2]', '$[*]' COLUMNS
+(id INT PATH '$')) AS jt);
+id jd
+1 [1,3,5]
+2 [2,4,6]
+EXPLAIN SELECT * FROM t1 WHERE id IN
+(SELECT * FROM JSON_TABLE('[1,2]', '$[*]' COLUMNS
+(id INT PATH '$')) AS jt);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2
+1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
+2 MATERIALIZED jt ALL NULL NULL NULL NULL 40 Table function: json_table
+DROP TABLE t1;
+SELECT * FROM JSON_TABLE('"asdf"', '$' COLUMNS(
+tm TIME PATH '$',
+dt DATE PATH '$',
+i INT PATH '$',
+f FLOAT PATH '$',
+d DECIMAL PATH '$')) AS jt;
+tm dt i f d
+00:00:00 0000-00-00 0 0 0
+Warnings:
+Warning 1265 Data truncated for column 'tm' at row 1
+Warning 1265 Data truncated for column 'dt' at row 1
+Warning 1366 Incorrect integer value: 'asdf' for column ``.`(temporary)`.`i` at row 1
+Warning 1366 Incorrect double value: 'asdf' for column ``.`(temporary)`.`f` at row 1
+Warning 1366 Incorrect decimal value: 'asdf' for column ``.`(temporary)`.`d` at row 1
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT NULL ON EMPTY)) jt;
+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 'NULL ON EMPTY)) jt' at line 2
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT NULL ON ERROR)) jt;
+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 'NULL ON ERROR)) jt' at line 2
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON EMPTY)) jt;
+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 ON EMPTY)) jt' at line 2
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON ERROR)) jt;
+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 ON ERROR)) jt' at line 2
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x DATE
+PATH '$.x'
+ DEFAULT DATE'2020-01-01' ON EMPTY)) jt;
+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 'DATE'2020-01-01' ON EMPTY)) jt' at line 4
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x DATE
+PATH '$.x'
+ DEFAULT DATE'2020-01-01' ON ERROR)) jt;
+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 'DATE'2020-01-01' ON ERROR)) jt' at line 4
+#
+# Bug#25413069: SIG11 IN CHECK_COLUMN_GRANT_IN_TABLE_REF
+#
+SELECT a FROM JSON_TABLE(abc, '$[*]' COLUMNS ( a int path '$.a')) AS jt;
+ERROR 42S22: Unknown column 'abc' in 'JSON_TABLE argument'
+#
+# Bug#25420680: ASSERTION `THD->IS_ERROR()' FAILED IN SQL/SQL_SELECT.CC
+#
+SELECT * FROM JSON_TABLE('{"a":"2017-11-1"}',
+'$' COLUMNS (jpath DATE PATH '$.a')) AS jt;
+jpath
+2017-11-01
+#
+# Bug#25413826: ASSERTION `TABLE_LIST->ALIAS' FAILED
+#
+SELECT * FROM JSON_TABLE('[{"a": 1, "b": 2}]',
+'$[*]' COLUMNS ( a int path '$.b'));
+ERROR HY000: Every table function must have an alias.
+#
+# Bug#25421464: ASSERTION `!STRCMP(TABLE_REF->TABLE_NAME, ...
+#
+CREATE VIEW v1 AS
+SELECT * FROM JSON_TABLE('[{"a": 1, "b": 2}]',
+'$[*]' COLUMNS ( a INT PATH '$.b')) AS jt;
+SELECT * FROM v1;
+a
+2
+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 `jt`.`a` AS `a` from JSON_TABLE('[{"a": 1, "b": 2}]', '$[*]' COLUMNS (`a` int(11) PATH '$.b')) `jt` latin1 latin1_swedish_ci
+DROP VIEW v1;
+#
+# Bug#25427457: ASSERTION `!((*REG_FIELD)->FLAGS & 16)'
+#
+SELECT * FROM JSON_TABLE('{"a":"1"}',
+'$' COLUMNS (jpath JSON PATH '$.a',
+o FOR ORDINALITY)) AS jt
+WHERE o = 1;
+jpath o
+1 1
+#
+# Bug#25427982: ASSERTION `DERIVED' FAILED IN SQL/TABLE.H
+#
+SELECT je,o FROM JSON_TABLE('{"a":"1"}',
+'$' COLUMNS (o FOR ORDINALITY,
+je BIGINT EXISTS PATH '$.a')) AS jt
+GROUP BY je;
+je o
+1 1
+SELECT je,COUNT(o) FROM JSON_TABLE('{"a":"1"}',
+'$' COLUMNS (o FOR ORDINALITY,
+je BIGINT EXISTS PATH '$.a')) AS jt
+GROUP BY je;
+je COUNT(o)
+1 1
+#
+# Bug#25413194: ASSERTION `!(WANT_PRIVILEGE & ~(GRANT->WANT_PRIVILEGE
+#
+CREATE TABLE t1 (j JSON);
+SELECT * FROM t1,JSON_TABLE(t1.j, '$[*]' COLUMNS ( a int path '$.b')) AS jt;
+j a
+DROP TABLE t1;
+#
+# Bug#25460537:SIG 11 IN NEXT_FAST AT SQL/SQL_LIST.H
+#
+PREPARE STMT FROM
+"SELECT * FROM JSON_TABLE(
+ \'[{\"a\":\"3\"},{\"a\":2},{\"b\":1},{\"a\":0}]\',
+ \'$[*]\' COLUMNS (id
+ FOR ORDINALITY,
+ jpath VARCHAR(100) PATH \'$.a\',
+ jexst INT EXISTS PATH \'$.b\')
+ ) as tt";
+EXECUTE STMT;
+id jpath jexst
+1 3 0
+2 2 0
+3 NULL 1
+4 0 0
+EXECUTE STMT;
+id jpath jexst
+1 3 0
+2 2 0
+3 NULL 1
+4 0 0
+DEALLOCATE PREPARE stmt;
+#
+# Bug#25522353: SIG 11 IN JOIN::MAKE_JOIN_PLAN | SQL/SQL_OPTIMIZER.CC
+#
+CREATE TABLE t1 (id INT, jc JSON);
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+ERROR 42S22: Unknown column 't1.jc' in 'JSON_TABLE argument'
+SELECT * FROM JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt LEFT JOIN t1 ON t1.jc=jt.id;
+ERROR 42S22: Unknown column 't1.jc' in 'JSON_TABLE argument'
+SELECT * FROM JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt RIGHT JOIN t1 ON t1.jc=jt.id;
+id id jc
+SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+id jc id
+EXPLAIN SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT * FROM t1 t1o RIGHT JOIN t1 ON t1o.id=t1.id
+LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+id jc id jc id
+EXPLAIN SELECT * FROM t1 t1o RIGHT JOIN t1 ON t1o.id=t1.id
+LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT * FROM t1 AS t1o RIGHT JOIN
+(t1 AS t1i JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ON t1o.id=t1i.id;
+ERROR 42S22: Unknown column 't1o.jc' in 'JSON_TABLE argument'
+SELECT * FROM t1 AS t1o RIGHT JOIN
+(t1 AS t1i RIGHT JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ON t1o.id=t1i.id;
+ERROR 42S22: Unknown column 't1o.jc' in 'JSON_TABLE argument'
+WITH qn AS
+(SELECT jt.* FROM t1 RIGHT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id)
+SELECT * from qn;
+ERROR 42S22: Unknown column 't1.jc' in 'JSON_TABLE argument'
+WITH qn AS
+(SELECT 1 UNION
+SELECT jt.id FROM t1 RIGHT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1.jc=jt.id)
+SELECT * from qn;
+ERROR 42S22: Unknown column 't1.jc' in 'JSON_TABLE argument'
+SELECT * FROM t1 AS t1o RIGHT JOIN
+(t1 AS t1i JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ON t1o.id=t1i.id;
+ERROR 42S22: Unknown column 't1o.jc' in 'JSON_TABLE argument'
+SELECT * FROM t1 AS t1o RIGHT JOIN
+(t1 AS t1i RIGHT JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+(id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ON t1o.id=t1i.id;
+ERROR 42S22: Unknown column 't1o.jc' in 'JSON_TABLE argument'
+INSERT INTO t1 VALUES(1,"1"),(2,"4"),(3,"3");
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'jc'
+test.t1 analyze status OK
+SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id INT PATH '$')) as jt ON t1.id=jt.id;
+id jc id
+1 1 1
+2 4 NULL
+3 3 3
+EXPLAIN SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+(id INT PATH '$')) as jt ON t1.id=jt.id;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+1 SIMPLE jt ALL NULL NULL NULL NULL 40 Table function: json_table; Using where
+SELECT * FROM t1
+LEFT JOIN
+JSON_TABLE(t1.jc, '$' COLUMNS (id FOR ORDINALITY)) as jt ON t1.jc=jt.id
+RIGHT JOIN
+JSON_TABLE(jt.id, '$' COLUMNS (id FOR ORDINALITY)) as jt1 ON jt.id=jt1.id;
+ERROR 42S22: Unknown column 'jt.id' in 'JSON_TABLE argument'
+DROP TABLE t1;
+#
+# Bug#25525409: ASSERTION `TABLE_LIST->TABLE' FAILED IN SQL/SQL_BASE.CC
+#
+SELECT * FROM JSON_TABLE( ( SELECT a ) , '$.*' COLUMNS (col1 FOR ORDINALITY) )
+AS alias1;
+ERROR 42S22: Unknown column 'a' in 'field list'
+SELECT * FROM JSON_TABLE( ( SELECT 1 ) , '$.*' COLUMNS (col1 FOR ORDINALITY) )
+AS alias1;
+col1
+SELECT * FROM JSON_TABLE( ( SUM(1) ) , '$.*' COLUMNS (col1 FOR ORDINALITY) )
+AS alias1;
+ERROR HY000: Invalid use of group function
+#
+# Bug# #25472875: ERROR SHOULD BE THROWN FOR INCORRECT VALUES
+#
+SELECT *
+FROM JSON_TABLE('{"a":"1993-01-01"}',
+'$' COLUMNS (jp DATE PATH '$.b' DEFAULT '1000' ON EMPTY))
+AS jt;
+jp
+0000-00-00
+Warnings:
+Warning 1265 Data truncated for column 'jp' at row 1
+#
+# Bug#25532429: INVALID JSON ERROR NOT THROWN WITH EMPTY TABLES JOIN
+#
+CREATE TABLE t1(j JSON);
+SELECT * FROM t1,
+JSON_TABLE( 'dqwfjqjf' , '$[*]' COLUMNS (col5 FOR ORDINALITY) ) AS alias7;
+j col5
+DROP TABLE t1;
+#
+# Bug#25540370: SIG 11 IN SHOW_SQL_TYPE|SQL/SQL_SHOW.CC:7063
+#
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 CHAR(70) PATH '$')
+) AS alias2;
+col18
+3.14159
+# Too short field causes truncation, error and triggers ON ERROR clause
+SELECT * FROM
+JSON_TABLE('["3.14159"]',
+'$[*]' COLUMNS (col18 CHAR(6) PATH '$')
+) AS alias2;
+col18
+3.1415
+Warnings:
+Warning 1265 Data truncated for column 'col18' at row 1
+#Truncated space doesn't trigger ON ERROR
+SELECT * FROM
+JSON_TABLE('["3.14159 "]',
+'$[*]' COLUMNS (col18 CHAR(7) PATH '$')
+) AS alias2;
+col18
+3.14159
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 CHAR(255) PATH '$')
+) AS alias2;
+col18
+3.14159
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 VARCHAR(70) PATH '$')
+) AS alias2;
+col18
+3.14159
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 VARCHAR(255) PATH '$')
+) AS alias2;
+col18
+3.14159
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 FLOAT PATH '$')
+) AS alias2;
+col18
+3.14159
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 DOUBLE PATH '$')
+) AS alias2;
+col18
+3.14159
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 DECIMAL(3,3) PATH '$')
+) AS alias2;
+col18
+0.999
+Warnings:
+Warning 1264 Out of range value for column 'col18' at row 1
+SELECT * FROM
+JSON_TABLE('[3.14159]',
+'$[*]' COLUMNS (col18 DECIMAL(3,3) PATH '$' ERROR ON ERROR)
+) AS alias2;
+col18
+0.999
+Warnings:
+Warning 1264 Out of range value for column 'col18' at row 1
+SELECT * FROM
+JSON_TABLE('[0.9]',
+'$[*]' COLUMNS (col18 DECIMAL(3,3) PATH '$')
+) AS alias2;
+col18
+0.900
+SELECT * FROM
+JSON_TABLE('["asdf","ghjk"]',
+'$[*]' COLUMNS (col18 DECIMAL(4,3) PATH '$'
+DEFAULT "3.14159" ON ERROR)
+) AS alias2;
+col18
+0.000
+0.000
+Warnings:
+Warning 1366 Incorrect decimal value: 'asdf' for column ``.`(temporary)`.`col18` at row 1
+Warning 1366 Incorrect decimal value: 'ghjk' for column ``.`(temporary)`.`col18` at row 2
+CREATE TABLE t1(jd JSON);
+INSERT INTO t1 VALUES('["asdf"]'),('["ghjk"]');
+SELECT * FROM t1,
+JSON_TABLE(jd,
+'$[*]' COLUMNS (col18 DECIMAL(4,3) PATH '$'
+DEFAULT "3.14159" ON ERROR)
+) AS alias2;
+jd col18
+["asdf"] 0.000
+["ghjk"] 0.000
+Warnings:
+Warning 1366 Incorrect decimal value: 'asdf' for column ``.`(temporary)`.`col18` at row 1
+Warning 1366 Incorrect decimal value: 'ghjk' for column ``.`(temporary)`.`col18` at row 1
+DROP TABLE t1;
+#
+# Bug#25540027: SIG 11 IN FIND_FIELD_IN_TABLE | SQL/SQL_BASE.CC
+#
+CREATE TABLE t1(c1 JSON);
+UPDATE t1, JSON_TABLE(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+SET jt1.a=1;
+ERROR HY000: The target table jt1 of the UPDATE is not updatable
+DELETE JSON_TABLE(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+FROM t1;
+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 '(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+FROM t1' at line 1
+DELETE t1, JSON_TABLE(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+USING t1;
+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 '(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+USING t1' at line 1
+DROP TABLE t1;
+#
+# Bug#25547244: ASSERTION `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(
+#
+CREATE TABLE t1(i INT);
+INSERT INTO t1 VALUES(1);
+DROP TABLE t1;
+#
+# Bug#25540675: ASSERTION `!COL->CHILD_JDS->PRODUCING_RECORDS' FAILED
+#
+CREATE TABLE j1(j JSON);
+INSERT INTO j1 VALUES('[1,2,3]'),('[1,2,4]');
+SELECT * FROM j1,
+JSON_TABLE( JSON_OBJECT('key1', j) ,
+'$.*' COLUMNS (NESTED PATH '$.*' COLUMNS (col11 FOR ORDINALITY))) AS alias2;
+j col11
+[1,2,3] NULL
+[1,2,4] NULL
+DROP TABLE j1;
+#
+# Bug#25584335: SIG 11 IN TABLE_LIST::FETCH_NUMBER_OF_ROWS
+#
+CREATE TABLE t1(i INT);
+PREPARE stmt FROM "SELECT alias1.i AS field1 FROM (
+ t1 AS alias1,
+ (SELECT * FROM
+ JSON_TABLE('[1,2,3]' ,
+ '$[*]' COLUMNS (`col_varchar` FOR ORDINALITY)) AS SQ1_alias1
+ ) AS alias2 )";
+EXECUTE stmt;
+field1
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
+#
+# Bug#25604048: COLUMN NAMES WITH SAME 33-CHAR PREFIX ARE EQUAL
+#
+SELECT * FROM JSON_TABLE( '{"key1": "test"}' , '$' COLUMNS(
+column_name_is_thirty_four_or_more VARCHAR(17) PATH '$.key1',
+column_name_is_thirty_four_or_more_yes_indeed VARCHAR(17) PATH '$.key1'
+) ) AS alias1;
+column_name_is_thirty_four_or_more column_name_is_thirty_four_or_more_yes_indeed
+test test
+SELECT * FROM JSON_TABLE( '{"key1": "test"}' , '$' COLUMNS(
+`column_name_is_thirty_four_or_more ` VARCHAR(17) PATH '$.key1'
+) ) AS alias1;
+column_name_is_thirty_four_or_more
+test
+#
+# Bug#25604404: JSON_TABLE MORE RESTRICTIVE WITH IDENTIFIERS THAN
+# CREATE TABLE
+#
+SELECT * FROM JSON_TABLE( '[1, 2]', '$' COLUMNS(
+one INT PATH '$[0]', two INT PATH '$[1]'
+)) AS jt;
+one two
+1 2
+#
+# Bug#25588450: SIG 6 IN JSON_WRAPPER::SEEK|SQL/JSON_DOM.CC
+#
+CREATE TABLE t1(c VARCHAR(10)) ENGINE=MEMORY;
+INSERT INTO t1 VALUES('fiheife');
+SELECT * FROM `t1` AS alias1, JSON_TABLE( `c` , '$[*]' COLUMNS (jtcol1 JSON
+PATH '$.*')) AS alias2 WHERE jtcol1 <= 'kjfh';
+ERROR HY000: Syntax error in JSON text in argument 1 to function 'JSON_TABLE' at position 1
+DROP TABLE t1;
+#
+# Bug#25587754: ASSERTION `FIXED == 0 || BASIC_CONST_ITEM()' FAILED
+#
+PREPARE stmt FROM
+"SELECT * FROM JSON_TABLE( '[1,2]', '$[*]'
+ COLUMNS (jtcol1 JSON PATH '$.*')) AS alias2";
+EXECUTE stmt;
+jtcol1
+NULL
+NULL
+DEALLOCATE PREPARE stmt;
+#
+# Bug#25584593: UNABLE TO USE JSON_TABLE() ON TEXT/BLOB JSON DATA
+#
+SELECT * FROM JSON_TABLE(NULL, '$.k' COLUMNS (id FOR ORDINALITY)) AS aLias;
+id
+SELECT * FROM JSON_TABLE(@myjson, '$.k' COLUMNS (id FOR ORDINALITY)) AS alias;
+id
+SET @myjson = '{"k": 42}';
+SELECT * FROM JSON_TABLE(@myjson, '$.k' COLUMNS (id FOR ORDINALITY)) AS alias;
+id
+1
+CREATE TABLE t1(
+txt TEXT, ty TINYTEXT, tm MEDIUMTEXT, tl LONGTEXT);
+INSERT INTO t1 values (
+'{"k": "text"}','{"k": "tinytext"}','{"k": "mediumtext"}','{"k": "longtext"}');
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+id
+text
+SELECT alias.* FROM t1, JSON_TABLE(t1.ty, '$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+id
+tinytext
+SELECT alias.* FROM t1, JSON_TABLE(t1.tm, '$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+id
+mediumtext
+SELECT alias.* FROM t1, JSON_TABLE(t1.tl, '$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+id
+longtext
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id TEXT PATH '$')) AS alias;
+id
+text
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id TINYTEXT PATH '$')) AS alias;
+id
+text
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id MEDIUMTEXT PATH '$')) AS alias;
+id
+text
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id LONGTEXT PATH '$')) AS alias;
+id
+text
+SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) as alias;
+blb
+asd123
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb TINYBLOB PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb MEDIUMBLOB PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb LONGBLOB PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb TEXT PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb TINYTEXT PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb MEDIUMTEXT PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb LONGTEXT PATH '$')) as alias;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE alias ALL NULL NULL NULL NULL 40 Table function: json_table
+SELECT * FROM
+(SELECT CAST(blb AS JSON) jf FROM
+JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) AS jti) AS dt,
+JSON_TABLE(jf, '$' COLUMNS (blb BLOB PATH '$')) AS jto;
+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 'JSON) jf FROM
+JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) AS jti)...' at line 2
+DROP TABLE t1;
+#
+# Bug#26500384: ASSERT FAILURE IN QUERY WITH WINDOW FUNCTION AND
+# JSON_TABLE
+#
+CREATE TABLE t (x INT);
+INSERT INTO t VALUES (1), (2), (3);
+SELECT MAX(t.x) OVER () m, jt.* FROM t,
+JSON_TABLE(JSON_ARRAY(m), '$[*]' COLUMNS (i INT PATH '$')) jt;
+ERROR 42S22: Unknown column 'm' in 'JSON_TABLE argument'
+DROP TABLE t;
+#
+# Bug#26583283: ASSERTION `!THD->IS_ERROR()' FAILED IN SQL_RESOLVER.CC
+#
+EXPLAIN SELECT * FROM JSON_TABLE('null', '$' COLUMNS(AA DECIMAL PATH '$')) tt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE tt ALL NULL NULL NULL NULL 40 Table function: json_table
+CREATE VIEW v1 AS SELECT * FROM
+JSON_TABLE( 'null', '$' COLUMNS (c1 DECIMAL PATH '$' ) ) AS jt;
+SELECT * FROM v1;
+c1
+NULL
+EXPLAIN SELECT * FROM v1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE jt ALL NULL NULL NULL NULL 40 Table function: json_table
+DROP VIEW v1;
+#
+# Bug#25822408: ASSERTION `!COL->CHILD_JDS->PRODUCING_RECORDS' FAILED
+#
+PREPARE stmt FROM "SELECT * FROM
+ JSON_TABLE('{\"a\":1}','$' COLUMNS (c1 CHAR(20) PATH '$.b' ERROR ON EMPTY)) jt";
+EXECUTE stmt;
+ERROR HY000: Field 'c1' can't be set for JSON_TABLE 'jt'.
+EXECUTE stmt;
+ERROR HY000: Field 'c1' can't be set for JSON_TABLE 'jt'.
+#
+# Bug#25594571: CRASH AT ITEM::CONST_ITEM|SQL/ITEM.H
+#
+CREATE TABLE t1 (i INT);
+INSERT INTO t1 VALUES(1),(2),(3),(4),(5),(6),(7);
+PREPARE stmt FROM "SELECT * FROM t1 AS alias1 LEFT JOIN t1 AS alias2
+LEFT JOIN JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (i FOR ORDINALITY )) AS
+alias3 ON alias2 . `i` = alias3 . `i` ON alias1 . `i` = alias2 . `i`";
+EXECUTE stmt;
+i i i
+1 1 1
+2 2 2
+3 3 3
+4 4 NULL
+5 5 NULL
+6 6 NULL
+7 7 NULL
+EXECUTE stmt;
+i i i
+1 1 1
+2 2 2
+3 3 3
+4 4 NULL
+5 5 NULL
+6 6 NULL
+7 7 NULL
+DROP TABLE t1;
+#
+# Bug#26648617: ASSERTION `IS_VIEW_OR_DERIVED() &&
+# USES_MATERIALIZATION()' FAILED.
+#
+CREATE TABLE t1 (
+col_varchar_key varchar(1) DEFAULT NULL
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1),(4);
+SELECT * FROM t1 WHERE col_varchar_key NOT IN (
+SELECT col_varchar_key FROM JSON_TABLE(
+'[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+(col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+col_varchar_key
+4
+EXPLAIN SELECT * FROM t1 WHERE col_varchar_key NOT IN (
+SELECT col_varchar_key FROM JSON_TABLE(
+'[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+(col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+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 DEPENDENT SUBQUERY innr1 ALL NULL NULL NULL NULL 40 Table function: json_table; Using where
+SELECT * FROM t1 WHERE col_varchar_key IN (
+SELECT col_varchar_key FROM JSON_TABLE(
+'[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+(col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+col_varchar_key
+1
+EXPLAIN SELECT * FROM t1 WHERE col_varchar_key IN (
+SELECT col_varchar_key FROM JSON_TABLE(
+'[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+(col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2
+1 PRIMARY innr1 ALL NULL NULL NULL NULL 40 Table function: json_table; Using where; FirstMatch(t1); Using join buffer (flat, BNL join)
+DROP TABLE t1;
+#
+# Bug#26711551: WL8867:CONDITIONAL JUMP IN JSON_TABLE_COLUMN::CLEANUP
+#
+CREATE TABLE t(x int, y int);
+INSERT INTO t(x) VALUES (1);
+UPDATE t t1, JSON_TABLE('[2]', '$[*]' COLUMNS (x INT PATH '$')) t2
+SET t1.y = t2.x;
+SELECT * FROM t;
+x y
+1 2
+DROP TABLE t;
+#
+# Bug#26679671: SIG 11 IN JSON_BINARY::PARSE_BINARY()
+#
+CREATE TABLE t1(id INT, f1 JSON);
+INSERT INTO t1 VALUES (1, '{\"1\": 1}'), (2, '{\"1\": 2}'), (3, '{\"1\": 3}'),
+(4, '{\"1\": 4}'), (5, '{\"1\": 5}'), (6, '{\"1\": 6}');
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'f1'
+test.t1 analyze status OK
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze Warning Engine-independent statistics are not collected for column 'f1'
+test.t1 analyze status Table is already up to date
+SELECT * FROM t1 as jj1,
+(SELECT tt2.* FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl) dt;
+id f1 id f1
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 2 {"1": 2}
+1 {"1": 1} 3 {"1": 3}
+1 {"1": 1} 4 {"1": 4}
+1 {"1": 1} 5 {"1": 5}
+1 {"1": 1} 6 {"1": 6}
+2 {"1": 2} 1 {"1": 1}
+2 {"1": 2} 2 {"1": 2}
+2 {"1": 2} 3 {"1": 3}
+2 {"1": 2} 4 {"1": 4}
+2 {"1": 2} 5 {"1": 5}
+2 {"1": 2} 6 {"1": 6}
+3 {"1": 3} 1 {"1": 1}
+3 {"1": 3} 2 {"1": 2}
+3 {"1": 3} 3 {"1": 3}
+3 {"1": 3} 4 {"1": 4}
+3 {"1": 3} 5 {"1": 5}
+3 {"1": 3} 6 {"1": 6}
+4 {"1": 4} 1 {"1": 1}
+4 {"1": 4} 2 {"1": 2}
+4 {"1": 4} 3 {"1": 3}
+4 {"1": 4} 4 {"1": 4}
+4 {"1": 4} 5 {"1": 5}
+4 {"1": 4} 6 {"1": 6}
+5 {"1": 5} 1 {"1": 1}
+5 {"1": 5} 2 {"1": 2}
+5 {"1": 5} 3 {"1": 3}
+5 {"1": 5} 4 {"1": 4}
+5 {"1": 5} 5 {"1": 5}
+5 {"1": 5} 6 {"1": 6}
+6 {"1": 6} 1 {"1": 1}
+6 {"1": 6} 2 {"1": 2}
+6 {"1": 6} 3 {"1": 3}
+6 {"1": 6} 4 {"1": 4}
+6 {"1": 6} 5 {"1": 5}
+6 {"1": 6} 6 {"1": 6}
+EXPLAIN SELECT * FROM t1 as jj1,
+(SELECT tt2.* FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl) dt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE jj1 ALL NULL NULL NULL NULL 6
+1 SIMPLE tt2 ALL NULL NULL NULL NULL 6 Using join buffer (flat, BNL join)
+1 SIMPLE tbl ALL NULL NULL NULL NULL 40 Table function: json_table
+SELECT * FROM t1 as jj1,
+(SELECT tt2.* FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl STRAIGHT_JOIN
+t1 AS tt3) dt ORDER BY 1,3 LIMIT 10;
+id f1 id f1
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 1 {"1": 1}
+1 {"1": 1} 2 {"1": 2}
+1 {"1": 1} 2 {"1": 2}
+1 {"1": 1} 2 {"1": 2}
+1 {"1": 1} 2 {"1": 2}
+EXPLAIN SELECT * FROM t1 as jj1,
+(SELECT tt2.* FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl STRAIGHT_JOIN
+t1 AS tt3) dt ORDER BY 1,3 LIMIT 11;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE jj1 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort
+1 SIMPLE tt2 ALL NULL NULL NULL NULL 6 Using join buffer (flat, BNL join)
+1 SIMPLE tbl ALL NULL NULL NULL NULL 40 Table function: json_table
+1 SIMPLE tt3 ALL NULL NULL NULL NULL 6 Using join buffer (flat, BNL join)
+SELECT * FROM t1 WHERE id IN
+(SELECT id FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
+id f1
+1 {"1": 1}
+2 {"1": 2}
+3 {"1": 3}
+4 {"1": 4}
+5 {"1": 5}
+6 {"1": 6}
+EXPLAIN SELECT * FROM t1 WHERE id IN
+(SELECT id FROM t1 as tt2,
+JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 6
+1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
+2 MATERIALIZED tt2 ALL NULL NULL NULL NULL 6
+2 MATERIALIZED tbl ALL NULL NULL NULL NULL 40 Table function: json_table
+DROP TABLE t1;
+#
+# Bug#26760811: WL#8867: MEMORY LEAK REPORTED BY ASAN AND VALGRIND
+#
+CREATE TABLE t (j JSON);
+INSERT INTO t VALUES
+('[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]'),
+('[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]');
+SELECT COUNT(*) FROM t, JSON_TABLE(j, '$[*]' COLUMNS (i INT PATH '$')) AS jt;
+COUNT(*)
+34
+PREPARE ps FROM
+'SELECT COUNT(*) FROM t, JSON_TABLE(j, ''$[*]'' COLUMNS (i INT PATH ''$'')) AS jt';
+EXECUTE ps;
+COUNT(*)
+34
+EXECUTE ps;
+COUNT(*)
+34
+DROP PREPARE ps;
+DROP TABLE t;
+#
+# Bug #26781759: NON-UNIQUE ALIAS ERROR NOT BEING THROWN
+#
+SELECT * FROM JSON_TABLE(NULL, '$' COLUMNS(j1 FOR ORDINALITY)) AS jalias,
+JSON_TABLE(NULL, '$' COLUMNS(j1 FOR ORDINALITY)) AS jalias;
+ERROR 42000: Not unique table/alias: 'jalias'
+#
+# Bug#27152428 JSON_TABLE + PREPARED STATEMENT + VIEW HAS PROBLEM IN DURING RESOLUTION
+#
+CREATE TABLE t1 (a INT, b INT);
+CREATE VIEW v2 AS SELECT * FROM t1 LIMIT 2;
+DROP TABLE t1;
+DROP VIEW v2;
+#
+# Bug#27189940: CREATE VIEW FAILS ON JSON_TABLE() IN SCHEMA-LESS CONNECTIONS
+# BUG#27217897: JSON_TABLE() FAILS IF NO DATABASE SELECTED
+#
+connect conn1,localhost,root,,*NO-ONE*;
+connection conn1;
+CREATE VIEW test.v AS SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+num
+1
+2
+3
+connection default;
+disconnect conn1;
+use test;
+SHOW CREATE VIEW test.v;
+View Create View character_set_client collation_connection
+v CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `jt`.`num` AS `num` from JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (`num` int(11) PATH '$[0]')) `jt` latin1 latin1_swedish_ci
+SELECT * FROM test.v;
+num
+1
+2
+3
+DROP VIEW test.v;
+#
+# Bug#27729112 JSON_TABLE SHOULD DECODE BASE64-ENCODED STRINGS
+#
+SELECT v
+FROM JSON_TABLE(JSON_OBJECT('foo', _binary'bar'), '$'
+ COLUMNS(v VARCHAR(255) PATH '$.foo')) tbl;
+v
+bar
+#
+# Bug#28254268: JSON_TABLE() FUNCTION REJECTS SELECT PERMISSIONS
+#
+CREATE DATABASE db2;
+USE db2;
+CREATE TABLE t1 (c JSON);
+INSERT INTO t1 VALUES('[1,2,3]');
+CREATE USER user1@localhost;
+GRANT SELECT ON db2.t1 TO user1@localhost;
+connect conn1,localhost,user1,,;
+connection conn1;
+USE db2;
+SELECT t1.c FROM t1;
+c
+[1,2,3]
+SELECT jt.* FROM t1, JSON_TABLE(t1.c, '$[*]' COLUMNS (num INT PATH '$[0]'))
+AS jt;
+num
+1
+2
+3
+disconnect conn1;
+connection default;
+DROP USER user1@localhost;
+DROP DATABASE db2;
+#
+# Bug#27856835 JSON_TABLE RETURNS WRONG DATATYPE WHEN INT-VALUE IS GRATER
+# THAN (2^31-1)
+#
+SELECT id FROM JSON_TABLE('[{"id":"9223372036854775807"}]', '$[*]' COLUMNS
+(id BIGINT PATH '$.id')) AS json;
+id
+9223372036854775807
+# As we currently have no way of telling if a JSON string value is
+# signed or unsigned, this value will overflow.
+SELECT id FROM JSON_TABLE('[{"id":"9223372036854775808"}]', '$[*]' COLUMNS
+(id BIGINT PATH '$.id')) AS json;
+id
+9223372036854775807
+Warnings:
+Warning 1264 Out of range value for column 'id' at row 1
+# Here the JSON value is a NUMERIC value, and we thus know if the value
+# is signed or unsigned.
+SELECT id FROM JSON_TABLE('[{"id":9223372036854775808}]', '$[*]' COLUMNS
+(id BIGINT PATH '$.id')) AS json;
+id
+9223372036854775807
+Warnings:
+Warning 1264 Out of range value for column 'id' at row 1
+# If we tell the JSON table column to be unsigned, we get to store the
+# full value correctly.
+SELECT id FROM JSON_TABLE('[{"id":"9223372036854775808"}]', '$[*]' COLUMNS
+(id BIGINT UNSIGNED PATH '$.id')) AS json;
+id
+9223372036854775808
+SELECT id FROM JSON_TABLE('[{"id":"2147483648"}]', '$[*]' COLUMNS
+(id INT UNSIGNED PATH '$.id')) AS json;
+id
+2147483648
+# Check that we preserve the signedness of the columns.
+USE test;
+CREATE TABLE t1 AS SELECT id, value FROM
+JSON_TABLE('[{"id":9223372036854775808, "value":9223372036854775807}]',
+'$[*]' COLUMNS (id BIGINT UNSIGNED PATH '$.id',
+value BIGINT PATH '$.value'))
+AS json;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` bigint(20) unsigned DEFAULT NULL,
+ `value` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# Bug#28255453: VIEW USING JSON_TABLE FAILS IF NO SCHEMA IS SELECTED
+#
+connect conn1,localhost,root,,*NO-ONE*;
+CREATE VIEW test.v AS SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+SELECT * FROM test.v;
+num
+1
+2
+3
+DROP VIEW test.v;
+# Check that a user with access to the schema 'foo' can do a SELECT with
+# a JSON_TABLE function.
+CREATE SCHEMA foo;
+CREATE USER foo@localhost;
+GRANT EXECUTE ON foo.* TO foo@localhost;
+connect con1,localhost,foo,,foo;
+SELECT 1 FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$.a')) AS jt;
+1
+1
+1
+1
+connection default;
+disconnect con1;
+DROP USER foo@localhost;
+DROP SCHEMA foo;
+#
+# Bug#27923406 ERROR 1142 (42000) WHEN USING JSON_TABLE
+#
+CREATE SCHEMA my_schema;
+CREATE USER foo@localhost;
+GRANT EXECUTE ON my_schema.* TO foo@localhost;
+connect con1,localhost,foo,,my_schema;
+SELECT
+*
+FROM
+JSON_TABLE(
+'[{"x":2,"y":"8"},{"x":"3","y":"7"},{"x":"4","y":6}]',
+"$[*]" COLUMNS(
+xval VARCHAR(100) PATH "$.x",
+yval VARCHAR(100) PATH "$.y"
+ )
+) AS jt1;
+xval yval
+2 8
+3 7
+4 6
+connection default;
+disconnect con1;
+DROP USER foo@localhost;
+DROP SCHEMA my_schema;
+#
+# Bug#28538315: JSON_TABLE() COLUMN TYPES DON'T SUPPORT COLLATE CLAUSE
+#
+CREATE TABLE t1 SELECT *
+FROM JSON_TABLE('"test"', '$' COLUMNS(x VARCHAR(10)
+CHARSET utf8mb4
+PATH '$')) AS jt1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `x` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# Bug#28643862 JSON_TABLE'S "COLUMNS" CLAUSE USES
+# GLOBAL.CHARACTER_SET_RESULTS DEFAULT CHARSET
+#
+SET @@SESSION.character_set_connection = ascii;
+CREATE TABLE t1 SELECT a.col
+FROM JSON_TABLE('"test"', '$' COLUMNS(col VARCHAR(10) PATH '$')) AS a;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `col` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SET @@SESSION.collation_connection = latin1_bin;
+CREATE TABLE t2 SELECT a.col
+FROM JSON_TABLE('"test"', '$' COLUMNS(col VARCHAR(10) PATH '$')) AS a;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `col` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1, t2;
+SET @@SESSION.character_set_connection = DEFAULT;
+#
+# Bug#28851656: JSON_TABLE RETURN "UNKNOWN DATABASE ''" FROM A FUNCTION
+#
+CREATE FUNCTION FN_COUNT_ROWS(X JSON)
+RETURNS INT DETERMINISTIC
+RETURN (
+SELECT COUNT(*) FROM JSON_TABLE( X, '$[*]' COLUMNS( I INT PATH '$')) der
+);
+SELECT FN_COUNT_ROWS('[1, 2]') CNT;
+CNT
+2
+SELECT FN_COUNT_ROWS('[1, 2, 3]') CNT;
+CNT
+3
+SELECT FN_COUNT_ROWS('[1, 2, 3, 4]') CNT;
+CNT
+4
+DROP FUNCTION FN_COUNT_ROWS;
+#
+# Bug#30310265: VIEWS LOSE THE CHARACTER SET OF JSON_TABLE'S
+# PATH ARGUMENTS
+#
+CREATE VIEW v1 AS
+SELECT * FROM JSON_TABLE('{"Ã¥":{"Ã¥":1}}', '$.Ã¥' COLUMNS (x INT PATH '$.Ã¥')) t;
+SELECT * FROM v1;
+x
+1
+SET NAMES latin1;
+SELECT * FROM v1;
+x
+1
+SET NAMES DEFAULT;
+DROP VIEW v1;
+CREATE VIEW v2 AS
+SELECT * FROM JSON_TABLE('{}', '$' COLUMNS (
+x VARCHAR(10) PATH '$.a' DEFAULT '"isn''t here"' ON EMPTY)
+) t;
+DROP VIEW v2;
+#
+# Bug#30382156: STORED PROCEDURE, JSON_TABLE AND "CONST" JOIN TYPE
+#
+CREATE TABLE t (id INT PRIMARY KEY, j JSON);
+INSERT INTO t VALUES (1, '{"x":1}');
+CREATE PROCEDURE p()
+SELECT * FROM t, JSON_TABLE(j, '$' COLUMNS (x INT PATH '$.x')) jt
+WHERE id = 1;
+CALL p();
+id j x
+1 {"x":1} 1
+CALL p();
+id j x
+1 {"x":1} 1
+CALL p();
+id j x
+1 {"x":1} 1
+DROP PROCEDURE p;
+DROP TABLE t;
+#
+# WL#13512: Deprecate ON ERROR before ON EMPTY in JSON_TABLE syntax
+#
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x VARCHAR(10) PATH '$.x'
+ DEFAULT '"a"' ON ERROR DEFAULT '"b"' ON EMPTY)) jt;
+x
+"b"
+SELECT * FROM
+JSON_TABLE('{}', '$' COLUMNS (x VARCHAR(10) PATH '$.x'
+ NULL ON ERROR NULL ON EMPTY)) jt;
+x
+NULL
+SELECT * FROM
+JSON_TABLE('{"x":"c"}', '$' COLUMNS (x VARCHAR(10) PATH '$.x'
+ ERROR ON ERROR ERROR ON EMPTY)) jt;
+x
+c
+#
+# Bug#30628330: INSERT WITH JSON_TABLE FAILS DUE TO WARNING INVOKED
+# WITH ON ERROR CLAUSE
+#
+CREATE TABLE t(id INT, a TINYINT, b VARCHAR(3), c DATE, d DECIMAL);
+INSERT INTO t SELECT * FROM
+JSON_TABLE(JSON_ARRAY(JSON_OBJECT('a', 1, 'b', 'abc'),
+JSON_OBJECT('a', 2, 'b', 'abcd'),
+JSON_OBJECT('a', 1000, 'b', 'xyz'),
+JSON_OBJECT('c', TIME'12:00:00', 'd', 1e308)),
+'$[*]' COLUMNS (id FOR ORDINALITY,
+a TINYINT PATH '$.a' DEFAULT '111' ON ERROR,
+b VARCHAR(3) PATH '$.b' DEFAULT '"ERR"' ON ERROR,
+c DATE PATH '$.c' DEFAULT '"2001-01-01"' ON ERROR,
+d DECIMAL PATH '$.c' DEFAULT '999' ON ERROR)
+) AS jt;
+Warnings:
+Warning 1265 Data truncated for column 'b' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+Warning 1265 Data truncated for column 'd' at row 4
+SELECT * FROM t ORDER BY id;
+id a b c d
+1 1 abc NULL NULL
+2 2 abc NULL NULL
+3 127 xyz NULL NULL
+4 NULL NULL 2012-00-00 12
+DROP TABLE t;
+#
+# Bug#30263373: INCORRECT OUTPUT FROM TABLE_FUNCTION_JSON::PRINT()
+#
+CREATE VIEW v AS SELECT * FROM
+JSON_TABLE('[123]', '$[*]' COLUMNS (`name with space 1` INT PATH '$',
+`name with space 2` FOR ORDINALITY)) jt;
+SELECT * FROM v;
+name with space 1 name with space 2
+123 1
+DROP VIEW v;
+CREATE VIEW v AS SELECT HEX(x), HEX(y) FROM
+JSON_TABLE('["abc"]', '$[*]' COLUMNS (x BINARY(10) PATH '$',
+y VARBINARY(10) PATH '$')) jt;
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
+WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+VIEW_DEFINITION
+select hex(`jt`.`x`) AS `HEX(x)`,hex(`jt`.`y`) AS `HEX(y)` from JSON_TABLE('["abc"]', '$[*]' COLUMNS (`x` binary(10) PATH '$', `y` varbinary(10) PATH '$')) `jt`
+SELECT * FROM v;
+HEX(x) HEX(y)
+61626300000000000000 616263
+DROP VIEW v;
+CREATE VIEW v AS SELECT * FROM
+JSON_TABLE('[123]', '$[*]' COLUMNS(ti TINYINT PATH '$',
+si SMALLINT PATH '$',
+mi MEDIUMINT PATH '$',
+i INT PATH '$',
+bi BIGINT PATH '$',
+tiu TINYINT UNSIGNED PATH '$',
+siu SMALLINT UNSIGNED PATH '$',
+miu MEDIUMINT UNSIGNED PATH '$',
+iu INT UNSIGNED PATH '$',
+biu BIGINT UNSIGNED PATH '$')) jt;
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
+WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+VIEW_DEFINITION
+select `jt`.`ti` AS `ti`,`jt`.`si` AS `si`,`jt`.`mi` AS `mi`,`jt`.`i` AS `i`,`jt`.`bi` AS `bi`,`jt`.`tiu` AS `tiu`,`jt`.`siu` AS `siu`,`jt`.`miu` AS `miu`,`jt`.`iu` AS `iu`,`jt`.`biu` AS `biu` from JSON_TABLE('[123]', '$[*]' COLUMNS (`ti` tinyint(4) PATH '$', `si` smallint(6) PATH '$', `mi` mediumint(9) PATH '$', `i` int(11) PATH '$', `bi` bigint(20) PATH '$', `tiu` tinyint(3) unsigned PATH '$', `siu` smallint(5) unsigned PATH '$', `miu` mediumint(8) unsigned PATH '$', `iu` int(10) unsigned PATH '$', `biu` bigint(20) unsigned PATH '$')) `jt`
+SELECT * FROM v;
+ti si mi i bi tiu siu miu iu biu
+123 123 123 123 123 123 123 123 123 123
+DROP VIEW v;
+#
+# Bug#31345503 JSON_TABLE SHOULD RETURN SQL NULL FOR JSON NULL
+#
+SELECT *
+FROM
+JSON_TABLE(
+'[
+ {"c1": null,
+ "c2": [{"c": "c_val", "l": [1,2]}],
+ "c3": null},
+ {"c1": true,
+ "c2": [{"c": "c_val","l": [11]}, {"c": "c_val", "l": [false]}],
+ "c3": true},
+ {"c1": false,
+ "c2": [{"c": null,"l": [true]}, {"c": "c_val", "l": [null]}],
+ "c3": false}
+ ]',
+'$[*]' COLUMNS(
+top_ord FOR ORDINALITY,
+c1path VARCHAR(10) PATH '$.c1' ERROR ON ERROR,
+NESTED PATH '$.c2[*]' COLUMNS (
+c2path VARCHAR(10) PATH '$.c' ERROR ON ERROR,
+ord FOR ORDINALITY,
+NESTED PATH '$.l[*]' COLUMNS (lpath_c VARCHAR(10) PATH '$' ERROR ON ERROR,
+lpath_i INT PATH '$' ERROR ON ERROR)
+),
+c3path INT PATH '$.c3' ERROR ON ERROR
+)
+) as jt;
+top_ord c1path c2path ord lpath_c lpath_i c3path
+1 NULL c_val 1 1 1 NULL
+1 NULL c_val 1 2 2 NULL
+2 true c_val 1 11 11 1
+2 true c_val 2 false 0 1
+3 false NULL 1 true 1 0
+3 false c_val 2 NULL NULL 0
+#
+# Bug #31327187 UBSAN: JSON_TABLE: NULL POINTER PASSED AS ARGUMENT 2,
+# WHICH IS DECLARED TO NEVER BE NULL
+#
+SELECT HEX(a) FROM JSON_TABLE(
+'[{"E":{"e":true,"~":1,"S3":"sTa"},"r":3,"":6.7},"",6.5]',
+'$'
+ COLUMNS(a BINARY(5) PATH '$[1]' NULL ON EMPTY)
+) e;
+HEX(a)
+0000000000
diff --git a/mysql-test/suite/json/r/json_table_notembedded.result b/mysql-test/suite/json/r/json_table_notembedded.result
new file mode 100644
index 00000000000..e277a87999d
--- /dev/null
+++ b/mysql-test/suite/json/r/json_table_notembedded.result
@@ -0,0 +1,20 @@
+create database db;
+use db;
+create table t (a text);
+insert into t values ('{"foo":"bar"}');
+create user u@localhost;
+grant select (a) on db.t to u@localhost;
+connect con1,localhost,u,,db;
+select a from t;
+a
+{"foo":"bar"}
+select * from t, json_table(t.a, '$' columns(f varchar(20) path '$.foo')) as jt;
+a f
+{"foo":"bar"} bar
+select * into outfile 'f' from json_table('[]', '$' columns(x for ordinality)) q;
+ERROR 28000: Access denied for user 'u'@'localhost' (using password: NO)
+connection default;
+disconnect con1;
+drop user u@localhost;
+drop database db;
+use test;
diff --git a/mysql-test/suite/json/t/json_table.test b/mysql-test/suite/json/t/json_table.test
new file mode 100644
index 00000000000..dbb9f43ab17
--- /dev/null
+++ b/mysql-test/suite/json/t/json_table.test
@@ -0,0 +1,858 @@
+--source include/have_sequence.inc
+
+select * from json_table('[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]', '$[*]' COLUMNS( a INT PATH '$.a')) as tt;
+
+select * from JSON_TABLE( '[ {"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+SELECT * FROM JSON_TABLE( '[ {"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'), NESTED PATH '$.b[*]' COLUMNS (c INT PATH '$') ) ) jt;
+
+create table t1 (id varchar(5), json varchar(1024));
+insert into t1 values ('j1', '[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]');
+insert into t1 values ('j2', '[{"a": 3, "b": [11,111]}, {"a": 4, "b": [22,222]}, {"a": 5, "b": [22,222]}]');
+select id, json, a from t1, json_table(t1.json, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a')) as tt;
+select * from t1, JSON_TABLE(t1.json, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (l_js_id FOR ORDINALITY, b INT PATH '$'))) as jt;
+--error ER_BAD_FIELD_ERROR
+select * from t1, JSON_TABLE(t1.no_field, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (l_js_id FOR ORDINALITY, b INT PATH '$'))) as jt;
+
+--error ER_DUP_FIELDNAME
+select * from t1, JSON_TABLE(t1.no_field, '$[*]' COLUMNS(js_id FOR ORDINALITY, a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (l_js_id FOR ORDINALITY, a INT PATH '$'))) as jt;
+
+DROP TABLE t1;
+
+create table t1 (item_name varchar(32), item_props varchar(1024));
+insert into t1 values ('Laptop', '{"color": "black", "price": 1000}');
+insert into t1 values ('Jeans', '{"color": "blue", "price": 50}');
+
+select * from t1 left join json_table(t1.item_props,'$' columns( color varchar(100) path '$.color')) as T on 1;
+
+--error ER_BAD_FIELD_ERROR
+select * from t1 right join json_table(t1.item_props,'$' columns( color varchar(100) path '$.color')) as T on 1;
+
+DROP TABLE t1;
+
+select * from JSON_TABLE( '[ {"xa": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+select * from JSON_TABLE( '[ {"xa": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '202' on error, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+select * from JSON_TABLE( '[ {"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+select * from JSON_TABLE( '[ {"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' default '202' on error default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+--error ER_JSON_SYNTAX
+select * from JSON_TABLE( '[{"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3} xx YY]', '$[*]' COLUMNS( a INT PATH '$.a' default '202' on error default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+--error ER_JSON_TABLE_SCALAR_EXPECTED
+select * from JSON_TABLE( '[{"a": [1, 2], "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS( a INT PATH '$.a' error on error default '101' on empty, NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) as jt;
+
+#
+# MDEV-22290 JSON_TABLE: Decimal type with M equal D causes Assertion
+# `scale <= precision' failure
+#
+select * from json_table('{"a":0}',"$" columns(a decimal(1,1) path '$.a')) foo;
+
+
+#
+# MDEV-22291 JSON_TABLE: SELECT from json_table does not work without default database
+#
+connect (con1,localhost,root,,);
+select a from json_table('{"a":0}',"$" columns(a for ordinality)) foo;
+connection default;
+disconnect con1;
+
+create table t1 (
+ color varchar(32),
+ price int
+ );
+insert into t1 values ("red", 100), ("blue", 50);
+insert into t1 select * from t1;
+insert into t1 select * from t1;
+
+set @save_optimizer_switch=@@optimizer_switch;
+set optimizer_switch='firstmatch=off';
+select * from
+ json_table('[{"color": "blue", "price": 50},
+ {"color": "red", "price": 100}]',
+ '$[*]' columns( color varchar(100) path '$.color',
+ price text path '$.price'
+ )
+ ) as T
+ where
+ T.color in (select color from t1 where t1.price=T.price);
+set @@optimizer_switch=@save_optimizer_switch;
+
+drop table t1;
+
+select * from
+json_table(' [ {"color": "blue", "sizes": [1,2,3,4], "prices" : [10,20]},
+ {"color": "red", "sizes": [10,11,12,13,14], "prices" : [100,200,300]} ]',
+ '$[*]' columns(
+ color varchar(4) path '$.color',
+ seq0 for ordinality,
+ nested path '$.sizes[*]'
+ columns (seq1 for ordinality,
+ size int path '$'),
+ nested path '$.prices[*]'
+ columns (seq2 for ordinality,
+ price int path '$')
+ )
+ ) as T;
+
+
+select * from json_table('[{"color": "blue", "price": 50},
+ {"color": "red", "price": 100},
+ {"color": "rojo", "price": 10.0},
+ {"color": "blanco", "price": 11.0}]',
+ '$[*]' columns( color varchar(100) path '$.color',
+ price text path '$.price', seq for ordinality)) as T order by color desc;
+
+create view v as select * from json_table('{"as":"b", "x":123}',"$" columns(a varchar(8) path '$.a' default '-' on empty, x int path '$.x')) x;
+select * from v;
+show create table v;
+drop view v;
+
+--error ER_PARSE_ERROR
+select * from json_table('{"as":"b", "x":123}',
+ "$" columns(a varchar(8) path '$.a' default '-' on empty null on error null on empty, x int path '$.x')) x;
+
+select * from json_table('{"a":"foo","b":"bar"}', '$'
+ columns (v varchar(20) path '$.*')) as jt;
+
+select * from json_table('{"a":"foo","b":"bar"}', '$'
+ columns (v varchar(20) path '$.*' default '-' on error)) as jt;
+
+select * from json_table('{"b":"bar"}', '$'
+ columns (v varchar(20) path '$.*' default '-' on error)) as jt;
+
+create table t1 (a varchar(100));
+insert into t1 values ('1');
+--error ER_NONUNIQ_TABLE
+select * from t1 as T, json_table(T.a, '$[*]' columns(color varchar(100) path '$.nonexistent', seq for ordinality)) as T;
+
+drop table t1;
+
+prepare s from 'select * from
+json_table(?,
+ \'$[*]\' columns( color varchar(100) path \'$.color\',
+ price text path \'$.price\',
+ seq for ordinality)) as T
+order by color desc; ';
+
+execute s using '[{"color": "red", "price":1}, {"color":"brown", "price":2}]';
+deallocate prepare s;
+
+create view v2 as select * from json_table('[{"co\\\\lor": "blue", "price": 50}]', '$[*]' columns( color varchar(100) path '$.co\\\\lor') ) as T;
+select * from v2;
+drop view v2;
+
+explain format=json select * from
+ json_table('[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]', '$[*]' COLUMNS( a INT PATH '$.a')) as tt;
+explain select * from
+ json_table('[{"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}]', '$[*]' COLUMNS( a INT PATH '$.a')) as tt;
+
+create view v1 as select * from
+ json_table('[{"color": "blue", "price": 50}]',
+ '$[*]' columns(color text path '$.nonexistent',
+ seq for ordinality)) as `ALIAS NOT QUOTED`;
+select * from v1;
+drop view v1;
+create view v1 as select * from
+ json_table('[{"color": "blue", "price": 50},
+ {"color": "red", "price": 100}]',
+ '$[*]' columns(
+ color text path "$.QUOTES \" HERE \"",
+ color1 text path '$.QUOTES " HERE "',
+ color2 text path "$.QUOTES ' HERE '",
+ seq for ordinality)) as T;
+select * from v1;
+drop view v1;
+
+CREATE TABLE t1 (x INT);
+INSERT INTO t1 VALUES (1), (2), (3);
+--error ER_BAD_FIELD_ERROR
+SELECT t1.x*2 m, jt.* FROM t1,
+ JSON_TABLE(m, '$[*]' COLUMNS (i INT PATH '$')) jt;
+DROP TABLE t1;
+
+--error ER_BAD_FIELD_ERROR
+select *
+from
+ json_table(JS3.size, '$' columns (size INT PATH '$.size')) as JS1,
+ json_table(JS1.size, '$' columns (size INT PATH '$.size')) as JS2,
+ json_table(JS1.size, '$' columns (size INT PATH '$.size')) as JS3 where 1;
+
+create table t1 (json varchar(100) character set utf8);
+insert into t1 values ('{"value":"ÐБВ"}');
+create table tj1 as
+select T.value
+ from t1, json_table(t1.json, '$' columns (value varchar(32) PATH '$.value')) T;
+show create table tj1;
+drop table t1;
+drop table tj1;
+
+CREATE TABLE t1(id INT, f1 JSON);
+INSERT INTO t1 VALUES
+ (1, '{\"1\": 1}'),
+ (2, '{\"1\": 2}'),
+ (3, '{\"1\": 3}'),
+ (4, '{\"1\": 4}'),
+ (5, '{\"1\": 5}'),
+ (6, '{\"1\": 6}');
+ANALYZE TABLE t1;
+
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM JSON_TABLE(tt3.f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl STRAIGHT_JOIN t1 AS tt3;
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 as jj1,
+ (SELECT tt2.*
+ FROM
+ t1 as tt2,
+ JSON_TABLE(tt3.f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl
+ STRAIGHT_JOIN
+ t1 AS tt3
+ ) dt
+ORDER BY 1,3 LIMIT 10;
+
+drop table t1;
+
+select collation(x) from
+ JSON_TABLE('["abc"]', '$[*]' COLUMNS (x VARCHAR(10) CHARSET latin1 PATH '$')) tbl;
+
+SELECT * FROM JSON_TABLE('{"x":1, "y":2}', _utf8mb4'$' COLUMNS (NESTED PATH _utf8mb4'$.x'
+ COLUMNS(y INT PATH _utf8mb4'$.y' DEFAULT _utf8mb4'1' ON EMPTY DEFAULT _utf8mb4'2' ON ERROR))) jt;
+
+select * from json_table(
+'{"name":"t-shirt", "colors": ["yellow", "blue"],"sizes": ["small", "medium", "large"]}',
+ '$' columns(name varchar(32) path '$.name',
+ nested path '$.colors[*]' columns (
+ color varchar(32) path '$',
+ nested path '$.sizes[*]' columns (
+ size varchar(32) path '$'
+)))) as t;
+
+SELECT x, length(x) FROM
+ JSON_TABLE('{}', '$' COLUMNS (x VARCHAR(10) PATH '$.x' DEFAULT 'abcdefg' ON EMPTY)) jt;
+
+# check how conversion works for JSON NULL, TRUE and FALSE
+
+select * from
+ json_table('[{"a":"aa"}, {"b":null}]', '$[*]'
+ columns (col1 int path '$.b' default '456' on empty)) as tt;
+
+select * from
+ json_table('[{"a":"aa"}, {"b":true}]', '$[*]'
+ columns (col1 int path '$.b' default '456' on empty)) as tt;
+
+select * from
+ json_table('[{"a":"aa"}, {"b":false}]', '$[*]'
+ columns (col1 int path '$.b' default '456' on empty)) as tt;
+
+select * from
+ json_table('[{"a":"aa"}, {"b":null}]', '$[*]'
+ columns (col1 varchar(100) path '$.b' default '456' on empty)) as tt;
+
+select * from
+ json_table('[{"a":"aa"}, {"b":true}]', '$[*]'
+ columns (col1 varchar(100) path '$.b' default '456' on empty)) as tt;
+
+select * from
+ json_table('[{"a":"aa"}, {"b":false}]', '$[*]'
+ columns (col1 varchar(100) path '$.b' default '456' on empty)) as tt;
+
+
+select * from
+ json_table( '[{"a":"asd"}, {"a":123}, {"a":[]}, {"a":{}} ]', '$[*]'
+ columns (id for ordinality,
+ intcol int path '$.a' default '1234' on empty default '5678' on error)
+ ) as tt;
+
+SELECT COUNT(*) FROM JSON_TABLE('[1, 2]', '$[*]' COLUMNS( I INT PATH '$')) tt;
+
+create table t1 (a int);
+insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t2 (js json, b int);
+insert into t2 select '[1,2,3]',A.a from t1 A, t1 B;
+
+explain select * from t1,
+ (select * from t2, json_table(t2.js, '$[*]' columns (o for ordinality)) as jt) as TT2
+ where 1;
+
+drop table t1, t2;
+
+CREATE TABLE t1 (x INT);
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (j JSON);
+INSERT INTO t2 (j) VALUES ('[1,2,3]');
+--sorted_result
+SELECT * FROM t1 RIGHT JOIN
+ (SELECT o FROM t2, JSON_TABLE(j, '$[*]' COLUMNS (o FOR ORDINALITY)) AS jt) AS t3 ON (t3.o = t1.x);
+DROP TABLE t1, t2;
+
+create table t20 (a int not null);
+create table t21 (a int not null primary key, js varchar(100));
+insert into t20 values (1),(2);
+insert into t21 values (1, '{"a":100}');
+
+explain select t20.a, jt1.ab
+ from t20 left join t21 on t20.a=t21.a
+ join JSON_TABLE(t21.js,'$' COLUMNS (ab INT PATH '$.a')) AS jt1;
+
+drop table t20, t21;
+
+select * from
+json_table(
+'[
+ {"name": "X",
+ "colors":["blue"], "sizes": [1,2,3,4], "prices" : [10,20]},
+ {"name": "Y",
+ "colors":["red"], "sizes": [10,11], "prices" : [100,200,300]}
+]',
+'$[*]' columns
+(
+ seq0 for ordinality,
+ name varchar(4) path '$.name',
+ nested path '$.colors[*]' columns (
+ seq1 for ordinality,
+ color text path '$'
+ ),
+ nested path '$.sizes[*]' columns (
+ seq2 for ordinality,
+ size int path '$'
+ ),
+ nested path '$.prices[*]' columns (
+ seq3 for ordinality,
+ price int path '$'
+ )
+)
+) as T order by seq0, name;
+
+# MDEV-25140 Success of query execution depends on the outcome of previous queries.
+--error ER_JSON_TABLE_ALIAS_REQUIRED
+select * from json_table('[]', '$' COLUMNS(x FOR ORDINALITY));
+select min(x) from json_table('[]', '$' COLUMNS(x FOR ORDINALITY)) a;
+
+--echo #
+--echo # Test for the problem with
+--echo # - Cross-outer-join dependency
+--echo # - dead-end join prefix
+--echo # - join order pruning
+--echo #
+
+create table t20 (a int not null);
+create table t21 (a int not null primary key, js varchar(100));
+
+insert into t20 select seq from seq_1_to_100;
+insert into t21 select a, '{"a":100}' from t20;
+
+create table t31(a int);
+create table t32(b int);
+insert into t31 values (1);
+insert into t32 values (1);
+
+explain
+select
+ t20.a, jt1.ab
+from
+ t20
+ left join t21 on t20.a=t21.a
+ join
+ (t31 left join (t32 join JSON_TABLE(t21.js,'$' COLUMNS (ab INT PATH '$.a')) AS jt1) on t31.a<3);
+
+drop table t20,t21,t31,t32;
+
+--echo #
+--echo # MDEV-25142: JSON_TABLE: CREATE VIEW involving EXISTS PATH ends up with invalid frm
+--echo #
+--disable_warnings
+drop view if exists v1;
+--enable_warnings
+
+CREATE VIEW v1 AS SELECT * FROM JSON_TABLE('[]', '$' COLUMNS (f INT EXISTS PATH '$')) a ;
+show create view v1;
+drop view v1;
+
+--echo #
+--echo # MDEV-25145: JSON_TABLE: Assertion `fixed == 1' failed in Item_load_file::val_str on 2nd execution of PS
+--echo #
+PREPARE stmt FROM "SELECT * FROM (SELECT * FROM JSON_TABLE(LOAD_FILE('x'), '$' COLUMNS (a FOR ORDINALITY)) AS t) AS sq";
+EXECUTE stmt;
+EXECUTE stmt;
+
+--echo #
+--echo # MDEV-JSON_TABLE: Server crashes in handler::print_error / hton_name upon ERROR ON EMPTY
+--echo #
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+SELECT a, b FROM JSON_TABLE('[]', '$' COLUMNS (a FOR ORDINALITY, b INT PATH '$[*]' ERROR ON EMPTY)) AS t ORDER BY a;
+
+--echo #
+--echo # MDEV-25151 JSON_TABLE: Unexpectedly padded values in a PATH column.
+--echo #
+SET @old_character_set_connection= @@character_set_connection;
+SET @@character_set_connection= utf8;
+select hex(a), b from json_table('["foo","bar"]','$[*]' columns (a char(3) path '$', b for ordinality)) t;
+SET @@character_set_connection= @old_character_set_connection;
+
+--echo #
+--echo # MDEV-25183 JSON_TABLE: CREATE VIEW involving NESTED PATH ends up with invalid frm
+--echo #
+CREATE VIEW v AS SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(NESTED PATH '$**.*' COLUMNS(a FOR ORDINALITY), b VARCHAR(8) PATH '$')) AS jt;
+SHOW CREATE VIEW v;
+SELECT * FROM v;
+DROP VIEW v;
+
+--echo #
+--echo # MDEV-25178 JSON_TABLE: ASAN use-after-poison in my_fill_8bit / Json_table_column::On_response::respond
+--echo #
+SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(a CHAR(100) PATH '$' DEFAULT "0" ON ERROR)) AS jt;
+
+--echo #
+--echo # MDEV-25188 JSON_TABLE: ASAN use-after-poison in Field_long::reset / Table_function_json_table::setup or malloc(): invalid size.
+--echo #
+SELECT * FROM JSON_TABLE(CONVERT('{"x":1}' USING utf8mb4), '$' COLUMNS(a INT PATH '$', b CHAR(64) PATH '$.*', c INT EXISTS PATH '$**.*')) AS jt;
+
+--echo #
+--echo # 25192 JSON_TABLE: ASAN use-after-poison in field_conv_memcpy / Create_tmp_table::finalize upon query with derived table.
+--echo #
+SET NAMES utf8;
+SELECT * FROM ( SELECT * FROM JSON_TABLE('{}', '$' COLUMNS( a BINARY(12) PATH '$.*', b VARCHAR(40) PATH '$[*]', c VARCHAR(8) PATH '$**.*')) AS jt ) AS sq;
+SET NAMES default;
+
+--echo #
+--echo # MDEV-25189 JSON_TABLE: Assertion `l_offset >= 0 && table->s->rec_buff_length - l_offset > 0' failed upon CREATE .. SELECT.
+--echo #
+SET NAMES utf8;
+CREATE TABLE t1 AS SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(a CHAR(16) PATH '$.*', b TIMESTAMP PATH '$**.*')) AS jt;
+DROP TABLE t1;
+SET NAMES default;
+
+
+--echo #
+--echo # MDEV-25230 SON_TABLE: CREATE VIEW with 2nd level NESTED PATH ends up with invalid frm, Assertion `m_status == DA_ERROR || m_status == DA_OK || m_status == DA_OK_BULK' failed.
+--echo #
+
+CREATE VIEW v AS SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(NESTED PATH '$' COLUMNS(NESTED PATH '$.*' COLUMNS(o FOR ORDINALITY)))) AS jt;
+SELECT * FROM v;
+SHOW CREATE VIEW v;
+DROP VIEW v;
+
+--echo #
+--echo # MDEV-25229 JSON_TABLE: Server crashes in hton_name upon MATCH .. AGAINST.
+--echo #
+
+--error ER_TABLE_CANT_HANDLE_FT
+SELECT val, MATCH(val) AGAINST( 'MariaDB') FROM JSON_TABLE('{"db":"xx"}', '$' COLUMNS(val VARCHAR(32) PATH '$**.*')) AS jt;
+
+--echo #
+--echo # MDEV-25138 JSON_TABLE: A space between JSON_TABLE and opening bracket causes syntax error
+--echo #
+select * from json_table ('{}', '$' COLUMNS(x FOR ORDINALITY)) a;
+create table json_table(id int);
+insert into json_table values (1), (2), (3);
+select * from json_table;
+drop table json_table;
+
+--echo #
+--echo # MDEV-25146 JSON_TABLE: Non-descriptive + wrong error messages upon trying to store array or object.
+--echo #
+--error ER_JSON_TABLE_SCALAR_EXPECTED
+select a from json_table('[[]]', '$' columns(a char(8) path '$' error on error)) t;
+show warnings;
+
+--echo #
+--echo # MDEV-JSON_TABLE: CREATE TABLE ignores NULL ON ERROR (implicit or explicit) and fails.
+--echo #
+CREATE TABLE t1 AS SELECT * FROM JSON_TABLE('{"x":1}', '$' COLUMNS(f DATE PATH '$.*')) AS jt;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # MDEV-25254: JSON_TABLE: Inconsistent name resolution with right joins
+--echo #
+CREATE TABLE t1 (a INT);
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.a,'$' COLUMNS(o FOR ORDINALITY)) jt ON TRUE;
+
+--error ER_BAD_FIELD_ERROR
+CREATE VIEW v AS
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.a,'$' COLUMNS(o FOR ORDINALITY)) jt ON TRUE;
+
+insert into t1 values (1),(2),(3);
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.a,'$' COLUMNS(o FOR ORDINALITY)) jt ON TRUE;
+
+drop table t1;
+--echo #
+--echo # MDEV-25202: JSON_TABLE: Early table reference leads to unexpected result set, server crash
+--echo #
+CREATE TABLE t1 (o INT);
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (a INT);
+INSERT INTO t2 VALUES (3),(4);
+
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM JSON_TABLE(a, '$' COLUMNS(o FOR ORDINALITY)) AS jt1 NATURAL JOIN t1 JOIN t2;
+
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM JSON_TABLE(a, '$' COLUMNS(o FOR ORDINALITY)) AS jt1 NATURAL JOIN t1 STRAIGHT_JOIN t2;
+
+drop table t1,t2;
+
+--echo # Now, try a JSON_TABLE that has a subquery that has an outside reference:
+
+create table t1(a int, js varchar(32));
+
+create table t2(a varchar(100));
+insert into t2 values('');
+
+# First, without subquery:
+explain
+select *
+from
+ t1 left join
+ json_table(concat('',js),
+ '$' columns ( color varchar(32) path '$.color')
+ ) as JT on 1;
+
+--error ER_BAD_FIELD_ERROR
+explain
+select *
+from
+ t1 right join
+ json_table(concat('',js),
+ '$' columns ( color varchar(32) path '$.color')
+ ) as JT on 1;
+
+# Now, with subquery:
+explain
+select *
+from
+ t1 left join
+ json_table((select concat(a,js) from t2),
+ '$' columns ( color varchar(32) path '$.color')
+ ) as JT on 1;
+
+--error ER_BAD_FIELD_ERROR
+explain
+select *
+from
+ t1 right join
+ json_table((select concat(a,js) from t2),
+ '$' columns ( color varchar(32) path '$.color')
+ ) as JT on 1;
+
+drop table t1,t2;
+
+--echo #
+--echo # Now, a testcase with JSON_TABLEs inside NATURAL JOIN
+--echo #
+
+create table t1 (a int, b int);
+create table t2 (a int, c int);
+
+--error ER_BAD_FIELD_ERROR
+select * from
+ t1,
+ ( t2
+ natural join
+ (
+ json_table(JT2.d, '$' COLUMNS (d for ordinality)) as JT
+ natural join
+ json_table(JT.d, '$' COLUMNS (d for ordinality)) as JT2
+ )
+ );
+
+drop table t1, t2;
+
+--echo #
+--echo # MDEV-25352: JSON_TABLE: Inconsistent name resolution and ER_VIEW_INVALID ...
+--echo # (Just the testcase)
+--echo #
+
+CREATE TABLE t1 (a INT, b VARCHAR(8));
+INSERT INTO t1 VALUES (1,'{}'),(2,'[]');
+
+CREATE TABLE t2 (a INT);
+INSERT INTO t2 VALUES (2),(3);
+
+--error ER_BAD_FIELD_ERROR
+SELECT t1.*
+FROM
+ t1 NATURAL JOIN t2
+ RIGHT JOIN
+ JSON_TABLE (t1.b, '$' COLUMNS(o FOR ORDINALITY)) AS jt ON (t1.a = jt.o)
+WHERE t1.a = 1;
+
+--error ER_BAD_FIELD_ERROR
+CREATE OR REPLACE VIEW v AS
+SELECT t1.* FROM t1 NATURAL JOIN t2 RIGHT JOIN JSON_TABLE (t1.b, '$' COLUMNS(o FOR ORDINALITY)) AS jt ON (t1.a = jt.o) WHERE t1.a = 1;
+
+drop table t1,t2;
+
+--echo #
+--echo # MDEV-25256: JSON_TABLE: Error ER_VIEW_INVALID upon running query via view
+--echo #
+
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM
+JSON_TABLE('[]', '$' COLUMNS(a TEXT PATH '$[*]')) AS jt1
+ RIGHT JOIN JSON_TABLE(jt1.a, '$' COLUMNS(o2 FOR ORDINALITY)) AS jt2
+ ON(1)
+ RIGHT JOIN JSON_TABLE('[]', '$' COLUMNS(o3 FOR ORDINALITY)) AS jt3
+ ON(1)
+WHERE 0;
+
+--echo #
+--echo # MDEV-25346: JSON_TABLE: Server crashes in Item_field::fix_outer_field upon subquery with unknown column
+--echo #
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (b INT);
+
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM ( SELECT * FROM t1 JOIN t2 ON (b IN(SELECT x FROM (SELECT 1 AS c) AS sq1))) AS sq2;
+
+DROP TABLE t1, t2;
+
+--echo #
+--echo # Another testcase
+--echo #
+create table t1 (item_name varchar(32), item_props varchar(1024));
+insert into t1 values ('Jeans', '{"color": ["green", "brown"], "price": 50}');
+insert into t1 values ('Shirt', '{"color": ["blue", "white"], "price": 20}');
+insert into t1 values ('Jeans', '{"color": ["black"], "price": 60}');
+insert into t1 values ('Jeans', '{"color": ["gray"], "price": 60}');
+insert into t1 values ('Laptop', '{"color": ["black"], "price": 1000}');
+insert into t1 values ('Shirt', '{"color": ["black"], "price": 20}');
+
+select
+ t.item_name,
+ jt.*
+from
+ (select
+ t1.item_name,
+ concat(
+ concat(
+ concat(
+ "{\"color\": ",
+ concat(
+ concat("[\"",
+ group_concat( jt.color separator "\", \"")
+ ),
+ "\"]")
+ ),','
+ ),
+ concat(concat("\"price\": ",jt.price),'}')
+ ) as item_props
+ from
+ t1,
+ json_table(
+ t1.item_props,
+ '$' columns (
+ nested path '$.color[*]' columns (color varchar(32) path '$'),
+ price int path '$.price')
+ ) as jt
+ group by
+ t1.item_name, jt.price
+ ) as t,
+
+ json_table(t.item_props,
+ '$' columns (
+ nested path '$.color[*]' columns (color varchar(32) path '$'),
+ price int path '$.price')
+ ) as jt
+order by
+ t.item_name, jt.price, jt.color;
+
+drop table t1;
+
+--echo #
+--echo # MDEV-25380: JSON_TABLE: Assertion `join->best_read < double(1.797...) fails
+--echo #
+
+CREATE TABLE t1 (a INT, b TEXT);
+INSERT INTO t1 VALUES (1,'{}'),(2,'[]');
+
+explain
+SELECT *
+FROM t1
+WHERE
+ EXISTS(SELECT *
+ FROM JSON_TABLE(b, '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ WHERE jt.o = t1.a);
+
+drop table t1;
+
+--echo #
+--echo # MDEV-25381: JSON_TABLE: ER_WRONG_OUTER_JOIN upon query with LEFT and RIGHT joins and view
+--echo #
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (b INT, c TEXT);
+INSERT INTO t2 VALUES (1,'{}'),(2,'[]');
+CREATE VIEW v2 AS SELECT * FROM t2;
+
+SELECT *
+FROM
+ t1 RIGHT JOIN
+ t2 AS tt
+ LEFT JOIN
+ JSON_TABLE(tt.c, '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ ON tt.b = jt.o
+ ON t1.a = tt.b;
+
+SELECT *
+FROM
+ t1 RIGHT JOIN
+ v2 AS tt
+ LEFT JOIN
+ JSON_TABLE(tt.c, '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ ON tt.b = jt.o
+ ON t1.a = tt.b;
+
+SELECT *
+FROM
+ t1 RIGHT JOIN
+ v2 AS tt
+ LEFT JOIN
+ JSON_TABLE(CONCAT(tt.c,''), '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ ON tt.b = jt.o
+ ON t1.a = tt.b;
+
+prepare s from
+"SELECT *
+FROM
+ t1 RIGHT JOIN
+ v2 AS tt
+ LEFT JOIN
+ JSON_TABLE(CONCAT(tt.c,''), '$' COLUMNS(o FOR ORDINALITY)) AS jt
+ ON tt.b = jt.o
+ ON t1.a = tt.b";
+execute s;
+execute s;
+
+
+DROP VIEW v2;
+DROP TABLE t1, t2;
+
+--echo #
+--echo # MDEV-25259 JSON_TABLE: Illegal mix of collations upon executing query with combination of charsets via view.
+--echo #
+
+CREATE VIEW v AS
+ SELECT * FROM JSON_TABLE(CONVERT('[]' USING dec8),
+ '$' COLUMNS(b VARCHAR(8) CHARSET utf8 PATH '$')) AS jt2
+ WHERE (CONVERT('[]' USING cp1256) = b);
+
+SELECT * FROM v;
+
+DROP VIEW v;
+
+--echo #
+--echo # MDEV-25397: JSON_TABLE: Unexpected ER_MIX_OF_GROUP_FUNC_AND_FIELDS upon query with JOIN
+--echo #
+set @save_sql_mode= @@sql_mode;
+SET sql_mode='ONLY_FULL_GROUP_BY';
+CREATE TABLE t1 (a TEXT);
+SELECT SUM(o) FROM t1 JOIN JSON_TABLE(t1.a, '$' COLUMNS(o FOR ORDINALITY)) jt;
+
+set sql_mode=@save_sql_mode;
+drop table t1;
+
+--echo #
+--echo # MDEV-25379 JSON_TABLE: ERROR ON clauses are ignored if a column is not on select list.
+--echo #
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+SELECT * FROM JSON_TABLE ('{}', '$' COLUMNS(a INT PATH '$.*' ERROR ON EMPTY, o FOR ORDINALITY)) AS jt;
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+SELECT o FROM JSON_TABLE ('{}', '$' COLUMNS(a INT PATH '$.*' ERROR ON EMPTY, o FOR ORDINALITY)) AS jt;
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+SELECT COUNT(*) FROM JSON_TABLE ('{}', '$' COLUMNS(a INT PATH '$.*' ERROR ON EMPTY, o FOR ORDINALITY)) AS jt;
+
+
+--echo #
+--echo # MDEV-25408 JSON_TABLE: AddressSanitizer CHECK failed in Binary_string::realloc_raw.
+--echo #
+SELECT x, COUNT(*) FROM JSON_TABLE( '{}', '$' COLUMNS(
+ a BIT(14) PATH '$', b CHAR(16) PATH '$', c INT PATH '$[0]', d INT PATH '$[1]', e INT PATH '$[2]',
+ f INT PATH '$[3]', g INT PATH '$[4]', h INT PATH '$[5]', i INT PATH '$[6]', j INT PATH '$[7]',
+ x TEXT PATH '$[9]')) AS jt GROUP BY x;
+
+--echo #
+--echo # MDEV-25408 JSON_TABLE: AddressSanitizer CHECK failed in Binary_string::realloc_raw.
+--echo #
+SELECT * FROM JSON_TABLE('{}', '$' COLUMNS(
+ a TEXT EXISTS PATH '$', b VARCHAR(40) PATH '$', c BIT(60) PATH '$', d VARCHAR(60) PATH '$', e BIT(62) PATH '$',
+ f FOR ORDINALITY, g INT PATH '$', h VARCHAR(36) PATH '$', i DATE PATH '$', j CHAR(4) PATH '$'
+ )) AS jt;
+
+--echo #
+--echo # MDEV-25373 JSON_TABLE: Illegal mix of collations upon executing PS once, or SP/function twice.
+--echo #
+SELECT * FROM JSON_TABLE (CONVERT('[1,2]' USING koi8u), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt1 NATURAL JOIN JSON_TABLE (CONVERT('[2,3]' USING eucjpms), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt2;
+
+PREPARE stmt1 FROM "
+SELECT * FROM JSON_TABLE (CONVERT('[1,2]' USING koi8u), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt1 NATURAL JOIN JSON_TABLE (CONVERT('[2,3]' USING eucjpms), '$[*]' COLUMNS(a CHAR(8) PATH '$')) AS jt2;
+";
+EXECUTE stmt1;
+DEALLOCATE PREPARE stmt1;
+
+--echo #
+--echo # MDEV-25149 JSON_TABLE: Inconsistency in implicit data type conversion.
+--echo #
+select * from json_table( '[{"a":"asd"}, {"a":123}, {"a":[]}, {"a":{}} ]', '$[*]'
+ columns ( id for ordinality,
+ intcol int path '$.a' default '1234' on empty default '5678' on error)
+ ) as tt;
+
+--echo #
+--echo # MDEV-25377 JSON_TABLE: Wrong value with implicit conversion.
+--echo #
+select * from json_table('{"a":"foo", "b":1, "c":1000}', '$.*' columns(converted tinyint path '$', original text path '$')) as jt;
+
+select * from json_table('{"a":"foo", "b":1, "c":1000}', '$.*' columns(converted tinyint path '$', original text path '$')) as jt order by converted;
+
+select * from json_table('{"a":"foo", "b":1, "c":1000}', '$.*' columns(converted tinyint path '$', original text path '$')) as jt order by original;
+
+--echo #
+--echo # MDEV-27696 Json table columns accept redundant COLLATE syntax
+--echo #
+
+--error ER_PARSE_ERROR
+SELECT * FROM json_table('[{"name":"str"}]', '$[*]'
+ COLUMNS (
+ name BLOB COLLATE `binary` PATH '$.name'
+ )
+) AS jt;
+
+
+--error ER_PARSE_ERROR
+SELECT * FROM json_table('[{"name":"str"}]', '$[*]'
+ COLUMNS (
+ name VARCHAR(10) COLLATE latin1_bin COLLATE latin1_swedish_ci PATH '$.name'
+ )
+) AS jt;
+
+
+--error ER_PARSE_ERROR
+SELECT * FROM json_table('[{"name":"str"}]', '$[*]'
+ COLUMNS (
+ name VARCHAR(10) BINARY COLLATE utf8_czech_ci path '$.name'
+ )
+) AS jt;
+
+
+--echo #
+--echo # MDEV-27690 Crash on `CHARACTER SET csname COLLATE DEFAULT` in column definition
+--echo #
+
+SELECT * FROM json_table('[{"name":"Jeans"}]', '$[*]'
+ COLUMNS(
+ name VARCHAR(10) CHARACTER SET latin1 COLLATE DEFAULT PATH '$.name'
+ )
+) AS jt;
+
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/suite/json/t/json_table_binlog.test b/mysql-test/suite/json/t/json_table_binlog.test
new file mode 100644
index 00000000000..dcc05fb855d
--- /dev/null
+++ b/mysql-test/suite/json/t/json_table_binlog.test
@@ -0,0 +1,25 @@
+--source include/have_binlog_format_mixed.inc
+
+--echo #
+--echo # MDEV-25154: JSON_TABLE: Queries involving ordinality columns are unsafe for statement binlog and should be marked as such
+--echo #
+
+create table t1 (a int);
+
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+set binlog_format='statement';
+insert into t1
+select *
+from json_table('[1,2,3]', '$[*]' columns (a for ordinality)) as T ;
+
+set binlog_format='mixed';
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+let $binlog_file= LAST;
+
+insert into t1
+select *
+from json_table('[1,2,3]', '$[*]' columns (a for ordinality)) as T ;
+
+--echo # This must show Annotate_rows, Write_rows_v1 events. Not the statement event
+--source include/show_binlog_events.inc
+drop table t1;
diff --git a/mysql-test/suite/json/t/json_table_mysql.test b/mysql-test/suite/json/t/json_table_mysql.test
new file mode 100644
index 00000000000..aaf123c6f7c
--- /dev/null
+++ b/mysql-test/suite/json/t/json_table_mysql.test
@@ -0,0 +1,1495 @@
+# For stable statistics
+#--source include/have_innodb_16k.inc
+--source include/have_innodb.inc
+--echo #
+--echo # WL#8867: Add JSON_TABLE table function
+--echo #
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '\$.a',
+ jexst int exists path '\$.b')
+ ) as tt;
+
+#--error ER_INVALID_DEFAULT
+select * from
+ json_table(
+ '[{"x":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a' default '[99]' on error,
+ jexst int exists path '$.b')
+ ) as tt;
+
+select * from
+ json_table(
+ '[{"x":"3"},{"a":2},{"b":1},{"a":0},{"a":[1,2]}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a'
+ default '33' on empty
+ default '66' on error,
+ jsn_path json path '\$.a' default '{"x":33}' on empty,
+ jexst int exists path '\$.b')
+ ) as tt;
+
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0.33},{"a":"asd"}]',
+ '$[*]' columns (id for ordinality,
+ jpath_i int path '$.a'
+ default '33' on empty
+ default '66' on error,
+ jpath_r real path '$.a'
+ default '33.3' on empty
+ default '77.7' on error,
+ jsn_path json path '$.a' default '{"x":33}' on empty,
+ jexst int exists path '$.b')
+ ) as tt;
+#eval $query;
+#eval explain $query;
+
+select * from
+ json_table(
+ '[{"x":"3"},{"a":2},{"b":1},{"a":0},{"a":[1,2]}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a'
+ default '33' on empty
+ default '66' on error,
+ jsn_path json path '$.a' default '{"x":33}' on empty,
+ jexst int exists path '$.b')
+ ) as tt;
+#eval $query;
+#eval explain $query;
+
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a',
+ json_path json path '$.a',
+ jexst int exists path '$.b')
+ ) as tt;
+
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a',
+ json_path json path '$.a',
+ jexst int exists path '$.b')
+ ) as tt
+ where id = 3;
+#eval $query;
+#eval explain $query;
+
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a' error on empty,
+ jexst int exists path '$.b')
+ ) as tt;
+
+--error ER_JSON_TABLE_SCALAR_EXPECTED
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"a":1},{"a":[0,1]}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a' error on error,
+ jexst int exists path '$.b')
+ ) as tt;
+
+--error ER_JSON_SYNTAX
+select * from
+ json_table(
+ '!#@$!@#$',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b')
+ ) as tt;
+
+--error ER_JSON_SYNTAX
+# psergey-done: CRASH1
+--disable_parsing
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ "!@#$!@#$" columns (id for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b')
+ ) as tt;
+--enable_parsing
+
+--error ER_JSON_SYNTAX
+--disable_parsing
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ jpath varchar(100) path "!@#$!@#$",
+ jexst int exists path '$.b')
+ ) as tt;
+--enable_parsing
+
+--error ER_DUP_FIELDNAME
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ id for ordinality)
+ ) as tt;
+
+select * from
+ json_table(
+ '[{"a":"3"},{"a":2},{"b":1},{"a":0}]',
+ '$[*]' columns (id for ordinality,
+ _id for ordinality)
+ ) as tt;
+
+select * from
+ json_table(
+ '[
+ {"a":"3", "n": { "l": 1}},
+ {"a":2, "n": { "l": 1}},
+ {"b":1, "n": { "l": 1}},
+ {"a":0, "n": { "l": 1}}
+ ]',
+ '$[*]' columns (
+ id for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b',
+ nested path '$.n' columns (
+ id_n for ordinality,
+ jpath_n varchar(50) path '$.l')
+ )
+ ) as tt;
+
+#eval $query;
+#eval explain $query;
+explain format=json
+select * from
+ json_table(
+ '[
+ {"a":"3", "n": { "l": 1}},
+ {"a":2, "n": { "l": 1}},
+ {"b":1, "n": { "l": 1}},
+ {"a":0, "n": { "l": 1}}
+ ]',
+ '$[*]' columns (
+ id for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b',
+ nested path '$.n' columns (
+ id_n for ordinality,
+ jpath_n varchar(50) path '$.l')
+ )
+ ) as tt;
+
+select * from
+ json_table(
+ '[
+ {"a":2, "n": [{ "l": 1}, {"l": 11}]},
+ {"a":1, "n": [{ "l": 2}, {"l": 22}]}
+ ]',
+ '$[*]' columns (
+ id for ordinality,
+ jpath varchar(50) path '$.a',
+ nested path '$.n[*]' columns (
+ id_n for ordinality,
+ jpath_n varchar(50) path '$.l'),
+ nested path '$.n[*]' columns (
+ id_m for ordinality,
+ jpath_m varchar(50) path '$.l')
+ )
+ ) as tt;
+
+
+select * from json_table(
+ '[
+ {"a":"3", "n": ["b","a","c"]},
+ {"a":2, "n": [1,2]},
+ {"b":1, "n": ["zzz"]},
+ {"a":0, "n": [0.1, 0.02]}
+ ]',
+ '$[*]' columns (
+ id for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b',
+ nested path '$.n[*]' columns (
+ id_n for ordinality,
+ jpath_n varchar(50) path '$')
+ )
+ ) as tt;
+
+select * from json_table(
+ '[
+ {"a":"3", "n": ["b","a","c"]},
+ {"a":2, "n": [1,2]},
+ {"b":1, "n": ["zzz"]},
+ {"a":0, "n": [0.1, 0.02]}
+ ]',
+ '$[*]' columns (
+ id for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b',
+ nested path '$.n[*]' columns (
+ id_n1 for ordinality,
+ jpath_n1 varchar(50) path '$') ,
+ nested path '$.n[*]' columns (
+ id_n2 for ordinality,
+ jpath_n2 varchar(50) path '$')
+ )
+ ) as tt;
+
+select * from json_table(
+ '[
+ {"a":"3", "n": [ {"ll":["b1","b2","b3"]}, {"ll": ["a1","a2"]},
+ {"ll":["c"]} ]},
+ {"a":2, "n": [{"ll":[1,11,111]},{"ll":[2]}]},
+ {"b":1, "n": [{"ll":["zzz"]}]},
+ {"a":0, "n": [{"ll":[0.1,0.01]}, {"ll":[0.02,0.002,0.0002]}]}
+ ]',
+ '$[*]' columns (
+ id1 for ordinality,
+ jpath varchar(100) path '$.a',
+ jexst int exists path '$.b',
+ nested path '$.n[*]' columns (
+ id2 for ordinality,
+ nested path '$.ll[*]' columns (
+ id3 for ordinality,
+ jpath_3 varchar(50) path '$')
+ ),
+ nested path '$.n[*]' columns (
+ id4 for ordinality,
+ jpath_4 json path '$')
+ )
+ ) as tt;
+
+
+--echo ord should be 1,1,1,2, which tells that first two values of 'l' are
+--echo from the same object, and next two are from different objects
+SELECT *
+FROM JSON_TABLE(
+ '[{"a": "a_val",
+ "b": [
+ {"c": "c_val",
+ "l": [1,2]}
+ ]
+ }, {"a": "a_val",
+ "b": [
+ {"c": "c_val",
+ "l": [11]},
+ {"c": "c_val",
+ "l": [22]}
+ ]
+ }]',
+ '$[*]' COLUMNS (
+ apath VARCHAR(10) PATH '$.a',
+ NESTED PATH '$.b[*]' COLUMNS (
+ bpath VARCHAR(10) PATH '$.c',
+ ord FOR ORDINALITY,
+ NESTED PATH '$.l[*]' COLUMNS (
+ lpath varchar(10) PATH '$'
+ )
+ )
+ )) as jt;
+
+CREATE TABLE jt( i JSON );
+SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+ WHERE a=1;
+EXPLAIN SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+ WHERE a=1;
+
+SELECT * FROM (
+ SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+ WHERE a=1) AS ttt;
+EXPLAIN SELECT * FROM (
+ SELECT * FROM jt, JSON_TABLE(jt.i, '$' COLUMNS (a INT PATH '$')) AS tt
+ WHERE a=1) AS ttt;
+DROP TABLE jt;
+
+--disable_parsing
+SELECT * FROM JSON_TABLE(CAST(CAST("11:22:33" AS TIME) AS JSON),
+ '$' COLUMNS (dt DATE PATH '$')) as tt;
+SELECT * FROM JSON_TABLE(CAST(CAST("11:22:33" AS TIME) AS JSON),
+ '$' COLUMNS (dt TIME PATH '$')) as tt;
+SELECT * FROM JSON_TABLE(CAST(CAST("2001.02.03" AS DATE) AS JSON),
+ '$' COLUMNS (dt DATE PATH '$')) as tt;
+--enable_parsing
+
+CREATE VIEW v AS
+ SELECT * FROM JSON_TABLE('[1,2,3]',
+ '$[*]' COLUMNS (num INT PATH '$.a'
+ DEFAULT '123' ON EMPTY
+ DEFAULT '456' ON ERROR)) AS jt;
+SELECT * FROM v;
+SHOW CREATE VIEW v;
+DROP VIEW v;
+
+#--error ER_JSON_TABLE_SCALAR_EXPECTED
+SELECT * FROM JSON_TABLE('"asdf"',
+ '$' COLUMNS (a INT PATH '$' ERROR ON ERROR)) AS jt;
+--error ER_JSON_TABLE_MULTIPLE_MATCHES
+SELECT * FROM
+ JSON_TABLE('[{"a":1},{"a":2}]',
+ '$' COLUMNS (a INT PATH '$[*].a' ERROR ON ERROR)) AS jt;
+# psergey-added:
+--error ER_JSON_TABLE_MULTIPLE_MATCHES
+SELECT * FROM
+ JSON_TABLE('[{"a":1},{"a":2}]',
+ '$' COLUMNS (a JSON PATH '$[*].a' ERROR ON ERROR)) AS jt;
+#--error ER_JSON_TABLE_SCALAR_EXPECTED
+SELECT * FROM
+ JSON_TABLE('123.456', '$' COLUMNS (a DECIMAL(2,1) PATH '$' ERROR ON ERROR)) AS jt;
+SELECT * FROM
+ JSON_TABLE('123.456', '$' COLUMNS (a DECIMAL(2,1) PATH '$')) AS jt;
+
+#--error ER_JT_MAX_NESTED_PATH
+SELECT * FROM
+ JSON_TABLE('{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{"a":1,"b":{}}}}}}}}}}}}}}}}}}}',
+ '$' COLUMNS (i0 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i1 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i2 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i3 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i4 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i5 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i6 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i7 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i8 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i9 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i10 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i11 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i12 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i13 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i14 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i15 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i16 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i17 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i18 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i19 INT PATH '$.a',
+ NESTED PATH '$.b' COLUMNS (i20 INT PATH '$.a'
+ )))))))))))))))))))))) jt;
+
+CREATE TABLE t1(id int, jd JSON);
+INSERT INTO t1 values (1, '[1,3,5]'),(2,'[2,4,6]');
+SELECT id, jt.* FROM t1,
+ JSON_TABLE(jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+ val INT PATH '$')) AS jt;
+SELECT /*+ JOIN_ORDER(jt, t1) */ id, jt.*
+ FROM t1,
+ JSON_TABLE(jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+ val INT PATH '$')) AS jt;
+
+EXPLAIN SELECT /*+ JOIN_ORDER(jt, t1) */ id, jt.*
+ FROM t1,
+ JSON_TABLE(jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+ val INT PATH '$')) AS jt;
+
+--sorted_result
+SELECT /*+ JOIN_ORDER(t2,jt) */ t1.id, t2.id, jt.*
+ FROM t1,
+ JSON_TABLE(t1.jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+ val INT PATH '$')) AS jt,
+ t1 AS t2;
+
+EXPLAIN SELECT t1.id, t2.id, jt.*
+ FROM t1,
+ JSON_TABLE(t1.jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+ val INT PATH '$')) AS jt,
+ t1 AS t2;
+
+EXPLAIN SELECT /*+ JOIN_ORDER(t2,jt) */ t1.id, t2.id, jt.*
+ FROM t1,
+ JSON_TABLE(t1.jd, '$[*]' COLUMNS (jid FOR ORDINALITY,
+ val INT PATH '$')) AS jt,
+ t1 AS t2;
+
+SELECT * FROM t1 WHERE id IN
+ (SELECT * FROM JSON_TABLE('[1,2]', '$[*]' COLUMNS
+ (id INT PATH '$')) AS jt);
+EXPLAIN SELECT * FROM t1 WHERE id IN
+ (SELECT * FROM JSON_TABLE('[1,2]', '$[*]' COLUMNS
+ (id INT PATH '$')) AS jt);
+
+--disable_parsing
+(psergey:!)
+# JSON_TABLE referring outer scope
+SELECT * FROM t1 WHERE id IN
+ (SELECT * FROM JSON_TABLE(t1.jd, '$[*]' COLUMNS
+ (id INT PATH '$')) AS jt);
+EXPLAIN SELECT * FROM t1 WHERE id IN
+ (SELECT * FROM JSON_TABLE(t1.jd, '$[*]' COLUMNS
+ (id INT PATH '$')) AS jt);
+--enable_parsing
+
+# JSON_TABLE referring another JSON_TABLE
+--disable_parsing
+(psergey:!)
+SELECT id, jt1.*, jt2.*
+ FROM t1, JSON_TABLE(jd, '$' COLUMNS (data1 JSON PATH '$')) AS jt1,
+ JSON_TABLE(data1, '$[*]' COLUMNS (id2 INT PATH '$')) AS jt2;
+
+EXPLAIN SELECT id, jt1.*, jt2.*
+ FROM t1, JSON_TABLE(jd, '$' COLUMNS (data1 JSON PATH '$')) AS jt1,
+ JSON_TABLE(data1, '$[*]' COLUMNS (id2 INT PATH '$')) AS jt2;
+--enable_parsing
+
+DROP TABLE t1;
+
+
+SELECT * FROM JSON_TABLE('"asdf"', '$' COLUMNS(
+ tm TIME PATH '$',
+ dt DATE PATH '$',
+ i INT PATH '$',
+ f FLOAT PATH '$',
+ d DECIMAL PATH '$')) AS jt;
+
+# DEFAULT NULL is not accepted syntax.
+--error ER_PARSE_ERROR
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT NULL ON EMPTY)) jt;
+--error ER_PARSE_ERROR
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT NULL ON ERROR)) jt;
+
+# The DEFAULT value must be a string on JSON format for now.
+--error 1064
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON EMPTY)) jt;
+--error 1064
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x INT PATH '$.x' DEFAULT 0 ON ERROR)) jt;
+--error 1064
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x DATE
+ PATH '$.x'
+ DEFAULT DATE'2020-01-01' ON EMPTY)) jt;
+--error 1064
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x DATE
+ PATH '$.x'
+ DEFAULT DATE'2020-01-01' ON ERROR)) jt;
+
+--echo #
+--echo # Bug#25413069: SIG11 IN CHECK_COLUMN_GRANT_IN_TABLE_REF
+--echo #
+--error ER_BAD_FIELD_ERROR
+SELECT a FROM JSON_TABLE(abc, '$[*]' COLUMNS ( a int path '$.a')) AS jt;
+
+--echo #
+--echo # Bug#25420680: ASSERTION `THD->IS_ERROR()' FAILED IN SQL/SQL_SELECT.CC
+--echo #
+SELECT * FROM JSON_TABLE('{"a":"2017-11-1"}',
+ '$' COLUMNS (jpath DATE PATH '$.a')) AS jt;
+--echo #
+--echo # Bug#25413826: ASSERTION `TABLE_LIST->ALIAS' FAILED
+--echo #
+--error ER_JSON_TABLE_ALIAS_REQUIRED
+SELECT * FROM JSON_TABLE('[{"a": 1, "b": 2}]',
+ '$[*]' COLUMNS ( a int path '$.b'));
+
+--echo #
+--echo # Bug#25421464: ASSERTION `!STRCMP(TABLE_REF->TABLE_NAME, ...
+--echo #
+CREATE VIEW v1 AS
+ SELECT * FROM JSON_TABLE('[{"a": 1, "b": 2}]',
+ '$[*]' COLUMNS ( a INT PATH '$.b')) AS jt;
+SELECT * FROM v1;
+SHOW CREATE VIEW v1;
+DROP VIEW v1;
+
+--echo #
+--echo # Bug#25427457: ASSERTION `!((*REG_FIELD)->FLAGS & 16)'
+--echo #
+SELECT * FROM JSON_TABLE('{"a":"1"}',
+ '$' COLUMNS (jpath JSON PATH '$.a',
+ o FOR ORDINALITY)) AS jt
+WHERE o = 1;
+
+--echo #
+--echo # Bug#25427982: ASSERTION `DERIVED' FAILED IN SQL/TABLE.H
+--echo #
+#--error ER_WRONG_FIELD_WITH_GROUP
+SELECT je,o FROM JSON_TABLE('{"a":"1"}',
+ '$' COLUMNS (o FOR ORDINALITY,
+ je BIGINT EXISTS PATH '$.a')) AS jt
+GROUP BY je;
+SELECT je,COUNT(o) FROM JSON_TABLE('{"a":"1"}',
+ '$' COLUMNS (o FOR ORDINALITY,
+ je BIGINT EXISTS PATH '$.a')) AS jt
+GROUP BY je;
+
+--echo #
+--echo # Bug#25413194: ASSERTION `!(WANT_PRIVILEGE & ~(GRANT->WANT_PRIVILEGE
+--echo #
+CREATE TABLE t1 (j JSON);
+SELECT * FROM t1,JSON_TABLE(t1.j, '$[*]' COLUMNS ( a int path '$.b')) AS jt;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#25460537:SIG 11 IN NEXT_FAST AT SQL/SQL_LIST.H
+--echo #
+PREPARE STMT FROM
+ "SELECT * FROM JSON_TABLE(
+ \'[{\"a\":\"3\"},{\"a\":2},{\"b\":1},{\"a\":0}]\',
+ \'$[*]\' COLUMNS (id
+ FOR ORDINALITY,
+ jpath VARCHAR(100) PATH \'$.a\',
+ jexst INT EXISTS PATH \'$.b\')
+ ) as tt";
+EXECUTE STMT;
+EXECUTE STMT;
+DEALLOCATE PREPARE stmt;
+
+--echo #
+--echo # Bug#25522353: SIG 11 IN JOIN::MAKE_JOIN_PLAN | SQL/SQL_OPTIMIZER.CC
+--echo #
+CREATE TABLE t1 (id INT, jc JSON);
+
+# psergey!
+#--error ER_UNKNOWN_TABLE
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 RIGHT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+
+# psergey!
+#--error ER_UNKNOWN_TABLE
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt LEFT JOIN t1 ON t1.jc=jt.id;
+
+#--error ER_UNKNOWN_TABLE
+SELECT * FROM JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt RIGHT JOIN t1 ON t1.jc=jt.id;
+
+SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+
+EXPLAIN SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+
+SELECT * FROM t1 t1o RIGHT JOIN t1 ON t1o.id=t1.id
+ LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+
+EXPLAIN SELECT * FROM t1 t1o RIGHT JOIN t1 ON t1o.id=t1.id
+ LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id;
+
+# Error code can be ER_UNKNOWN_TABLE or ER_BAD_FIELD_ERROR
+# (see find_field_in_tables()), both are acceptable.
+
+# psergey:
+#--error ER_BAD_FIELD_ERROR
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 AS t1o RIGHT JOIN
+ (t1 AS t1i JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ ON t1o.id=t1i.id;
+
+# psergey:
+#--error ER_UNKNOWN_TABLE
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 AS t1o RIGHT JOIN
+ (t1 AS t1i RIGHT JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ ON t1o.id=t1i.id;
+
+# psergey:
+#--error ER_UNKNOWN_TABLE
+--error ER_BAD_FIELD_ERROR
+WITH qn AS
+ (SELECT jt.* FROM t1 RIGHT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id)
+ SELECT * from qn;
+
+#--error ER_UNKNOWN_TABLE
+--error ER_BAD_FIELD_ERROR
+WITH qn AS
+ (SELECT 1 UNION
+ SELECT jt.id FROM t1 RIGHT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1.jc=jt.id)
+ SELECT * from qn;
+
+#--error ER_BAD_FIELD_ERROR
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 AS t1o RIGHT JOIN
+ (t1 AS t1i JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ ON t1o.id=t1i.id;
+
+#--error ER_UNKNOWN_TABLE
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1 AS t1o RIGHT JOIN
+ (t1 AS t1i RIGHT JOIN JSON_TABLE(t1o.jc, '$' COLUMNS
+ (id FOR ORDINALITY)) as jt ON t1i.jc=jt.id)
+ ON t1o.id=t1i.id;
+
+INSERT INTO t1 VALUES(1,"1"),(2,"4"),(3,"3");
+
+ANALYZE TABLE t1;
+
+SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id INT PATH '$')) as jt ON t1.id=jt.id;
+
+EXPLAIN SELECT * FROM t1 LEFT JOIN JSON_TABLE(t1.jc, '$' COLUMNS
+ (id INT PATH '$')) as jt ON t1.id=jt.id;
+
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM t1
+ LEFT JOIN
+ JSON_TABLE(t1.jc, '$' COLUMNS (id FOR ORDINALITY)) as jt ON t1.jc=jt.id
+ RIGHT JOIN
+ JSON_TABLE(jt.id, '$' COLUMNS (id FOR ORDINALITY)) as jt1 ON jt.id=jt1.id;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#25525409: ASSERTION `TABLE_LIST->TABLE' FAILED IN SQL/SQL_BASE.CC
+--echo #
+--error ER_BAD_FIELD_ERROR
+SELECT * FROM JSON_TABLE( ( SELECT a ) , '$.*' COLUMNS (col1 FOR ORDINALITY) )
+AS alias1;
+
+SELECT * FROM JSON_TABLE( ( SELECT 1 ) , '$.*' COLUMNS (col1 FOR ORDINALITY) )
+AS alias1;
+
+# psergey: check this
+--error ER_INVALID_GROUP_FUNC_USE
+SELECT * FROM JSON_TABLE( ( SUM(1) ) , '$.*' COLUMNS (col1 FOR ORDINALITY) )
+AS alias1;
+
+--echo #
+--echo # Bug# #25472875: ERROR SHOULD BE THROWN FOR INCORRECT VALUES
+--echo #
+#--error ER_JT_VALUE_OUT_OF_RANGE
+SELECT *
+ FROM JSON_TABLE('{"a":"1993-01-01"}',
+ '$' COLUMNS (jp DATE PATH '$.b' DEFAULT '1000' ON EMPTY))
+ AS jt;
+
+--echo #
+--echo # Bug#25532429: INVALID JSON ERROR NOT THROWN WITH EMPTY TABLES JOIN
+--echo #
+CREATE TABLE t1(j JSON);
+#--error ER_INVALID_JSON_TEXT_IN_PARAM
+SELECT * FROM t1,
+ JSON_TABLE( 'dqwfjqjf' , '$[*]' COLUMNS (col5 FOR ORDINALITY) ) AS alias7;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#25540370: SIG 11 IN SHOW_SQL_TYPE|SQL/SQL_SHOW.CC:7063
+--echo #
+ SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 CHAR(70) PATH '$')
+ ) AS alias2;
+
+--echo # Too short field causes truncation, error and triggers ON ERROR clause
+ SELECT * FROM
+ JSON_TABLE('["3.14159"]',
+ '$[*]' COLUMNS (col18 CHAR(6) PATH '$')
+ ) AS alias2;
+
+--echo #Truncated space doesn't trigger ON ERROR
+ SELECT * FROM
+ JSON_TABLE('["3.14159 "]',
+ '$[*]' COLUMNS (col18 CHAR(7) PATH '$')
+ ) AS alias2;
+SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 CHAR(255) PATH '$')
+ ) AS alias2;
+
+ SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 VARCHAR(70) PATH '$')
+ ) AS alias2;
+
+ SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 VARCHAR(255) PATH '$')
+ ) AS alias2;
+
+ SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 FLOAT PATH '$')
+ ) AS alias2;
+
+ SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 DOUBLE PATH '$')
+ ) AS alias2;
+
+ SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 DECIMAL(3,3) PATH '$')
+ ) AS alias2;
+
+#--error ER_JT_VALUE_OUT_OF_RANGE
+# --error ER_JSON_TABLE_SCALAR_EXPECTED
+SELECT * FROM
+ JSON_TABLE('[3.14159]',
+ '$[*]' COLUMNS (col18 DECIMAL(3,3) PATH '$' ERROR ON ERROR)
+ ) AS alias2;
+
+ SELECT * FROM
+ JSON_TABLE('[0.9]',
+ '$[*]' COLUMNS (col18 DECIMAL(3,3) PATH '$')
+ ) AS alias2;
+
+SELECT * FROM
+ JSON_TABLE('["asdf","ghjk"]',
+ '$[*]' COLUMNS (col18 DECIMAL(4,3) PATH '$'
+ DEFAULT "3.14159" ON ERROR)
+ ) AS alias2;
+
+CREATE TABLE t1(jd JSON);
+INSERT INTO t1 VALUES('["asdf"]'),('["ghjk"]');
+SELECT * FROM t1,
+ JSON_TABLE(jd,
+ '$[*]' COLUMNS (col18 DECIMAL(4,3) PATH '$'
+ DEFAULT "3.14159" ON ERROR)
+ ) AS alias2;
+DROP TABLE t1;
+--echo #
+--echo # Bug#25540027: SIG 11 IN FIND_FIELD_IN_TABLE | SQL/SQL_BASE.CC
+--echo #
+CREATE TABLE t1(c1 JSON);
+--error ER_NON_UPDATABLE_TABLE
+UPDATE t1, JSON_TABLE(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+ SET jt1.a=1;
+--error ER_PARSE_ERROR
+DELETE JSON_TABLE(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+ FROM t1;
+--error ER_PARSE_ERROR
+DELETE t1, JSON_TABLE(t1.c1,'$[*]' COLUMNS (a INT PATH '$.a')) AS jt1
+ USING t1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#25547244: ASSERTION `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(
+--echo #
+CREATE TABLE t1(i INT);
+INSERT INTO t1 VALUES(1);
+--disable_parsing
+# Crash #3 (not reproducible anymore?)
+WITH cte_query AS
+ (SELECT * FROM t1, JSON_TABLE( JSON_OBJECT('ISSKF',i) ,
+ '$[*]' COLUMNS (jtcol1 INT EXISTS PATH '$[*]') ) AS alias2)
+SELECT jtcol1 AS field1 FROM cte_query;
+--enable_parsing
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#25540675: ASSERTION `!COL->CHILD_JDS->PRODUCING_RECORDS' FAILED
+--echo #
+CREATE TABLE j1(j JSON);
+INSERT INTO j1 VALUES('[1,2,3]'),('[1,2,4]');
+SELECT * FROM j1,
+ JSON_TABLE( JSON_OBJECT('key1', j) ,
+ '$.*' COLUMNS (NESTED PATH '$.*' COLUMNS (col11 FOR ORDINALITY))) AS alias2;
+DROP TABLE j1;
+
+--echo #
+--echo # Bug#25584335: SIG 11 IN TABLE_LIST::FETCH_NUMBER_OF_ROWS
+--echo #
+CREATE TABLE t1(i INT);
+
+PREPARE stmt FROM "SELECT alias1.i AS field1 FROM (
+ t1 AS alias1,
+ (SELECT * FROM
+ JSON_TABLE('[1,2,3]' ,
+ '$[*]' COLUMNS (`col_varchar` FOR ORDINALITY)) AS SQ1_alias1
+ ) AS alias2 )";
+
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#25604048: COLUMN NAMES WITH SAME 33-CHAR PREFIX ARE EQUAL
+--echo #
+SELECT * FROM JSON_TABLE( '{"key1": "test"}' , '$' COLUMNS(
+ column_name_is_thirty_four_or_more VARCHAR(17) PATH '$.key1',
+ column_name_is_thirty_four_or_more_yes_indeed VARCHAR(17) PATH '$.key1'
+) ) AS alias1;
+
+#--error ER_WRONG_COLUMN_NAME
+SELECT * FROM JSON_TABLE( '{"key1": "test"}' , '$' COLUMNS(
+ `column_name_is_thirty_four_or_more ` VARCHAR(17) PATH '$.key1'
+) ) AS alias1;
+
+--echo #
+--echo # Bug#25604404: JSON_TABLE MORE RESTRICTIVE WITH IDENTIFIERS THAN
+--echo # CREATE TABLE
+--echo #
+SELECT * FROM JSON_TABLE( '[1, 2]', '$' COLUMNS(
+ one INT PATH '$[0]', two INT PATH '$[1]'
+)) AS jt;
+
+--echo #
+--echo # Bug#25588450: SIG 6 IN JSON_WRAPPER::SEEK|SQL/JSON_DOM.CC
+--echo #
+CREATE TABLE t1(c VARCHAR(10)) ENGINE=MEMORY;
+INSERT INTO t1 VALUES('fiheife');
+#--error ER_INVALID_JSON_TEXT_IN_PARAM
+--error ER_JSON_SYNTAX
+SELECT * FROM `t1` AS alias1, JSON_TABLE( `c` , '$[*]' COLUMNS (jtcol1 JSON
+PATH '$.*')) AS alias2 WHERE jtcol1 <= 'kjfh';
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#25587754: ASSERTION `FIXED == 0 || BASIC_CONST_ITEM()' FAILED
+--echo #
+PREPARE stmt FROM
+ "SELECT * FROM JSON_TABLE( '[1,2]', '$[*]'
+ COLUMNS (jtcol1 JSON PATH '$.*')) AS alias2";
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+--echo #
+--echo # Bug#25584593: UNABLE TO USE JSON_TABLE() ON TEXT/BLOB JSON DATA
+--echo #
+SELECT * FROM JSON_TABLE(NULL, '$.k' COLUMNS (id FOR ORDINALITY)) AS aLias;
+SELECT * FROM JSON_TABLE(@myjson, '$.k' COLUMNS (id FOR ORDINALITY)) AS alias;
+SET @myjson = '{"k": 42}';
+SELECT * FROM JSON_TABLE(@myjson, '$.k' COLUMNS (id FOR ORDINALITY)) AS alias;
+
+CREATE TABLE t1(
+ txt TEXT, ty TINYTEXT, tm MEDIUMTEXT, tl LONGTEXT);
+INSERT INTO t1 values (
+ '{"k": "text"}','{"k": "tinytext"}','{"k": "mediumtext"}','{"k": "longtext"}');
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.ty, '$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.tm, '$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.tl, '$.k' COLUMNS (id VARCHAR(10) PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id TEXT PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id TINYTEXT PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id MEDIUMTEXT PATH '$')) AS alias;
+SELECT alias.* FROM t1, JSON_TABLE(t1.txt,'$.k' COLUMNS (id LONGTEXT PATH '$')) AS alias;
+
+# BLOB can store data from JSON
+SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) as alias;
+# Check that type is printed correctly
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb TINYBLOB PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb MEDIUMBLOB PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb LONGBLOB PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb TEXT PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb TINYTEXT PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb MEDIUMTEXT PATH '$')) as alias;
+EXPLAIN SELECT alias.* FROM JSON_TABLE('"asd123"', '$' COLUMNS (blb LONGTEXT PATH '$')) as alias;
+# But can't be used as a data source
+#--error ER_WRONG_ARGUMENTS
+--error ER_PARSE_ERROR
+SELECT * FROM
+ (SELECT CAST(blb AS JSON) jf FROM
+ JSON_TABLE('"asd123"', '$' COLUMNS (blb BLOB PATH '$')) AS jti) AS dt,
+ JSON_TABLE(jf, '$' COLUMNS (blb BLOB PATH '$')) AS jto;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#26500384: ASSERT FAILURE IN QUERY WITH WINDOW FUNCTION AND
+--echo # JSON_TABLE
+--echo #
+CREATE TABLE t (x INT);
+INSERT INTO t VALUES (1), (2), (3);
+--error ER_BAD_FIELD_ERROR
+SELECT MAX(t.x) OVER () m, jt.* FROM t,
+ JSON_TABLE(JSON_ARRAY(m), '$[*]' COLUMNS (i INT PATH '$')) jt;
+DROP TABLE t;
+
+--echo #
+--echo # Bug#26583283: ASSERTION `!THD->IS_ERROR()' FAILED IN SQL_RESOLVER.CC
+--echo #
+EXPLAIN SELECT * FROM JSON_TABLE('null', '$' COLUMNS(AA DECIMAL PATH '$')) tt;
+
+CREATE VIEW v1 AS SELECT * FROM
+ JSON_TABLE( 'null', '$' COLUMNS (c1 DECIMAL PATH '$' ) ) AS jt;
+SELECT * FROM v1;
+EXPLAIN SELECT * FROM v1;
+DROP VIEW v1;
+
+--echo #
+--echo # Bug#25822408: ASSERTION `!COL->CHILD_JDS->PRODUCING_RECORDS' FAILED
+--echo #
+PREPARE stmt FROM "SELECT * FROM
+ JSON_TABLE('{\"a\":1}','$' COLUMNS (c1 CHAR(20) PATH '$.b' ERROR ON EMPTY)) jt";
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+EXECUTE stmt;
+--error ER_JSON_TABLE_ERROR_ON_FIELD
+EXECUTE stmt;
+
+--echo #
+--echo # Bug#25594571: CRASH AT ITEM::CONST_ITEM|SQL/ITEM.H
+--echo #
+CREATE TABLE t1 (i INT);
+
+INSERT INTO t1 VALUES(1),(2),(3),(4),(5),(6),(7);
+
+PREPARE stmt FROM "SELECT * FROM t1 AS alias1 LEFT JOIN t1 AS alias2
+LEFT JOIN JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (i FOR ORDINALITY )) AS
+alias3 ON alias2 . `i` = alias3 . `i` ON alias1 . `i` = alias2 . `i`";
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#26648617: ASSERTION `IS_VIEW_OR_DERIVED() &&
+--echo # USES_MATERIALIZATION()' FAILED.
+--echo #
+CREATE TABLE t1 (
+ col_varchar_key varchar(1) DEFAULT NULL
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES(1),(4);
+
+SELECT * FROM t1 WHERE col_varchar_key NOT IN (
+ SELECT col_varchar_key FROM JSON_TABLE(
+ '[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+ (col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+
+EXPLAIN SELECT * FROM t1 WHERE col_varchar_key NOT IN (
+ SELECT col_varchar_key FROM JSON_TABLE(
+ '[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+ (col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+
+SELECT * FROM t1 WHERE col_varchar_key IN (
+ SELECT col_varchar_key FROM JSON_TABLE(
+ '[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+ (col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+
+EXPLAIN SELECT * FROM t1 WHERE col_varchar_key IN (
+ SELECT col_varchar_key FROM JSON_TABLE(
+ '[{"col_key": 1},{"col_key": 2}]', "$[*]" COLUMNS
+ (col_varchar_key VARCHAR(10) PATH "$.col_key")) AS innr1);
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#26711551: WL8867:CONDITIONAL JUMP IN JSON_TABLE_COLUMN::CLEANUP
+--echo #
+CREATE TABLE t(x int, y int);
+INSERT INTO t(x) VALUES (1);
+UPDATE t t1, JSON_TABLE('[2]', '$[*]' COLUMNS (x INT PATH '$')) t2
+SET t1.y = t2.x;
+SELECT * FROM t;
+DROP TABLE t;
+
+--echo #
+--echo # Bug#26679671: SIG 11 IN JSON_BINARY::PARSE_BINARY()
+--echo #
+CREATE TABLE t1(id INT, f1 JSON);
+INSERT INTO t1 VALUES (1, '{\"1\": 1}'), (2, '{\"1\": 2}'), (3, '{\"1\": 3}'),
+(4, '{\"1\": 4}'), (5, '{\"1\": 5}'), (6, '{\"1\": 6}');
+ANALYZE TABLE t1;
+
+ANALYZE TABLE t1;
+
+--sorted_result
+SELECT * FROM t1 as jj1,
+ (SELECT tt2.* FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl) dt;
+EXPLAIN SELECT * FROM t1 as jj1,
+ (SELECT tt2.* FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl) dt;
+
+# psergey:name resolution
+# HF --error ER_NON_UNIQ_ERROR
+SELECT * FROM t1 as jj1,
+ (SELECT tt2.* FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl STRAIGHT_JOIN
+ t1 AS tt3) dt ORDER BY 1,3 LIMIT 10;
+# psergey:name resolution
+# HF --error ER_NON_UNIQ_ERROR
+EXPLAIN SELECT * FROM t1 as jj1,
+ (SELECT tt2.* FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (id FOR ORDINALITY)) AS tbl STRAIGHT_JOIN
+ t1 AS tt3) dt ORDER BY 1,3 LIMIT 11;
+
+SELECT * FROM t1 WHERE id IN
+ (SELECT id FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
+EXPLAIN SELECT * FROM t1 WHERE id IN
+ (SELECT id FROM t1 as tt2,
+ JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#26760811: WL#8867: MEMORY LEAK REPORTED BY ASAN AND VALGRIND
+--echo #
+CREATE TABLE t (j JSON);
+INSERT INTO t VALUES
+('[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]'),
+('[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]');
+SELECT COUNT(*) FROM t, JSON_TABLE(j, '$[*]' COLUMNS (i INT PATH '$')) AS jt;
+PREPARE ps FROM
+'SELECT COUNT(*) FROM t, JSON_TABLE(j, ''$[*]'' COLUMNS (i INT PATH ''$'')) AS jt';
+EXECUTE ps;
+EXECUTE ps;
+DROP PREPARE ps;
+DROP TABLE t;
+
+--echo #
+--echo # Bug #26781759: NON-UNIQUE ALIAS ERROR NOT BEING THROWN
+--echo #
+--error ER_NONUNIQ_TABLE
+SELECT * FROM JSON_TABLE(NULL, '$' COLUMNS(j1 FOR ORDINALITY)) AS jalias,
+JSON_TABLE(NULL, '$' COLUMNS(j1 FOR ORDINALITY)) AS jalias;
+
+# --echo #
+# --echo # Bug #26761470: WL#8867: JOIN::MAKE_JOIN_PLAN():
+# --echo # ASSERTION `SELECT_LEX->IS_RECURSIVE()' FAILED
+# --echo #
+# CREATE TABLE t1 (x INT);
+# INSERT INTO t1 VALUES (1);
+# CREATE TABLE t2 (j JSON);
+# INSERT INTO t2 (j) VALUES ('[1,2,3]');
+# --sorted_result
+# # psergey:name resolution
+# --error ER_WRONG_OUTER_JOIN
+# SELECT * FROM t1 RIGHT JOIN
+# (SELECT o FROM t2, JSON_TABLE(j, '$[*]' COLUMNS (o FOR ORDINALITY)) AS jt) AS t3
+# ON (t3.o = t1.x);
+# DROP TABLE t1, t2;
+
+--echo #
+--echo # Bug#27152428 JSON_TABLE + PREPARED STATEMENT + VIEW HAS PROBLEM IN DURING RESOLUTION
+--echo #
+
+CREATE TABLE t1 (a INT, b INT);
+
+CREATE VIEW v2 AS SELECT * FROM t1 LIMIT 2;
+
+--disable_parsing
+# psergey-done: crash in name resolution:
+SELECT b
+ FROM (SELECT * FROM v2) vq1,
+ JSON_TABLE(CONCAT(vq1.b,'[{\"a\":\"3\"}]'),
+ '$[*]' COLUMNS (id FOR ORDINALITY,
+ jpath VARCHAR(100) PATH '$.a',
+ JEXST INT EXISTS PATH '$.b')
+ ) AS dt;
+--enable_parsing
+
+DROP TABLE t1;
+DROP VIEW v2;
+
+
+--echo #
+--echo # Bug#27189940: CREATE VIEW FAILS ON JSON_TABLE() IN SCHEMA-LESS CONNECTIONS
+--echo # BUG#27217897: JSON_TABLE() FAILS IF NO DATABASE SELECTED
+--echo #
+
+
+# Connect without a schema name:
+connect (conn1,localhost,root,,*NO-ONE*);
+connection conn1;
+
+CREATE VIEW test.v AS SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+
+connection default;
+disconnect conn1;
+use test;
+
+SHOW CREATE VIEW test.v;
+SELECT * FROM test.v;
+DROP VIEW test.v;
+
+--echo #
+--echo # Bug#27729112 JSON_TABLE SHOULD DECODE BASE64-ENCODED STRINGS
+--echo #
+SELECT v
+FROM JSON_TABLE(JSON_OBJECT('foo', _binary'bar'), '$'
+ COLUMNS(v VARCHAR(255) PATH '$.foo')) tbl;
+
+--disable_parsing
+# not supported
+CREATE TABLE t1 (col1 VARCHAR(255) CHARACTER SET ucs2,
+ col2 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE
+ utf8mb4_unicode_cs);
+INSERT INTO t1 VALUES ("æ", "ãƒ"), ("Ã¥", "ø"), ("ø", "パ"), ("@", "ãƒ");
+
+ANALYZE TABLE t1 UPDATE HISTOGRAM ON col1, col2;
+SELECT v value, c cumulfreq
+FROM INFORMATION_SCHEMA.COLUMN_STATISTICS,
+ JSON_TABLE(histogram->'$.buckets', '$[*]'
+ COLUMNS(v VARCHAR(255) CHARACTER SET ucs2 PATH '$[0]',
+ c double PATH '$[1]')) hist
+WHERE column_name = "col1";
+SELECT v value, c cumulfreq
+FROM INFORMATION_SCHEMA.COLUMN_STATISTICS,
+ JSON_TABLE(histogram->'$.buckets', '$[*]'
+ COLUMNS(v VARCHAR(255) CHARACTER SET utf8mb4 PATH '$[0]',
+ c double PATH '$[1]')) hist
+WHERE column_name = "col2";
+DROP TABLE t1;
+
+--enable_parsing
+--echo #
+--echo # Bug#28254268: JSON_TABLE() FUNCTION REJECTS SELECT PERMISSIONS
+--echo #
+CREATE DATABASE db2;
+USE db2;
+CREATE TABLE t1 (c JSON);
+INSERT INTO t1 VALUES('[1,2,3]');
+
+CREATE USER user1@localhost;
+GRANT SELECT ON db2.t1 TO user1@localhost;
+
+connect (conn1,localhost,user1,,);
+connection conn1;
+USE db2;
+SELECT t1.c FROM t1;
+SELECT jt.* FROM t1, JSON_TABLE(t1.c, '$[*]' COLUMNS (num INT PATH '$[0]'))
+AS jt;
+
+disconnect conn1;
+connection default;
+
+DROP USER user1@localhost;
+DROP DATABASE db2;
+
+--echo #
+--echo # Bug#27856835 JSON_TABLE RETURNS WRONG DATATYPE WHEN INT-VALUE IS GRATER
+--echo # THAN (2^31-1)
+--echo #
+SELECT id FROM JSON_TABLE('[{"id":"9223372036854775807"}]', '$[*]' COLUMNS
+(id BIGINT PATH '$.id')) AS json;
+
+--echo # As we currently have no way of telling if a JSON string value is
+--echo # signed or unsigned, this value will overflow.
+SELECT id FROM JSON_TABLE('[{"id":"9223372036854775808"}]', '$[*]' COLUMNS
+(id BIGINT PATH '$.id')) AS json;
+
+--echo # Here the JSON value is a NUMERIC value, and we thus know if the value
+--echo # is signed or unsigned.
+SELECT id FROM JSON_TABLE('[{"id":9223372036854775808}]', '$[*]' COLUMNS
+(id BIGINT PATH '$.id')) AS json;
+
+--echo # If we tell the JSON table column to be unsigned, we get to store the
+--echo # full value correctly.
+SELECT id FROM JSON_TABLE('[{"id":"9223372036854775808"}]', '$[*]' COLUMNS
+(id BIGINT UNSIGNED PATH '$.id')) AS json;
+
+SELECT id FROM JSON_TABLE('[{"id":"2147483648"}]', '$[*]' COLUMNS
+(id INT UNSIGNED PATH '$.id')) AS json;
+
+--echo # Check that we preserve the signedness of the columns.
+USE test;
+CREATE TABLE t1 AS SELECT id, value FROM
+ JSON_TABLE('[{"id":9223372036854775808, "value":9223372036854775807}]',
+ '$[*]' COLUMNS (id BIGINT UNSIGNED PATH '$.id',
+ value BIGINT PATH '$.value'))
+ AS json;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#28255453: VIEW USING JSON_TABLE FAILS IF NO SCHEMA IS SELECTED
+--echo #
+connect (conn1,localhost,root,,*NO-ONE*);
+CREATE VIEW test.v AS SELECT * FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$[0]')) AS jt;
+SELECT * FROM test.v;
+DROP VIEW test.v;
+
+--echo # Check that a user with access to the schema 'foo' can do a SELECT with
+--echo # a JSON_TABLE function.
+CREATE SCHEMA foo;
+CREATE USER foo@localhost;
+GRANT EXECUTE ON foo.* TO foo@localhost;
+connect (con1,localhost,foo,,foo);
+SELECT 1 FROM JSON_TABLE('[1,2,3]', '$[*]' COLUMNS (num INT PATH '$.a')) AS jt;
+connection default;
+disconnect con1;
+DROP USER foo@localhost;
+DROP SCHEMA foo;
+
+--echo #
+--echo # Bug#27923406 ERROR 1142 (42000) WHEN USING JSON_TABLE
+--echo #
+CREATE SCHEMA my_schema;
+
+CREATE USER foo@localhost;
+GRANT EXECUTE ON my_schema.* TO foo@localhost;
+connect (con1,localhost,foo,,my_schema);
+
+SELECT
+ *
+FROM
+ JSON_TABLE(
+ '[{"x":2,"y":"8"},{"x":"3","y":"7"},{"x":"4","y":6}]',
+ "$[*]" COLUMNS(
+ xval VARCHAR(100) PATH "$.x",
+ yval VARCHAR(100) PATH "$.y"
+ )
+ ) AS jt1;
+
+connection default;
+disconnect con1;
+DROP USER foo@localhost;
+DROP SCHEMA my_schema;
+
+--echo #
+--echo # Bug#28538315: JSON_TABLE() COLUMN TYPES DON'T SUPPORT COLLATE CLAUSE
+--echo #
+
+CREATE TABLE t1 SELECT *
+ FROM JSON_TABLE('"test"', '$' COLUMNS(x VARCHAR(10)
+ CHARSET utf8mb4
+ PATH '$')) AS jt1;
+SHOW CREATE TABLE t1;
+
+--disable_parsing
+CREATE TABLE t2 SELECT *
+ FROM JSON_TABLE('"test"', '$' COLUMNS(x VARCHAR(10)
+ CHARSET utf8mb4 COLLATE utf8mb4_bin
+ PATH '$')) AS jt1;
+SHOW CREATE TABLE t2;
+
+CREATE TABLE t3 AS SELECT *
+ FROM JSON_TABLE('"a"', '$' COLUMNS (a VARCHAR(10)
+ COLLATE ascii_bin
+ PATH '$')) jt;
+SHOW CREATE TABLE t3;
+--enable_parsing
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#28643862 JSON_TABLE'S "COLUMNS" CLAUSE USES
+--echo # GLOBAL.CHARACTER_SET_RESULTS DEFAULT CHARSET
+--echo #
+
+SET @@SESSION.character_set_connection = ascii;
+
+CREATE TABLE t1 SELECT a.col
+ FROM JSON_TABLE('"test"', '$' COLUMNS(col VARCHAR(10) PATH '$')) AS a;
+
+SHOW CREATE TABLE t1;
+
+SET @@SESSION.collation_connection = latin1_bin;
+
+CREATE TABLE t2 SELECT a.col
+ FROM JSON_TABLE('"test"', '$' COLUMNS(col VARCHAR(10) PATH '$')) AS a;
+
+SHOW CREATE TABLE t2;
+
+DROP TABLE t1, t2;
+
+SET @@SESSION.character_set_connection = DEFAULT;
+
+--echo #
+--echo # Bug#28851656: JSON_TABLE RETURN "UNKNOWN DATABASE ''" FROM A FUNCTION
+--echo #
+CREATE FUNCTION FN_COUNT_ROWS(X JSON)
+RETURNS INT DETERMINISTIC
+ RETURN (
+ SELECT COUNT(*) FROM JSON_TABLE( X, '$[*]' COLUMNS( I INT PATH '$')) der
+ );
+
+SELECT FN_COUNT_ROWS('[1, 2]') CNT;
+SELECT FN_COUNT_ROWS('[1, 2, 3]') CNT;
+SELECT FN_COUNT_ROWS('[1, 2, 3, 4]') CNT;
+
+DROP FUNCTION FN_COUNT_ROWS;
+
+--echo #
+--echo # Bug#30310265: VIEWS LOSE THE CHARACTER SET OF JSON_TABLE'S
+--echo # PATH ARGUMENTS
+--echo #
+
+CREATE VIEW v1 AS
+ SELECT * FROM JSON_TABLE('{"Ã¥":{"Ã¥":1}}', '$.Ã¥' COLUMNS (x INT PATH '$.Ã¥')) t;
+SELECT * FROM v1;
+SET NAMES latin1;
+# Used to return zero rows.
+SELECT * FROM v1;
+SET NAMES DEFAULT;
+DROP VIEW v1;
+
+CREATE VIEW v2 AS
+ SELECT * FROM JSON_TABLE('{}', '$' COLUMNS (
+ x VARCHAR(10) PATH '$.a' DEFAULT '"isn''t here"' ON EMPTY)
+ ) t;
+# SHOW CREATE VIEW and SELECT from the view used to fail with a syntax error.
+--disable_parsing
+# psergey-done
+SHOW CREATE VIEW v2;
+
+SELECT * FROM v2;
+--enable_parsing
+DROP VIEW v2;
+
+# The string literals in JSON_TABLE didn't accept character set
+# introducers. Verify that they are accepted now.
+--disable_parsing
+# psergey: it's a bug!
+SELECT * FROM
+ JSON_TABLE(JSON_OBJECT(),
+ _utf8mb4'$' COLUMNS (NESTED PATH _utf8mb4'$.x' COLUMNS
+ (y INT PATH _utf8mb4'$.y'
+ DEFAULT _utf8mb4'1' ON EMPTY
+ DEFAULT _utf8mb4'2' ON ERROR))) jt;
+--enable_parsing
+
+--echo #
+--echo # Bug#30382156: STORED PROCEDURE, JSON_TABLE AND "CONST" JOIN TYPE
+--echo #
+CREATE TABLE t (id INT PRIMARY KEY, j JSON);
+INSERT INTO t VALUES (1, '{"x":1}');
+CREATE PROCEDURE p()
+ SELECT * FROM t, JSON_TABLE(j, '$' COLUMNS (x INT PATH '$.x')) jt
+ WHERE id = 1;
+CALL p();
+CALL p();
+CALL p();
+DROP PROCEDURE p;
+DROP TABLE t;
+
+--echo #
+--echo # WL#13512: Deprecate ON ERROR before ON EMPTY in JSON_TABLE syntax
+--echo #
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x VARCHAR(10) PATH '$.x'
+ DEFAULT '"a"' ON ERROR DEFAULT '"b"' ON EMPTY)) jt;
+SELECT * FROM
+ JSON_TABLE('{}', '$' COLUMNS (x VARCHAR(10) PATH '$.x'
+ NULL ON ERROR NULL ON EMPTY)) jt;
+SELECT * FROM
+ JSON_TABLE('{"x":"c"}', '$' COLUMNS (x VARCHAR(10) PATH '$.x'
+ ERROR ON ERROR ERROR ON EMPTY)) jt;
+--echo #
+--echo # Bug#30628330: INSERT WITH JSON_TABLE FAILS DUE TO WARNING INVOKED
+--echo # WITH ON ERROR CLAUSE
+--echo #
+CREATE TABLE t(id INT, a TINYINT, b VARCHAR(3), c DATE, d DECIMAL);
+# This statement used to fail with "data too long".
+INSERT INTO t SELECT * FROM
+ JSON_TABLE(JSON_ARRAY(JSON_OBJECT('a', 1, 'b', 'abc'),
+ JSON_OBJECT('a', 2, 'b', 'abcd'),
+ JSON_OBJECT('a', 1000, 'b', 'xyz'),
+ JSON_OBJECT('c', TIME'12:00:00', 'd', 1e308)),
+ '$[*]' COLUMNS (id FOR ORDINALITY,
+ a TINYINT PATH '$.a' DEFAULT '111' ON ERROR,
+ b VARCHAR(3) PATH '$.b' DEFAULT '"ERR"' ON ERROR,
+ c DATE PATH '$.c' DEFAULT '"2001-01-01"' ON ERROR,
+ d DECIMAL PATH '$.c' DEFAULT '999' ON ERROR)
+ ) AS jt;
+SELECT * FROM t ORDER BY id;
+DROP TABLE t;
+
+--echo #
+--echo # Bug#30263373: INCORRECT OUTPUT FROM TABLE_FUNCTION_JSON::PRINT()
+--echo #
+
+CREATE VIEW v AS SELECT * FROM
+ JSON_TABLE('[123]', '$[*]' COLUMNS (`name with space 1` INT PATH '$',
+ `name with space 2` FOR ORDINALITY)) jt;
+# Used to fail with a syntax error, due to unquoted column names in
+# the view definition.
+SELECT * FROM v;
+DROP VIEW v;
+
+CREATE VIEW v AS SELECT HEX(x), HEX(y) FROM
+ JSON_TABLE('["abc"]', '$[*]' COLUMNS (x BINARY(10) PATH '$',
+ y VARBINARY(10) PATH '$')) jt;
+# Used to say CHAR(10) and VARCHAR(10) instead of BINARY(10) and VARBINARY(10).
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
+ WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+SELECT * FROM v;
+DROP VIEW v;
+
+CREATE VIEW v AS SELECT * FROM
+ JSON_TABLE('[123]', '$[*]' COLUMNS(ti TINYINT PATH '$',
+ si SMALLINT PATH '$',
+ mi MEDIUMINT PATH '$',
+ i INT PATH '$',
+ bi BIGINT PATH '$',
+ tiu TINYINT UNSIGNED PATH '$',
+ siu SMALLINT UNSIGNED PATH '$',
+ miu MEDIUMINT UNSIGNED PATH '$',
+ iu INT UNSIGNED PATH '$',
+ biu BIGINT UNSIGNED PATH '$')) jt;
+# Used to lack the UNSIGNED attribute for the unsigned columns.
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
+ WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+SELECT * FROM v;
+DROP VIEW v;
+
+--disable_parsing
+CREATE VIEW v AS SELECT * FROM
+ JSON_TABLE('[]', '$[*]' COLUMNS (g GEOMETRY PATH '$',
+ ls LINESTRING PATH '$')) AS jt;
+# Used to say GEOMETRY for both columns.
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
+ WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+SELECT * FROM v;
+DROP VIEW v;
+--enable_parsing
+
+--disable_parsing
+CREATE VIEW v AS SELECT * FROM
+ JSON_TABLE('["abc"]', '$[*]' COLUMNS
+ (x VARCHAR(10) CHARSET latin1 PATH '$',
+ y VARCHAR(10) COLLATE utf8mb4_de_pb_0900_ai_ci PATH '$',
+ z LONGTEXT COLLATE utf8mb4_bin PATH '$')) jt;
+# Character set and collation information wasn't included.
+SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
+ WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+# Used to return the default collation instead of the collation
+# specified in the JSON_TABLE column definitions.
+SELECT x, y, z, COLLATION(x) c_x, COLLATION(y) c_y, COLLATION(z) c_z FROM v;
+DROP VIEW v;
+--enable_parsing
+
+--echo #
+--echo # Bug#31345503 JSON_TABLE SHOULD RETURN SQL NULL FOR JSON NULL
+--echo #
+
+SELECT *
+FROM
+JSON_TABLE(
+'[
+ {"c1": null,
+ "c2": [{"c": "c_val", "l": [1,2]}],
+ "c3": null},
+ {"c1": true,
+ "c2": [{"c": "c_val","l": [11]}, {"c": "c_val", "l": [false]}],
+ "c3": true},
+ {"c1": false,
+ "c2": [{"c": null,"l": [true]}, {"c": "c_val", "l": [null]}],
+ "c3": false}
+ ]',
+ '$[*]' COLUMNS(
+ top_ord FOR ORDINALITY,
+ c1path VARCHAR(10) PATH '$.c1' ERROR ON ERROR,
+ NESTED PATH '$.c2[*]' COLUMNS (
+ c2path VARCHAR(10) PATH '$.c' ERROR ON ERROR,
+ ord FOR ORDINALITY,
+ NESTED PATH '$.l[*]' COLUMNS (lpath_c VARCHAR(10) PATH '$' ERROR ON ERROR,
+ lpath_i INT PATH '$' ERROR ON ERROR)
+ ),
+ c3path INT PATH '$.c3' ERROR ON ERROR
+ )
+) as jt;
+
+--echo #
+--echo # Bug #31327187 UBSAN: JSON_TABLE: NULL POINTER PASSED AS ARGUMENT 2,
+--echo # WHICH IS DECLARED TO NEVER BE NULL
+--echo #
+
+SELECT HEX(a) FROM JSON_TABLE(
+ '[{"E":{"e":true,"~":1,"S3":"sTa"},"r":3,"":6.7},"",6.5]',
+ '$'
+ COLUMNS(a BINARY(5) PATH '$[1]' NULL ON EMPTY)
+) e;
diff --git a/mysql-test/suite/json/t/json_table_notembedded.test b/mysql-test/suite/json/t/json_table_notembedded.test
new file mode 100644
index 00000000000..32bc042288b
--- /dev/null
+++ b/mysql-test/suite/json/t/json_table_notembedded.test
@@ -0,0 +1,30 @@
+source include/not_embedded.inc;
+
+#
+# MDEV-22302 JSON_TABLE: Column privilege is insufficient for query with json_table
+#
+
+create database db;
+use db;
+create table t (a text);
+insert into t values ('{"foo":"bar"}');
+create user u@localhost;
+grant select (a) on db.t to u@localhost;
+
+--connect (con1,localhost,u,,db)
+select a from t;
+select * from t, json_table(t.a, '$' columns(f varchar(20) path '$.foo')) as jt;
+
+#
+# MDEV-25141 JSON_TABLE: SELECT into outfile bypasses file privilege check
+#
+--error ER_ACCESS_DENIED_ERROR
+select * into outfile 'f' from json_table('[]', '$' columns(x for ordinality)) q;
+
+connection default;
+disconnect con1;
+
+drop user u@localhost;
+drop database db;
+
+use test;
diff --git a/mysql-test/suite/maria/alter.result b/mysql-test/suite/maria/alter.result
index e1a57ed654f..0bb8c89c1db 100644
--- a/mysql-test/suite/maria/alter.result
+++ b/mysql-test/suite/maria/alter.result
@@ -184,3 +184,12 @@ SET GLOBAL aria_max_sort_file_size= @max_size.save;
#
# End of 10.4 test
#
+#
+# MDEV-25505 Assertion `old_flags == ((my_flags & 0x10000U) ? 1 : 0)'
+# failed in my_realloc
+#
+CREATE TABLE t1 (pk int, c text, primary key (pk), key(c(32))) ENGINE=Aria ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISABLE KEYS;
+INSERT INTO t1 VALUES (1, 'Nine chars or more');
+ALTER TABLE t1 ENABLE KEYS;
+DROP TABLE t1;
diff --git a/mysql-test/suite/maria/alter.test b/mysql-test/suite/maria/alter.test
index f2950f0a6d3..525cd80f3d9 100644
--- a/mysql-test/suite/maria/alter.test
+++ b/mysql-test/suite/maria/alter.test
@@ -192,3 +192,14 @@ SET GLOBAL aria_max_sort_file_size= @max_size.save;
--echo #
--echo # End of 10.4 test
--echo #
+
+--echo #
+--echo # MDEV-25505 Assertion `old_flags == ((my_flags & 0x10000U) ? 1 : 0)'
+--echo # failed in my_realloc
+--echo #
+
+CREATE TABLE t1 (pk int, c text, primary key (pk), key(c(32))) ENGINE=Aria ROW_FORMAT=DYNAMIC;
+ALTER TABLE t1 DISABLE KEYS;
+INSERT INTO t1 VALUES (1, 'Nine chars or more');
+ALTER TABLE t1 ENABLE KEYS;
+DROP TABLE t1;
diff --git a/mysql-test/suite/maria/bulk_insert_crash.result b/mysql-test/suite/maria/bulk_insert_crash.result
index fc28bf325ba..0cf5a474939 100644
--- a/mysql-test/suite/maria/bulk_insert_crash.result
+++ b/mysql-test/suite/maria/bulk_insert_crash.result
@@ -3,7 +3,7 @@ insert into t1 values (1000,1000,1000);
insert into t1 select seq,seq+100, seq+200 from seq_1_to_10;
SET GLOBAL debug_dbug="+d,crash_end_bulk_insert";
REPLACE into t1 select seq+20,seq+95, seq + 300 from seq_1_to_10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
diff --git a/mysql-test/suite/maria/fulltext2.test b/mysql-test/suite/maria/fulltext2.test
index 7bfbe600ff7..7ebdff7bd53 100644
--- a/mysql-test/suite/maria/fulltext2.test
+++ b/mysql-test/suite/maria/fulltext2.test
@@ -2,7 +2,7 @@
# test of new fulltext search features
#
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
source include/have_collation.inc;
#
diff --git a/mysql-test/suite/maria/maria-gis-recovery.result b/mysql-test/suite/maria/maria-gis-recovery.result
index f84a01fb854..d95b468bbf6 100644
--- a/mysql-test/suite/maria/maria-gis-recovery.result
+++ b/mysql-test/suite/maria/maria-gis-recovery.result
@@ -28,7 +28,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
@@ -59,7 +59,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
diff --git a/mysql-test/suite/maria/maria-recovery-big.result b/mysql-test/suite/maria/maria-recovery-big.result
index a04e24eab74..f9e5c81d8bb 100644
--- a/mysql-test/suite/maria/maria-recovery-big.result
+++ b/mysql-test/suite/maria/maria-recovery-big.result
@@ -73,7 +73,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
diff --git a/mysql-test/suite/maria/maria-recovery-bitmap.result b/mysql-test/suite/maria/maria-recovery-bitmap.result
index c6d0e2cb4e1..78ae6944aa8 100644
--- a/mysql-test/suite/maria/maria-recovery-bitmap.result
+++ b/mysql-test/suite/maria/maria-recovery-bitmap.result
@@ -25,7 +25,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -47,7 +47,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_bitmap,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/maria/maria-recovery-rtree-ft.result b/mysql-test/suite/maria/maria-recovery-rtree-ft.result
index bb7d864b6b1..329cc71c6e9 100644
--- a/mysql-test/suite/maria/maria-recovery-rtree-ft.result
+++ b/mysql-test/suite/maria/maria-recovery-rtree-ft.result
@@ -15,14 +15,14 @@ name VARCHAR(32)
,SPATIAL key (line)
) transactional=1 row_format=page engine=aria;
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 line 1 line A NULL 32 NULL SPATIAL
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 line 1 line A NULL 32 NULL SPATIAL NO
CREATE TABLE t2 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)
) transactional=1 row_format=page engine=aria;
SHOW INDEX 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 a 1 a NULL NULL NULL NULL YES FULLTEXT
-t2 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t2 1 a 1 a NULL NULL NULL NULL YES FULLTEXT NO
+t2 1 a 2 b NULL NULL NULL NULL YES FULLTEXT NO
* TEST of REDO: see if recovery can reconstruct if we give it an old table
connection admin;
* copied t2 for feeding_recovery
@@ -38,7 +38,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t2 back for feeding_recovery
* copied t1 back for feeding_recovery
* recovery happens
@@ -68,7 +68,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t2 extended;
Table Op Msg_type Msg_text
@@ -95,7 +95,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_page_cache,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t2 extended;
Table Op Msg_type Msg_text
@@ -122,7 +122,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_states,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t2 extended;
Table Op Msg_type Msg_text
@@ -149,7 +149,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t2 extended;
Table Op Msg_type Msg_text
@@ -169,7 +169,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t2 extended;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/maria/maria-recovery.result b/mysql-test/suite/maria/maria-recovery.result
index 915dc53b460..9aa9213d9bd 100644
--- a/mysql-test/suite/maria/maria-recovery.result
+++ b/mysql-test/suite/maria/maria-recovery.result
@@ -22,7 +22,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
@@ -49,7 +49,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -74,7 +74,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_page_cache,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -100,7 +100,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_states,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -127,7 +127,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -171,7 +171,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
@@ -210,7 +210,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
@@ -242,7 +242,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
@@ -272,7 +272,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -316,7 +316,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
connection default;
use mysqltest;
diff --git a/mysql-test/suite/maria/maria-recovery2.result b/mysql-test/suite/maria/maria-recovery2.result
index 0ed49ab8142..4240e76f141 100644
--- a/mysql-test/suite/maria/maria-recovery2.result
+++ b/mysql-test/suite/maria/maria-recovery2.result
@@ -25,7 +25,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -60,7 +60,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -93,7 +93,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_flush_whole_page_cache,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -134,7 +134,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_flush_whole_page_cache,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -145,8 +145,8 @@ ok
connection default;
use mysqltest;
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 A 1 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 1 NULL NULL YES BTREE NO
select count(*) from t1;
count(*)
1
@@ -162,7 +162,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_flush_whole_page_cache,maria_crash_sort_index";
* crashing mysqld intentionally
optimize table t_corrupted1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t_corrupted1 extended;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/maria/maria-recovery3.result b/mysql-test/suite/maria/maria-recovery3.result
index 9d25cd13b90..e7a32396eaa 100644
--- a/mysql-test/suite/maria/maria-recovery3.result
+++ b/mysql-test/suite/maria/maria-recovery3.result
@@ -25,7 +25,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
@@ -67,7 +67,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* copied t1 back for feeding_recovery
* recovery happens
check table t1 extended;
@@ -96,11 +96,11 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash_create_table";
* crashing mysqld intentionally
truncate table t1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
-mysqltest.t1 check warning Size of indexfile is: <SIZE> 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
@@ -122,7 +122,7 @@ connection admin;
SET SESSION debug_dbug="+d,maria_flush_whole_log,maria_crash";
* crashing mysqld intentionally
set global aria_checkpoint_interval=1;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
* recovery happens
check table t1 extended;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/maria/maria-ucs2.result b/mysql-test/suite/maria/maria-ucs2.result
index 7f3b691b139..5e5bc2cd312 100644
--- a/mysql-test/suite/maria/maria-ucs2.result
+++ b/mysql-test/suite/maria/maria-ucs2.result
@@ -28,7 +28,7 @@ t1 CREATE TABLE `t1` (
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(1200),KEY(a)) ENGINE=Aria CHARACTER SET ucs2;
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
INSERT INTO t1 VALUES (REPEAT('abc ',200));
CHECK TABLE t1;
Table Op Msg_type Msg_text
diff --git a/mysql-test/suite/maria/maria.result b/mysql-test/suite/maria/maria.result
index 37f9022a1c5..3bcb80060f0 100644
--- a/mysql-test/suite/maria/maria.result
+++ b/mysql-test/suite/maria/maria.result
@@ -62,16 +62,16 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status Table is already up to date
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 5 NULL NULL BTREE
-t1 1 b 1 b A 1 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 a A 5 NULL NULL BTREE NO
+t1 1 b 1 b A 1 NULL NULL BTREE NO
drop table t1;
create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b));
insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
@@ -351,13 +351,13 @@ CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
drop table t1;
-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255), KEY t1 (a, b, c, d, e, f, g, h, i));
-ERROR 42000: Specified key was too long; max key length is 2000 bytes
+CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255), j varchar(255), KEY t1 (a, b, c, d, e, f, g, h, i, j));
+ERROR 42000: Specified key was too long; max key length is 2300 bytes
CREATE TABLE t1 (a varchar(1), b varchar(1), key (a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b));
ERROR 42000: Too many key parts specified; max 32 parts allowed
-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255));
-ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i);
-ERROR 42000: Specified key was too long; max key length is 2000 bytes
+CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255), j varchar(255));
+ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j);
+ERROR 42000: Specified key was too long; max key length is 2300 bytes
DROP TABLE t1;
CREATE TABLE t1 (a int not null, b int, c int, key(b), key(c), key(a,b), key(c,a));
INSERT into t1 values (0,null,0), (0,null,1), (0,null,2), (0,null,3), (1,1,4);
@@ -371,13 +371,13 @@ check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 b 1 b A 10 NULL NULL YES BTREE
-t1 1 c 1 c A 10 NULL NULL YES BTREE
-t1 1 a 1 a A 10 NULL NULL BTREE
-t1 1 a 2 b A 10 NULL NULL YES BTREE
-t1 1 c_2 1 c A 10 NULL NULL YES BTREE
-t1 1 c_2 2 a A 10 NULL NULL BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 10 NULL NULL YES BTREE NO
+t1 1 c 1 c A 10 NULL NULL YES BTREE NO
+t1 1 a 1 a A 10 NULL NULL BTREE NO
+t1 1 a 2 b A 10 NULL NULL YES BTREE NO
+t1 1 c_2 1 c A 10 NULL NULL YES BTREE NO
+t1 1 c_2 2 a A 10 NULL NULL BTREE NO
explain select * from t1,t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL a NULL NULL NULL 2
@@ -640,29 +640,29 @@ Error 1146 Table 'test.t3' doesn't exist
drop table t1,t2;
create table t1 (a int, key (a));
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 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE NO
alter table t1 disable keys;
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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
create table t2 (a int);
set @@rand_seed1=31415926,@@rand_seed2=2718281828;
insert t1 select * from t2;
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 A NULL NULL NULL YES BTREE disabled
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A NULL NULL NULL YES BTREE disabled NO
alter table t1 enable keys;
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 A 1000 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 1000 NULL NULL YES BTREE NO
alter table t1 engine=heap;
alter table t1 disable keys;
Warnings:
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
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a NULL 500 NULL NULL YES HASH NO
drop table t1,t2;
create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
insert into t1 values (null,''), (null,'');
@@ -740,16 +740,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
set aria_stats_method=nulls_equal;
set @save_use_stat_tables= @@use_stat_tables;
set @@use_stat_tables= COMPLEMENTARY;
@@ -763,16 +763,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
set @@use_stat_tables= @save_use_stat_tables;
set aria_stats_method=DEFAULT;
show variables like 'aria_stats_method';
@@ -785,16 +785,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
insert into t1 values (11);
delete from t1 where a=11;
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
drop table t1;
set aria_stats_method=nulls_ignored;
show variables like 'aria_stats_method';
@@ -815,22 +815,22 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 2 NULL NULL YES BTREE
-t1 1 a 2 b A 4 NULL NULL YES BTREE
-t1 1 a 3 c A 4 NULL NULL YES BTREE
-t1 1 a 4 d A 4 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
+t1 1 a 2 b A 4 NULL NULL YES BTREE NO
+t1 1 a 3 c A 4 NULL NULL YES BTREE NO
+t1 1 a 4 d A 4 NULL NULL YES BTREE NO
delete from t1;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 0 NULL NULL YES BTREE
-t1 1 a 2 b A 0 NULL NULL YES BTREE
-t1 1 a 3 c A 0 NULL NULL YES BTREE
-t1 1 a 4 d A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 0 NULL NULL YES BTREE NO
+t1 1 a 2 b A 0 NULL NULL YES BTREE NO
+t1 1 a 3 c A 0 NULL NULL YES BTREE NO
+t1 1 a 4 d A 0 NULL NULL YES BTREE NO
set @@use_stat_tables= @save_use_stat_tables;
set aria_stats_method=DEFAULT;
drop table t1;
@@ -1561,7 +1561,7 @@ create table t1 (v char(10) character set utf8);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` char(10) CHARACTER SET utf8 DEFAULT NULL
+ `v` char(10) CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
create table t1 (v varchar(10), c char(10)) row_format=fixed;
@@ -1594,7 +1594,7 @@ a b
drop table t1;
create table t1 (v varchar(65530), key(v));
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
drop table if exists t1;
set statement sql_mode = 'NO_ENGINE_SUBSTITUTION' for
create table t1 (v varchar(65536));
@@ -1613,7 +1613,7 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `v` mediumtext CHARACTER SET utf8 DEFAULT NULL
+ `v` mediumtext CHARACTER SET utf8mb3 DEFAULT NULL
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
set statement sql_mode='' for
@@ -1706,13 +1706,13 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
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 A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
alter table t1 disable keys;
alter table t1 enable keys;
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 A 8 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 8 NULL NULL YES BTREE NO
drop table t1;
connect session1,localhost,root,,;
connect session2,localhost,root,,;
@@ -1864,55 +1864,55 @@ t1 CREATE TABLE `t1` (
KEY `a` (`a`) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
-create table t1 (a varchar(2048), key `a` (a));
+create table t1 (a varchar(4096), key `a` (a));
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2048) DEFAULT NULL,
- KEY `a` (`a`(2000))
+ `a` varchar(4096) DEFAULT NULL,
+ KEY `a` (`a`(2300))
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
-create table t1 (a varchar(2048), key `a` (a) key_block_size=1024);
+create table t1 (a varchar(4096), key `a` (a) key_block_size=1024);
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2048) DEFAULT NULL,
- KEY `a` (`a`(2000)) KEY_BLOCK_SIZE=8192
+ `a` varchar(4096) DEFAULT NULL,
+ KEY `a` (`a`(2300)) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
-create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=1024;
+create table t1 (a int not null, b varchar(4096), key (a), key(b)) key_block_size=1024;
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
KEY `a` (`a`) KEY_BLOCK_SIZE=8192,
- KEY `b` (`b`(2000)) KEY_BLOCK_SIZE=8192
+ KEY `b` (`b`(2300)) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=1024
alter table t1 key_block_size=2048;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
KEY `a` (`a`) KEY_BLOCK_SIZE=8192,
- KEY `b` (`b`(2000)) KEY_BLOCK_SIZE=8192
+ KEY `b` (`b`(2300)) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=2048
alter table t1 add c int, add key (c);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
KEY `a` (`a`) KEY_BLOCK_SIZE=8192,
- KEY `b` (`b`(2000)) KEY_BLOCK_SIZE=8192,
+ KEY `b` (`b`(2300)) KEY_BLOCK_SIZE=8192,
KEY `c` (`c`) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=2048
alter table t1 key_block_size=4096;
@@ -1920,10 +1920,10 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
KEY `a` (`a`) KEY_BLOCK_SIZE=8192,
- KEY `b` (`b`(2000)) KEY_BLOCK_SIZE=8192,
+ KEY `b` (`b`(2300)) KEY_BLOCK_SIZE=8192,
KEY `c` (`c`) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=4096
alter table t1 key_block_size=0;
@@ -1931,10 +1931,10 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
KEY `a` (`a`) KEY_BLOCK_SIZE=8192,
- KEY `b` (`b`(2000)) KEY_BLOCK_SIZE=8192,
+ KEY `b` (`b`(2300)) KEY_BLOCK_SIZE=8192,
KEY `c` (`c`) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
alter table t1 add d int, add key (d);
@@ -1942,37 +1942,37 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
`d` int(11) DEFAULT NULL,
KEY `a` (`a`) KEY_BLOCK_SIZE=8192,
- KEY `b` (`b`(2000)) KEY_BLOCK_SIZE=8192,
+ KEY `b` (`b`(2300)) KEY_BLOCK_SIZE=8192,
KEY `c` (`c`) KEY_BLOCK_SIZE=8192,
KEY `d` (`d`)
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
-create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=8192;
+create table t1 (a int not null, b varchar(4096), key (a), key(b)) key_block_size=8192;
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
KEY `a` (`a`),
- KEY `b` (`b`(2000))
+ KEY `b` (`b`(2300))
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=8192
drop table t1;
-create table t1 (a int not null, b varchar(2048), key (a) key_block_size=1024, key(b)) key_block_size=8192;
+create table t1 (a int not null, b varchar(4096), key (a) key_block_size=1024, key(b)) key_block_size=8192;
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(2048) DEFAULT NULL,
+ `b` varchar(4096) DEFAULT NULL,
KEY `a` (`a`),
- KEY `b` (`b`(2000))
+ KEY `b` (`b`(2300))
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=8192
drop table t1;
create table t1 (a int not null, b int, key (a) key_block_size=1024, key(b) key_block_size=8192) key_block_size=16384;
@@ -1993,14 +1993,14 @@ t1 CREATE TABLE `t1` (
KEY `a` (`a`) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
-create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000);
+create table t1 (a varchar(4096), key `a` (a) key_block_size=1000000000000000000);
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2048) DEFAULT NULL,
- KEY `a` (`a`(2000)) KEY_BLOCK_SIZE=8192
+ `a` varchar(4096) DEFAULT NULL,
+ KEY `a` (`a`(2300)) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
create table t1 (a int not null, key `a` (a) key_block_size=1025);
@@ -2232,7 +2232,7 @@ KEY (c2)
Aria file: MYSQLD_DATADIR/test/t1
Record format: Block
Crashsafe: yes
-Character set: utf8_general_ci (33)
+Character set: utf8mb3_general_ci (33)
Data records: 0 Deleted blocks: 0
Block_size: 8192
Recordlength: 99
diff --git a/mysql-test/suite/maria/maria.test b/mysql-test/suite/maria/maria.test
index 1761a96d3d2..119d005dc72 100644
--- a/mysql-test/suite/maria/maria.test
+++ b/mysql-test/suite/maria/maria.test
@@ -373,12 +373,12 @@ drop table t1;
#
--error 1071
-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255), KEY t1 (a, b, c, d, e, f, g, h, i));
+CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255), j varchar(255), KEY t1 (a, b, c, d, e, f, g, h, i, j));
--error 1070
CREATE TABLE t1 (a varchar(1), b varchar(1), key (a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b,a,b));
-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255));
+CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), f varchar(255), g varchar(255), h varchar(255), i varchar(255), j varchar(255));
--error 1071
-ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i);
+ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j);
DROP TABLE t1;
#
@@ -1159,15 +1159,15 @@ create table t1 (a int not null, key `a` (a) key_block_size=2048);
show create table t1;
drop table t1;
-create table t1 (a varchar(2048), key `a` (a));
+create table t1 (a varchar(4096), key `a` (a));
show create table t1;
drop table t1;
-create table t1 (a varchar(2048), key `a` (a) key_block_size=1024);
+create table t1 (a varchar(4096), key `a` (a) key_block_size=1024);
show create table t1;
drop table t1;
-create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=1024;
+create table t1 (a int not null, b varchar(4096), key (a), key(b)) key_block_size=1024;
show create table t1;
alter table t1 key_block_size=2048;
show create table t1;
@@ -1181,11 +1181,11 @@ alter table t1 add d int, add key (d);
show create table t1;
drop table t1;
-create table t1 (a int not null, b varchar(2048), key (a), key(b)) key_block_size=8192;
+create table t1 (a int not null, b varchar(4096), key (a), key(b)) key_block_size=8192;
show create table t1;
drop table t1;
-create table t1 (a int not null, b varchar(2048), key (a) key_block_size=1024, key(b)) key_block_size=8192;
+create table t1 (a int not null, b varchar(4096), key (a) key_block_size=1024, key(b)) key_block_size=8192;
show create table t1;
drop table t1;
@@ -1199,7 +1199,7 @@ create table t1 (a int not null, key `a` (a) key_block_size=512);
show create table t1;
drop table t1;
-create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000);
+create table t1 (a varchar(4096), key `a` (a) key_block_size=1000000000000000000);
show create table t1;
drop table t1;
diff --git a/mysql-test/suite/maria/maria3.result b/mysql-test/suite/maria/maria3.result
index 871748b399a..fa794029226 100644
--- a/mysql-test/suite/maria/maria3.result
+++ b/mysql-test/suite/maria/maria3.result
@@ -15,14 +15,14 @@ t1 CREATE TABLE `t1` (
KEY `a` (`a`) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
-create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000);
+create table t1 (a varchar(4096), key `a` (a) key_block_size=1000000000000000000);
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` varchar(2048) DEFAULT NULL,
- KEY `a` (`a`(2000)) KEY_BLOCK_SIZE=8192
+ `a` varchar(4096) DEFAULT NULL,
+ KEY `a` (`a`(2300)) KEY_BLOCK_SIZE=8192
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0
drop table t1;
create table t1 (a int not null, key `a` (a) key_block_size=1025);
diff --git a/mysql-test/suite/maria/maria3.test b/mysql-test/suite/maria/maria3.test
index bf533228300..d8f0721cd9a 100644
--- a/mysql-test/suite/maria/maria3.test
+++ b/mysql-test/suite/maria/maria3.test
@@ -22,7 +22,7 @@ create table t1 (a int not null, key `a` (a) key_block_size=512);
show create table t1;
drop table t1;
-create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000);
+create table t1 (a varchar(4096), key `a` (a) key_block_size=1000000000000000000);
show create table t1;
drop table t1;
diff --git a/mysql-test/suite/maria/max_length.result b/mysql-test/suite/maria/max_length.result
index 4403ce5d0d2..ca02eb6f4b2 100644
--- a/mysql-test/suite/maria/max_length.result
+++ b/mysql-test/suite/maria/max_length.result
@@ -54,20 +54,20 @@ insert into t1 (v,b) select v,b from t2;
ERROR HY000: The table 't1' is full
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
+test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
test.t1 check status OK
insert into t1 values(null, repeat("gh",400),repeat("jkl",10000));
ERROR HY000: The table 't1' is full
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
+test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
test.t1 check status OK
truncate table t1;
insert into t1 (v,b) select v,b from t2;
ERROR HY000: The table 't1' is full
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
+test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
test.t1 check status OK
drop table t1,t2;
create table t1 (
@@ -135,7 +135,7 @@ count(*)
3276
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 65520 of 65535 used
+test.t1 check warning Datafile is almost full, 65520 of 65535 used
test.t1 check status OK
create or replace table t1 (
c1 int unsigned,
@@ -172,7 +172,7 @@ count(*)
6189940
check table t1;
Table Op Msg_type Msg_text
-test.t1 check warning Datafile is almost full, 268320768 of 268320768 used
+test.t1 check warning Datafile is almost full, 268320768 of 268320768 used
test.t1 check status OK
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 Max_index_length Temporary
diff --git a/mysql-test/suite/maria/mrr.result b/mysql-test/suite/maria/mrr.result
index df915e4a15d..a8d444d4bd4 100644
--- a/mysql-test/suite/maria/mrr.result
+++ b/mysql-test/suite/maria/mrr.result
@@ -423,12 +423,12 @@ set join_buffer_size=10240;
CREATE TABLE t1 (
f2 varchar(32) COLLATE latin1_swedish_ci,
f3 int(11),
-f4 varchar(2048) COLLATE utf8_bin,
-f5 varchar(2048) COLLATE latin1_bin,
+f4 varchar(4096) COLLATE utf8_bin,
+f5 varchar(4096) COLLATE latin1_bin,
KEY (f5)
) ENGINE=Aria TRANSACTIONAL=0 ;
Warnings:
-Note 1071 Specified key was too long; max key length is 2000 bytes
+Note 1071 Specified key was too long; max key length is 2300 bytes
# Fill the table with some data
SELECT alias2.* , alias1.f2
FROM
diff --git a/mysql-test/suite/maria/mrr.test b/mysql-test/suite/maria/mrr.test
index 45d75a9d795..49da28fda5e 100644
--- a/mysql-test/suite/maria/mrr.test
+++ b/mysql-test/suite/maria/mrr.test
@@ -144,8 +144,8 @@ set join_buffer_size=10240;
CREATE TABLE t1 (
f2 varchar(32) COLLATE latin1_swedish_ci,
f3 int(11),
- f4 varchar(2048) COLLATE utf8_bin,
- f5 varchar(2048) COLLATE latin1_bin,
+ f4 varchar(4096) COLLATE utf8_bin,
+ f5 varchar(4096) COLLATE latin1_bin,
KEY (f5)
) ENGINE=Aria TRANSACTIONAL=0 ;
diff --git a/mysql-test/suite/mariabackup/alter_copy_excluded.opt b/mysql-test/suite/mariabackup/alter_copy_excluded.opt
new file mode 100644
index 00000000000..56434e883de
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_excluded.opt
@@ -0,0 +1 @@
+--loose-innodb_sys_tablespaces
diff --git a/mysql-test/suite/mariabackup/alter_copy_excluded.result b/mysql-test/suite/mariabackup/alter_copy_excluded.result
new file mode 100644
index 00000000000..45181e355d0
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_excluded.result
@@ -0,0 +1,24 @@
+# xtrabackup backup
+CREATE TABLE t1(i int, t text, fulltext index(t)) ENGINE=InnoDB;
+INSERT into t1 values(1,'foo');
+connect con2, localhost, root,,;
+connection con2;
+SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_commit' ;
+SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 DROP t, algorithm=COPY;|
+connection default;
+connection con2;
+SET debug_sync='RESET';
+disconnect con2;
+connection default;
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t1;
+i t
+1 foo
+DROP TABLE t1;
+SELECT * FROM INFORMATION_SCHEMA.innodb_sys_tablespaces WHERE name like '%/#sql%' or name like 'test/%';
+SPACE NAME FLAG ROW_FORMAT PAGE_SIZE FILENAME FS_BLOCK_SIZE FILE_SIZE ALLOCATED_SIZE
+# restart
diff --git a/mysql-test/suite/mariabackup/alter_copy_excluded.test b/mysql-test/suite/mariabackup/alter_copy_excluded.test
new file mode 100644
index 00000000000..195aa09b5df
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_excluded.test
@@ -0,0 +1,65 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+# The test demonstrates that intermediate tables (ALTER TABLE...ALGORITHM=COPY)
+# will not be included in a backup.
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+
+CREATE TABLE t1(i int, t text, fulltext index(t)) ENGINE=InnoDB;
+INSERT into t1 values(1,'foo');
+
+connect con2, localhost, root,,;
+connection con2;
+SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_commit' ;
+DELIMITER |;
+send SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 DROP t, algorithm=COPY;|
+DELIMITER ;|
+connection default;
+
+# Setup mariabackup events
+# - After BACKUP STAGE START , let concurrent ALTER run, wand wait for it to create temporary tables
+# - After BACKUP STAGE COMMIT, check that temporary files are in the database
+
+let after_backup_stage_start=SET debug_sync='now SIGNAL after_backup_stage_start WAIT_FOR go';
+DELIMITER |;
+# The following query only works if there are innodb "intermediate" tables
+# in the system tables , which we want to prove there
+let after_backup_stage_block_commit=
+ IF (SELECT COUNT(*) > 0 FROM INFORMATION_SCHEMA.innodb_sys_tablespaces WHERE name like '%/#sql%') THEN
+ SET debug_sync='now SIGNAL after_backup_stage_block_commit';
+ END IF|
+DELIMITER ;|
+
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
+--enable_result_log
+
+# There should be no temp files in the backup.
+--list_files $targetdir/test #sql*
+
+connection con2;
+#Wait for ALTER to finish, cleanup
+reap;
+SET debug_sync='RESET';
+disconnect con2;
+
+connection default;
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+# Check there are no temp tablespaces in sys_tablespaces, after backup
+SELECT * FROM t1;
+DROP TABLE t1;
+SELECT * FROM INFORMATION_SCHEMA.innodb_sys_tablespaces WHERE name like '%/#sql%' or name like 'test/%';
+
+# Restart once again to clear first_start_after_backup flag
+# This is to catch potential warnings, since "missing file" for #sql is suppressed
+# during the first start after backup
+--source include/restart_mysqld.inc
+
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/alter_copy_race.result b/mysql-test/suite/mariabackup/alter_copy_race.result
new file mode 100644
index 00000000000..82202249f81
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_race.result
@@ -0,0 +1,24 @@
+# xtrabackup backup
+CREATE TABLE t1(i int) ENGINE=InnoDB;
+INSERT into t1 values(1);
+connect con2, localhost, root,,;
+connection con2;
+set lock_wait_timeout=1;
+SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_commit';
+SET debug_sync='alter_table_after_temp_table_drop SIGNAL temp_table_dropped';
+SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 FORCE, algorithm=COPY;|
+connection default;
+connection con2;
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET debug_sync='RESET';
+disconnect con2;
+connection default;
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t1;
+i
+1
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/alter_copy_race.test b/mysql-test/suite/mariabackup/alter_copy_race.test
new file mode 100644
index 00000000000..1ee69168115
--- /dev/null
+++ b/mysql-test/suite/mariabackup/alter_copy_race.test
@@ -0,0 +1,50 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+
+# The test demonstrates that intermediate tables (ALTER TABLE...ALGORITHM=COPY)
+# are not always properly locked, e.g., can be dropped after
+# BACKUP STAGE BLOCK_COMMIT
+# succeeded.
+# Thus mariabackup decides not to have them in backup at all,
+# since they keep changing even after the backup LSN was determined.
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+
+CREATE TABLE t1(i int) ENGINE=InnoDB;
+INSERT into t1 values(1);
+
+connect con2, localhost, root,,;
+connection con2;
+set lock_wait_timeout=1;
+SET debug_sync='copy_data_between_tables_before_reset_backup_lock SIGNAL go WAIT_FOR after_backup_stage_block_commit';
+SET debug_sync='alter_table_after_temp_table_drop SIGNAL temp_table_dropped';
+DELIMITER |;
+send SET debug_sync='now WAIT_FOR after_backup_stage_start';ALTER TABLE test.t1 FORCE, algorithm=COPY;|
+DELIMITER ;|
+connection default;
+
+# setup mariabackup events
+let after_backup_stage_start=SET debug_sync='now SIGNAL after_backup_stage_start WAIT_FOR go';
+let after_backup_stage_block_commit=SET debug_sync='now SIGNAL after_backup_stage_block_commit';
+let backup_fix_ddl=SET debug_sync='now WAIT_FOR temp_table_dropped';
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --dbug=+d,mariabackup_events;
+--enable_result_log
+
+connection con2;
+--error ER_LOCK_WAIT_TIMEOUT
+reap;
+SET debug_sync='RESET';
+disconnect con2;
+
+connection default;
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t1;
+DROP TABLE t1;
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/big_innodb_log.result b/mysql-test/suite/mariabackup/big_innodb_log.result
index 7bd5d20049d..b9b6b6afce3 100644
--- a/mysql-test/suite/mariabackup/big_innodb_log.result
+++ b/mysql-test/suite/mariabackup/big_innodb_log.result
@@ -12,6 +12,7 @@ INSERT INTO t VALUES
(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
(0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+set global innodb_log_checkpoint_now = 1;
# xtrabackup backup, execute the following query after test.t is copied:
# BEGIN NOT ATOMIC INSERT INTO test.t SELECT * FROM test.t; UPDATE test.t SET i = 10 WHERE i = 0; DELETE FROM test.t WHERE i = 1; END
SELECT count(*) FROM t WHERE i = 0;
diff --git a/mysql-test/suite/mariabackup/big_innodb_log.test b/mysql-test/suite/mariabackup/big_innodb_log.test
index 4a87ecb18fe..247e7179c42 100644
--- a/mysql-test/suite/mariabackup/big_innodb_log.test
+++ b/mysql-test/suite/mariabackup/big_innodb_log.test
@@ -32,6 +32,7 @@ INSERT INTO t VALUES
(0), (1), (2), (3), (4), (5), (6), (7), (8), (9),
(0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+set global innodb_log_checkpoint_now = 1;
--let after_copy_test_t=BEGIN NOT ATOMIC INSERT INTO test.t SELECT * FROM test.t; UPDATE test.t SET i = 10 WHERE i = 0; DELETE FROM test.t WHERE i = 1; END
--echo # xtrabackup backup, execute the following query after test.t is copied:
diff --git a/mysql-test/suite/mariabackup/defer_space.result b/mysql-test/suite/mariabackup/defer_space.result
new file mode 100644
index 00000000000..41239c476e7
--- /dev/null
+++ b/mysql-test/suite/mariabackup/defer_space.result
@@ -0,0 +1,26 @@
+call mtr.add_suppression("InnoDB: Expected tablespace id .*");
+# Mariabackup --backup with page0 INIT_PAGE redo record
+# and there is no FILE_CREATE for the tablespace t1
+SET DEBUG_DBUG="+d,checkpoint_after_file_create";
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1);
+# xtrabackup backup
+# xtrabackup prepare
+# shutdown server
+# remove datadir
+# xtrabackup move back
+# restart
+SELECT * FROM t1;
+f1
+1
+DROP TABLE t1;
+SET DEBUG_DBUG="-d,checkpoint_after_file_create";
+# Mariabackup fails after corrupting the page0 in disk
+# and there is no INIT_PAGE for page0
+CREATE TABLE t1(c INT) ENGINE=INNODB;
+# Corrupt the table
+# restart
+# xtrabackup backup
+FOUND 10 /Header page consists of zero bytes*/ in backup.log
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/mariabackup/defer_space.test b/mysql-test/suite/mariabackup/defer_space.test
new file mode 100644
index 00000000000..65f2262fd1d
--- /dev/null
+++ b/mysql-test/suite/mariabackup/defer_space.test
@@ -0,0 +1,69 @@
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/not_embedded.inc
+
+call mtr.add_suppression("InnoDB: Expected tablespace id .*");
+--echo # Mariabackup --backup with page0 INIT_PAGE redo record
+--echo # and there is no FILE_CREATE for the tablespace t1
+SET DEBUG_DBUG="+d,checkpoint_after_file_create";
+CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
+INSERT INTO t1 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
+
+echo # xtrabackup prepare;
+--disable_result_log
+exec $XTRABACKUP --prepare --target-dir=$targetdir;
+-- source include/restart_and_restore.inc
+--enable_result_log
+
+SELECT * FROM t1;
+DROP TABLE t1;
+rmdir $targetdir;
+SET DEBUG_DBUG="-d,checkpoint_after_file_create";
+
+--echo # Mariabackup fails after corrupting the page0 in disk
+--echo # and there is no INIT_PAGE for page0
+
+CREATE TABLE t1(c INT) ENGINE=INNODB;
+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);
+my $page_size = $ENV{INNODB_PAGE_SIZE};
+
+sysopen FILE, "$ENV{MYSQLD_DATADIR}/test/t1.ibd", O_RDWR
+|| die "Cannot open t1.ibd\n";
+sysseek(FILE, 0, SEEK_SET) || die "Cannot seek t1.ibd\n";
+my $page=chr(0) x $page_size;
+syswrite(FILE, $page, $page_size)==$page_size;
+close FILE or die "close";
+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 --target-dir=$targetdir --core-file > $backuplog;
+--enable_result_log
+
+--let SEARCH_PATTERN=Header page consists of zero bytes*
+--let SEARCH_FILE=$backuplog
+--source include/search_pattern_in_file.inc
+UNLOCK TABLES;
+DROP TABLE t1;
+rmdir $targetdir;
+remove_file $backuplog;
diff --git a/mysql-test/suite/mariabackup/disabled.def b/mysql-test/suite/mariabackup/disabled.def
new file mode 100644
index 00000000000..d272540cec8
--- /dev/null
+++ b/mysql-test/suite/mariabackup/disabled.def
@@ -0,0 +1 @@
+log_page_corruption : MDEV-26210
diff --git a/mysql-test/suite/mariabackup/drop_table_during_backup.result b/mysql-test/suite/mariabackup/drop_table_during_backup.result
index a0fa9db5b94..dfcde706ba8 100644
--- a/mysql-test/suite/mariabackup/drop_table_during_backup.result
+++ b/mysql-test/suite/mariabackup/drop_table_during_backup.result
@@ -3,6 +3,7 @@ CREATE TABLE t2 (i int) ENGINE=INNODB;
CREATE TABLE t3 (i int) ENGINE=INNODB;
CREATE TABLE t4 (i int) ENGINE=INNODB;
CREATE TABLE t5 (i int) ENGINE=INNODB;
+set global innodb_log_checkpoint_now=1;
# xtrabackup prepare
# shutdown server
# remove datadir
diff --git a/mysql-test/suite/mariabackup/drop_table_during_backup.test b/mysql-test/suite/mariabackup/drop_table_during_backup.test
index e3a81b77b71..2ac82945ffe 100644
--- a/mysql-test/suite/mariabackup/drop_table_during_backup.test
+++ b/mysql-test/suite/mariabackup/drop_table_during_backup.test
@@ -6,6 +6,8 @@ CREATE TABLE t3 (i int) ENGINE=INNODB;
CREATE TABLE t4 (i int) ENGINE=INNODB;
CREATE TABLE t5 (i int) ENGINE=INNODB;
+set global innodb_log_checkpoint_now=1;
+
--let before_copy_test_t1=DROP TABLE test.t1
--let after_copy_test_t2=DROP TABLE test.t2;
# MDEV-18185, drop + rename combination
diff --git a/mysql-test/suite/mariabackup/include/have_rocksdb.inc b/mysql-test/suite/mariabackup/include/have_rocksdb.inc
deleted file mode 100644
index d59f76f6cf3..00000000000
--- a/mysql-test/suite/mariabackup/include/have_rocksdb.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'rocksdb'`)
-{
- --skip Requires rocksdb
-} \ No newline at end of file
diff --git a/mysql-test/suite/mariabackup/incremental_backup.result b/mysql-test/suite/mariabackup/incremental_backup.result
index d6a78655a0c..ed67ceee8e2 100644
--- a/mysql-test/suite/mariabackup/incremental_backup.result
+++ b/mysql-test/suite/mariabackup/incremental_backup.result
@@ -1,6 +1,7 @@
call mtr.add_suppression("InnoDB: New log files created");
CREATE TABLE t_aria(i INT) ENGINE ARIA;
CREATE TABLE t(i INT PRIMARY KEY) ENGINE INNODB;
+INSERT INTO t VALUES(100);
BEGIN;
INSERT INTO t VALUES(2);
connect con1,localhost,root,,;
@@ -17,6 +18,7 @@ SELECT * FROM t;
i
1
2
+100
# Prepare full backup, apply incremental one
# Aria log file was updated during applying incremental backup
disconnect con1;
@@ -29,5 +31,6 @@ SELECT * FROM t;
i
1
2
+100
DROP TABLE t;
DROP TABLE t_aria;
diff --git a/mysql-test/suite/mariabackup/incremental_backup.test b/mysql-test/suite/mariabackup/incremental_backup.test
index 88e277fd95a..62cdf9e6cb3 100644
--- a/mysql-test/suite/mariabackup/incremental_backup.test
+++ b/mysql-test/suite/mariabackup/incremental_backup.test
@@ -13,6 +13,9 @@ let incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
CREATE TABLE t_aria(i INT) ENGINE ARIA;
CREATE TABLE t(i INT PRIMARY KEY) ENGINE INNODB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t VALUES(100);
BEGIN;
INSERT INTO t VALUES(2);
connect (con1,localhost,root,,);
diff --git a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.result b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.result
index 33a3b0001a1..ab5f237b2a9 100644
--- a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.result
+++ b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.result
@@ -3,6 +3,7 @@ CREATE TABLE t1(i INT PRIMARY KEY) ENGINE INNODB;
CREATE TABLE t2(i INT PRIMARY KEY) ENGINE INNODB;
CREATE TABLE t3(i INT) ENGINE INNODB;
CREATE TABLE t10(i INT PRIMARY KEY) ENGINE INNODB;
+set global innodb_log_checkpoint_now = 1;
# Create full backup , modify table, then create incremental/differential backup
INSERT into t1 values(1);
# Prepare full backup, apply incremental one
diff --git a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test
index ebdb2137523..d7ba15c28ae 100644
--- a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test
+++ b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test
@@ -10,6 +10,8 @@ CREATE TABLE t2(i INT PRIMARY KEY) ENGINE INNODB;
CREATE TABLE t3(i INT) ENGINE INNODB;
CREATE TABLE t10(i INT PRIMARY KEY) ENGINE INNODB;
+set global innodb_log_checkpoint_now = 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;
diff --git a/mysql-test/suite/mariabackup/lock_ddl_per_table.result b/mysql-test/suite/mariabackup/lock_ddl_per_table.result
index 434b6852530..c1b28e46071 100644
--- a/mysql-test/suite/mariabackup/lock_ddl_per_table.result
+++ b/mysql-test/suite/mariabackup/lock_ddl_per_table.result
@@ -7,5 +7,6 @@ PARTITION p1 VALUES LESS THAN (1995),
PARTITION p2 VALUES LESS THAN (2000),
PARTITION p3 VALUES LESS THAN (2005)
) ;
+set global innodb_log_checkpoint_now = 1;
DROP TABLE t;
DROP TABLE `bobby``tables`;
diff --git a/mysql-test/suite/mariabackup/lock_ddl_per_table.test b/mysql-test/suite/mariabackup/lock_ddl_per_table.test
index 2689508e554..18c207718b5 100644
--- a/mysql-test/suite/mariabackup/lock_ddl_per_table.test
+++ b/mysql-test/suite/mariabackup/lock_ddl_per_table.test
@@ -13,9 +13,11 @@ CREATE TABLE `bobby``tables` (id INT, name VARCHAR(50), purchased DATE) ENGINE I
PARTITION p3 VALUES LESS THAN (2005)
) ;
+set global innodb_log_checkpoint_now = 1;
+
--disable_result_log
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --lock-ddl-per-table=1 --dbug=+d,check_mdl_lock_works;
--enable_result_log
DROP TABLE t;
DROP TABLE `bobby``tables`;
-rmdir $targetdir; \ No newline at end of file
+rmdir $targetdir;
diff --git a/mysql-test/suite/mariabackup/log_copy_interval.result b/mysql-test/suite/mariabackup/log_copy_interval.result
new file mode 100644
index 00000000000..678fc6cc0a2
--- /dev/null
+++ b/mysql-test/suite/mariabackup/log_copy_interval.result
@@ -0,0 +1,2 @@
+# xtrabackup backup
+NOT FOUND /sleep_after_waiting_for_lsn\n(\[\d+\] \d+-\d+-\d+ \d+:\d+:\d+ >> log scanned up to \(\d+\)\n){2}/ in backup.log
diff --git a/mysql-test/suite/mariabackup/log_copy_interval.test b/mysql-test/suite/mariabackup/log_copy_interval.test
new file mode 100644
index 00000000000..5ea09c53066
--- /dev/null
+++ b/mysql-test/suite/mariabackup/log_copy_interval.test
@@ -0,0 +1,18 @@
+--source include/have_debug.inc
+
+echo # xtrabackup backup;
+let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--let $backup_log=$MYSQLTEST_VARDIR/tmp/backup.log
+
+--let sleep_after_waiting_for_lsn=250
+--disable_result_log
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --log-copy-interval=500 --dbug=+d,mariabackup_inject_code > $backup_log 2>&1;
+--enable_result_log
+
+--let SEARCH_PATTERN=sleep_after_waiting_for_lsn\n(\[\d+\] \d+-\d+-\d+ \d+:\d+:\d+ >> log scanned up to \(\d+\)\n){2}
+--let SEARCH_FILE=$backup_log
+--source include/search_pattern_in_file.inc
+--remove_file $backup_log
+
+rmdir $targetdir;
+
diff --git a/mysql-test/suite/mariabackup/log_page_corruption.result b/mysql-test/suite/mariabackup/log_page_corruption.result
index 91db833622a..4dcd21f1e2f 100644
--- a/mysql-test/suite/mariabackup/log_page_corruption.result
+++ b/mysql-test/suite/mariabackup/log_page_corruption.result
@@ -98,12 +98,12 @@ test/t3_inc
------
# Full backup prepare
# "innodb_corrupted_pages" file must not exist after successful prepare
-FOUND 1 /was successfuly fixed.*/ in backup.log
+FOUND 1 /was successfully fixed.*/ in backup.log
# Check that fixed pages are zero-filled
# Incremental backup prepare
# "innodb_corrupted_pages" file must not exist after successful prepare
# do not remove "innodb_corrupted_pages" in incremental dir
-FOUND 1 /was successfuly fixed.*/ in backup.log
+FOUND 1 /was successfully fixed.*/ in backup.log
# Check that fixed pages are zero-filled
# shutdown server
# remove datadir
diff --git a/mysql-test/suite/mariabackup/log_page_corruption.test b/mysql-test/suite/mariabackup/log_page_corruption.test
index 0151afb96b4..8931eb1eaf7 100644
--- a/mysql-test/suite/mariabackup/log_page_corruption.test
+++ b/mysql-test/suite/mariabackup/log_page_corruption.test
@@ -323,7 +323,7 @@ exec $XTRABACKUP --prepare --target-dir=$targetdir > $backuplog;
--echo # "innodb_corrupted_pages" file must not exist after successful prepare
--error 1
--file_exists $targetdir/innodb_corrupted_pages
---let SEARCH_PATTERN=was successfuly fixed.*
+--let SEARCH_PATTERN=was successfully fixed.*
--let SEARCH_FILE=$backuplog
--source include/search_pattern_in_file.inc
@@ -347,7 +347,7 @@ exec $XTRABACKUP --prepare --target-dir=$targetdir --incremental-dir=$incdir > $
--file_exists $targetdir/innodb_corrupted_pages
--echo # do not remove "innodb_corrupted_pages" in incremental dir
--file_exists $incdir/innodb_corrupted_pages
---let SEARCH_PATTERN=was successfuly fixed.*
+--let SEARCH_PATTERN=was successfully fixed.*
--let SEARCH_FILE=$backuplog
--source include/search_pattern_in_file.inc
diff --git a/mysql-test/suite/mariabackup/mdev-14447.result b/mysql-test/suite/mariabackup/mdev-14447.result
index 357e883178b..8f7a1a8708b 100644
--- a/mysql-test/suite/mariabackup/mdev-14447.result
+++ b/mysql-test/suite/mariabackup/mdev-14447.result
@@ -7,7 +7,6 @@ COMMIT;
SELECT count(*) FROM t;
count(*)
100000
-FOUND 1 /Checksum mismatch in datafile/ in backup.log
# Prepare full backup, apply incremental one
# Restore and check results
# shutdown server
diff --git a/mysql-test/suite/mariabackup/mdev-14447.test b/mysql-test/suite/mariabackup/mdev-14447.test
index 7877a7805e1..b6998976e8c 100644
--- a/mysql-test/suite/mariabackup/mdev-14447.test
+++ b/mysql-test/suite/mariabackup/mdev-14447.test
@@ -18,15 +18,7 @@ INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
COMMIT;
SELECT count(*) FROM t;
-let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log;
-
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir --dbug=+d,page_intermittent_checksum_mismatch 2> $backuplog;
-
---let SEARCH_RANGE = 10000000
---let SEARCH_PATTERN=Checksum mismatch in datafile
---let SEARCH_FILE=$backuplog
---source include/search_pattern_in_file.inc
-remove_file $backuplog;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$incremental_dir --incremental-basedir=$basedir --dbug=+d,page_intermittent_checksum_mismatch;
--disable_result_log
echo # Prepare full backup, apply incremental one;
diff --git a/mysql-test/suite/mariabackup/missing_ibd.test b/mysql-test/suite/mariabackup/missing_ibd.test
index ce22616e25d..dc1406039e7 100644
--- a/mysql-test/suite/mariabackup/missing_ibd.test
+++ b/mysql-test/suite/mariabackup/missing_ibd.test
@@ -11,9 +11,8 @@ let MYSQLD_DATADIR=`select @@datadir`;
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: '.*test.t1\.ibd'");
call mtr.add_suppression('InnoDB: Operating system error number');
call mtr.add_suppression('InnoDB: The error means the system cannot find the path specified\.');
-call mtr.add_suppression('InnoDB: If you are installing InnoDB');
call mtr.add_suppression('InnoDB: Table test/t1 in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist');
-call mtr.add_suppression('InnoDB: Ignoring tablespace for `test`\.`t1` because it could not be opened\.');
+call mtr.add_suppression('InnoDB: Ignoring tablespace for test/t1 because it could not be opened\.');
--enable_query_log
--source include/shutdown_mysqld.inc
diff --git a/mysql-test/suite/mariabackup/partial.result b/mysql-test/suite/mariabackup/partial.result
index 8ccc8f6a6c7..981bef4e40c 100644
--- a/mysql-test/suite/mariabackup/partial.result
+++ b/mysql-test/suite/mariabackup/partial.result
@@ -4,8 +4,8 @@ CREATE TABLE t21(i INT) ENGINE INNODB;
INSERT INTO t21 VALUES(1);
CREATE TABLE t2(i int) ENGINE INNODB;
# xtrabackup backup
-t1.ibd
-t21.ibd
+t1.new
+t21.new
# xtrabackup prepare
t1.cfg
t21.cfg
diff --git a/mysql-test/suite/mariabackup/partial.test b/mysql-test/suite/mariabackup/partial.test
index 53388b1947f..d0d07daf2ea 100644
--- a/mysql-test/suite/mariabackup/partial.test
+++ b/mysql-test/suite/mariabackup/partial.test
@@ -17,6 +17,7 @@ let targetdir=$MYSQLTEST_VARDIR/tmp/backup;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables=test.*1" --target-dir=$targetdir;
--enable_result_log
list_files $targetdir/test *.ibd;
+list_files $targetdir/test *.new;
# Inject a junk .ibd file into backup dir to
# see if prepare does not choke on it.
diff --git a/mysql-test/suite/mariabackup/partial_exclude.result b/mysql-test/suite/mariabackup/partial_exclude.result
index 628613040e0..a31197b9e9d 100644
--- a/mysql-test/suite/mariabackup/partial_exclude.result
+++ b/mysql-test/suite/mariabackup/partial_exclude.result
@@ -9,7 +9,7 @@ USE db2;
CREATE TABLE t1(i INT) ENGINE INNODB;
USE test;
# xtrabackup backup
-t1.ibd
+t1.new
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
index 99d14e58231..3642a2c6f46 100644
--- a/mysql-test/suite/mariabackup/partial_exclude.test
+++ b/mysql-test/suite/mariabackup/partial_exclude.test
@@ -27,6 +27,7 @@ exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables-ex
--enable_result_log
# check that only t1 table is in backup (t2 is excluded)
+list_files $targetdir/test *.new;
list_files $targetdir/test *.ibd;
# check that db2 database is not in the backup (excluded)
--error 1
diff --git a/mysql-test/suite/mariabackup/recreate_table_during_backup.result b/mysql-test/suite/mariabackup/recreate_table_during_backup.result
index 821f9301ab6..3e01312cd3f 100644
--- a/mysql-test/suite/mariabackup/recreate_table_during_backup.result
+++ b/mysql-test/suite/mariabackup/recreate_table_during_backup.result
@@ -2,6 +2,7 @@ CREATE TABLE t1(i int) ENGINE=INNODB;
CREATE TABLE t2(i int) ENGINE=INNODB;
CREATE TABLE t3(a CHAR(36)) ENGINE INNODB;
INSERT INTO t3 SELECT UUID() FROM seq_1_to_1000;
+set global innodb_log_checkpoint_now=1;
# xtrabackup backup
# xtrabackup prepare
# shutdown server
diff --git a/mysql-test/suite/mariabackup/recreate_table_during_backup.test b/mysql-test/suite/mariabackup/recreate_table_during_backup.test
index c3c9cf5aeef..1feb2c5c8b3 100644
--- a/mysql-test/suite/mariabackup/recreate_table_during_backup.test
+++ b/mysql-test/suite/mariabackup/recreate_table_during_backup.test
@@ -7,6 +7,7 @@ CREATE TABLE t2(i int) ENGINE=INNODB;
CREATE TABLE t3(a CHAR(36)) ENGINE INNODB;
INSERT INTO t3 SELECT UUID() FROM seq_1_to_1000;
+set global innodb_log_checkpoint_now=1;
# this will table and populate it, after backup has list of tables to be copied
--let before_copy_test_t1=BEGIN NOT ATOMIC DROP TABLE test.t1;CREATE TABLE test.t1 ENGINE=INNODB SELECT UUID() from test.seq_1_to_100; END
--let after_copy_test_t2=BEGIN NOT ATOMIC DROP TABLE test.t2;CREATE TABLE test.t2 ENGINE=INNODB SELECT UUID() from test.seq_1_to_1000; END
diff --git a/mysql-test/suite/mariabackup/rename_during_backup.result b/mysql-test/suite/mariabackup/rename_during_backup.result
index ba1dbec0e1b..e071b6b2e21 100644
--- a/mysql-test/suite/mariabackup/rename_during_backup.result
+++ b/mysql-test/suite/mariabackup/rename_during_backup.result
@@ -14,6 +14,7 @@ CREATE TABLE a1(a1 int) ENGINE INNODB;
INSERT INTO a1 VALUES(1);
CREATE TABLE b1(b1 CHAR(2)) ENGINE INNODB;
INSERT INTO b1 VALUES('b1');
+set global innodb_log_checkpoint_now = 1;
# xtrabackup prepare
# shutdown server
# remove datadir
diff --git a/mysql-test/suite/mariabackup/rename_during_backup.test b/mysql-test/suite/mariabackup/rename_during_backup.test
index 238a8b1985c..d8e40b28941 100644
--- a/mysql-test/suite/mariabackup/rename_during_backup.test
+++ b/mysql-test/suite/mariabackup/rename_during_backup.test
@@ -24,6 +24,8 @@ INSERT INTO a1 VALUES(1);
CREATE TABLE b1(b1 CHAR(2)) ENGINE INNODB;
INSERT INTO b1 VALUES('b1');
+set global innodb_log_checkpoint_now = 1;
+
# Test renames before of after copying tablespaces
--let before_copy_test_t1=RENAME TABLE test.t1 TO test.t1_renamed
--let after_copy_test_t2=RENAME TABLE test.t2 TO test.t2_renamed
diff --git a/mysql-test/suite/mariabackup/rename_during_mdl_lock.result b/mysql-test/suite/mariabackup/rename_during_mdl_lock.result
index 607460f4f05..074de33bb2f 100644
--- a/mysql-test/suite/mariabackup/rename_during_mdl_lock.result
+++ b/mysql-test/suite/mariabackup/rename_during_mdl_lock.result
@@ -1,4 +1,5 @@
CREATE TABLE t1(i int) ENGINE INNODB;
+set global innodb_log_checkpoint_now = 1;
# xtrabackup prepare
# shutdown server
# remove datadir
diff --git a/mysql-test/suite/mariabackup/rename_during_mdl_lock.test b/mysql-test/suite/mariabackup/rename_during_mdl_lock.test
index 6d22e0db4a7..212b7aabd69 100644
--- a/mysql-test/suite/mariabackup/rename_during_mdl_lock.test
+++ b/mysql-test/suite/mariabackup/rename_during_mdl_lock.test
@@ -2,6 +2,7 @@
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
mkdir $targetdir;
CREATE TABLE t1(i int) ENGINE INNODB;
+set global innodb_log_checkpoint_now = 1;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --lock-ddl-per-table --dbug=+d,rename_during_mdl_lock_table;
echo # xtrabackup prepare;
diff --git a/mysql-test/suite/mariabackup/unsupported_redo.result b/mysql-test/suite/mariabackup/unsupported_redo.result
index fbad89be0ac..4ba40f5a916 100644
--- a/mysql-test/suite/mariabackup/unsupported_redo.result
+++ b/mysql-test/suite/mariabackup/unsupported_redo.result
@@ -1,7 +1,6 @@
call mtr.add_suppression("InnoDB: New log files created");
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them");
call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\\.`t21` because it could not be opened");
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: ");
call mtr.add_suppression("Table .* in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
@@ -23,8 +22,8 @@ CREATE TABLE t2(i int) ENGINE INNODB;
ALTER TABLE t21 FORCE, ALGORITHM=INPLACE;
# Create partial backup (excluding table t21), Ignore the
# unsupported redo log for the table t21.
-t1.ibd
-t2.ibd
+t1.new
+t2.new
# Prepare the full backup
t1.ibd
t2.ibd
diff --git a/mysql-test/suite/mariabackup/unsupported_redo.test b/mysql-test/suite/mariabackup/unsupported_redo.test
index b9456751b9c..b02bcc3f695 100644
--- a/mysql-test/suite/mariabackup/unsupported_redo.test
+++ b/mysql-test/suite/mariabackup/unsupported_redo.test
@@ -2,7 +2,6 @@
call mtr.add_suppression("InnoDB: New log files created");
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation");
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
-call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them");
call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\\.`t21` because it could not be opened");
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: ");
call mtr.add_suppression("Table .* in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
@@ -61,6 +60,7 @@ ALTER TABLE t21 FORCE, ALGORITHM=INPLACE;
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup "--tables-exclude=test.t21" --target-dir=$targetdir;
--enable_result_log
--list_files $targetdir/test *.ibd
+--list_files $targetdir/test *.new
--echo # Prepare the full backup
--disable_result_log
diff --git a/mysql-test/suite/multi_source/multisource.result b/mysql-test/suite/multi_source/multisource.result
index 928c9799854..ad1f2e24f9e 100644
--- a/mysql-test/suite/multi_source/multisource.result
+++ b/mysql-test/suite/multi_source/multisource.result
@@ -179,6 +179,26 @@ Last_SQL_Errno = '0'
Slave_heartbeat_period = '60.000'
Slave_heartbeat_period = '60.000'
#
+#
+# MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+#
+SELECT * FROM performance_schema.replication_applier_status_by_coordinator;
+CHANNEL_NAME master1
+THREAD_ID #
+SERVICE_STATE ON
+LAST_ERROR_NUMBER 0
+LAST_ERROR_MESSAGE
+LAST_ERROR_TIMESTAMP 0000-00-00 00:00:00
+LAST_SEEN_TRANSACTION 0-1-7
+LAST_TRANS_RETRY_COUNT 0
+CHANNEL_NAME
+THREAD_ID #
+SERVICE_STATE ON
+LAST_ERROR_NUMBER 0
+LAST_ERROR_MESSAGE
+LAST_ERROR_TIMESTAMP 0000-00-00 00:00:00
+LAST_SEEN_TRANSACTION 0-2-4
+LAST_TRANS_RETRY_COUNT 0
select * from db1.t1;
i f1
1 one
diff --git a/mysql-test/suite/multi_source/reset_slave.test b/mysql-test/suite/multi_source/reset_slave.test
index 63a1f9c3490..34b42ae6d6d 100644
--- a/mysql-test/suite/multi_source/reset_slave.test
+++ b/mysql-test/suite/multi_source/reset_slave.test
@@ -39,9 +39,10 @@ stop slave 'master1';
--let $datadir = `SELECT @@datadir`
-let read_master_log_pos=`select $binlog_start_pos + 590`;
-let relay_log_pos=`select 2*$binlog_start_pos + 634`;
-let relay_log_space=`select 3*$binlog_start_pos + 696`;
+let read_master_log_pos=`select $binlog_start_pos + 608`;
+let relay_log_pos=`select 2*$binlog_start_pos + 652`;
+let relay_log_space=`select 3*$binlog_start_pos + 714`;
+
--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*
diff --git a/mysql-test/suite/multi_source/simple.result b/mysql-test/suite/multi_source/simple.result
index a66d49e88cb..191cd0a1a0f 100644
--- a/mysql-test/suite/multi_source/simple.result
+++ b/mysql-test/suite/multi_source/simple.result
@@ -18,10 +18,193 @@ connection slave;
connection master2;
connection slave;
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 SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
-slave1 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> 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 optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
-slave2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> 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 optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
+Connection_name slave1
+Slave_SQL_State Slave has read all relay log; waiting for more updates
+Slave_IO_State Waiting for master to send event
+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 Yes
+Slave_SQL_Running Yes
+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 0
+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 optimistic
+SQL_Delay 0
+SQL_Remaining_Delay NULL
+Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
+Slave_DDL_Groups 0
+Slave_Non_Transactional_Groups 0
+Slave_Transactional_Groups 0
+Retried_transactions 0
+Max_relay_log_size 1073741824
+Executed_log_entries 7
+Slave_received_heartbeats 0
+Slave_heartbeat_period 60.000
+Gtid_Slave_Pos
+Connection_name slave2
+Slave_SQL_State Slave has read all relay log; waiting for more updates
+Slave_IO_State Waiting for master to send event
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MYPORT_2
+Connect_Retry 60
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos <read_master_log_pos>
+Relay_Log_File mysqld-relay-bin-slave2.000002
+Relay_Log_Pos <relay_log_pos>
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+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 0
+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 2
+Master_SSL_Crl
+Master_SSL_Crlpath
+Using_Gtid No
+Gtid_IO_Pos
+Replicate_Do_Domain_Ids
+Replicate_Ignore_Domain_Ids
+Parallel_Mode optimistic
+SQL_Delay 0
+SQL_Remaining_Delay NULL
+Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
+Slave_DDL_Groups 0
+Slave_Non_Transactional_Groups 0
+Slave_Transactional_Groups 0
+Retried_transactions 0
+Max_relay_log_size 1073741824
+Executed_log_entries 7
+Slave_received_heartbeats 0
+Slave_heartbeat_period 60.000
+Gtid_Slave_Pos
+#
+# MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+#
+select * from performance_schema.replication_connection_configuration;
+CHANNEL_NAME slave2
+HOST 127.0.0.1
+PORT #
+USER root
+USING_GTID NO
+SSL_ALLOWED NO
+SSL_CA_FILE
+SSL_CA_PATH
+SSL_CERTIFICATE
+SSL_CIPHER
+SSL_KEY
+SSL_VERIFY_SERVER_CERTIFICATE NO
+SSL_CRL_FILE
+SSL_CRL_PATH
+CONNECTION_RETRY_INTERVAL 60
+CONNECTION_RETRY_COUNT 100000
+HEARTBEAT_INTERVAL 60.000
+IGNORE_SERVER_IDS
+REPL_DO_DOMAIN_IDS
+REPL_IGNORE_DOMAIN_IDS
+CHANNEL_NAME slave1
+HOST 127.0.0.1
+PORT #
+USER root
+USING_GTID NO
+SSL_ALLOWED NO
+SSL_CA_FILE
+SSL_CA_PATH
+SSL_CERTIFICATE
+SSL_CIPHER
+SSL_KEY
+SSL_VERIFY_SERVER_CERTIFICATE NO
+SSL_CRL_FILE
+SSL_CRL_PATH
+CONNECTION_RETRY_INTERVAL 60
+CONNECTION_RETRY_COUNT 100000
+HEARTBEAT_INTERVAL 60.000
+IGNORE_SERVER_IDS
+REPL_DO_DOMAIN_IDS
+REPL_IGNORE_DOMAIN_IDS
start all slaves;
+#
+# MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+#
+select * from performance_schema.replication_applier_status_by_coordinator;
+CHANNEL_NAME slave2
+THREAD_ID #
+SERVICE_STATE ON
+LAST_ERROR_NUMBER 0
+LAST_ERROR_MESSAGE
+LAST_ERROR_TIMESTAMP 0000-00-00 00:00:00
+LAST_SEEN_TRANSACTION
+LAST_TRANS_RETRY_COUNT 0
+CHANNEL_NAME slave1
+THREAD_ID #
+SERVICE_STATE ON
+LAST_ERROR_NUMBER 0
+LAST_ERROR_MESSAGE
+LAST_ERROR_TIMESTAMP 0000-00-00 00:00:00
+LAST_SEEN_TRANSACTION
+LAST_TRANS_RETRY_COUNT 0
stop slave 'slave1';
show slave 'slave1' status;
Slave_IO_State
@@ -79,19 +262,256 @@ Slave_Non_Transactional_Groups 0
Slave_Transactional_Groups 0
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 SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
-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 optimistic 0 NULL 0 0 0 0 1073741824 7 0 60.000
-slave2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> 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 optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
+Connection_name slave1
+Slave_SQL_State
+Slave_IO_State
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MYPORT_1
+Connect_Retry 60
+Master_Log_File
+Read_Master_Log_Pos 4
+Relay_Log_File
+Relay_Log_Pos <relay_log_pos>
+Relay_Master_Log_File
+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 0
+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 optimistic
+SQL_Delay 0
+SQL_Remaining_Delay NULL
+Slave_SQL_Running_State
+Slave_DDL_Groups 0
+Slave_Non_Transactional_Groups 0
+Slave_Transactional_Groups 0
+Retried_transactions 0
+Max_relay_log_size 1073741824
+Executed_log_entries 7
+Slave_received_heartbeats 0
+Slave_heartbeat_period 60.000
+Gtid_Slave_Pos
+Connection_name slave2
+Slave_SQL_State Slave has read all relay log; waiting for more updates
+Slave_IO_State Waiting for master to send event
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MYPORT_2
+Connect_Retry 60
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos <read_master_log_pos>
+Relay_Log_File mysqld-relay-bin-slave2.000002
+Relay_Log_Pos <relay_log_pos>
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+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 0
+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 2
+Master_SSL_Crl
+Master_SSL_Crlpath
+Using_Gtid No
+Gtid_IO_Pos
+Replicate_Do_Domain_Ids
+Replicate_Ignore_Domain_Ids
+Parallel_Mode optimistic
+SQL_Delay 0
+SQL_Remaining_Delay NULL
+Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
+Slave_DDL_Groups 0
+Slave_Non_Transactional_Groups 0
+Slave_Transactional_Groups 0
+Retried_transactions 0
+Max_relay_log_size 1073741824
+Executed_log_entries 7
+Slave_received_heartbeats 0
+Slave_heartbeat_period 60.000
+Gtid_Slave_Pos
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 SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
-slave2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> 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 optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
+Connection_name slave2
+Slave_SQL_State Slave has read all relay log; waiting for more updates
+Slave_IO_State Waiting for master to send event
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MYPORT_2
+Connect_Retry 60
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos <read_master_log_pos>
+Relay_Log_File mysqld-relay-bin-slave2.000002
+Relay_Log_Pos <relay_log_pos>
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+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 0
+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 2
+Master_SSL_Crl
+Master_SSL_Crlpath
+Using_Gtid No
+Gtid_IO_Pos
+Replicate_Do_Domain_Ids
+Replicate_Ignore_Domain_Ids
+Parallel_Mode optimistic
+SQL_Delay 0
+SQL_Remaining_Delay NULL
+Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
+Slave_DDL_Groups 0
+Slave_Non_Transactional_Groups 0
+Slave_Transactional_Groups 0
+Retried_transactions 0
+Max_relay_log_size 1073741824
+Executed_log_entries 7
+Slave_received_heartbeats 0
+Slave_heartbeat_period 60.000
+Gtid_Slave_Pos
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 SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
-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 optimistic 0 NULL 0 0 0 0 1073741824 7 0 60.000
+Connection_name slave2
+Slave_SQL_State
+Slave_IO_State
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MYPORT_2
+Connect_Retry 60
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos <read_master_log_pos>
+Relay_Log_File mysqld-relay-bin-slave2.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 2
+Master_SSL_Crl
+Master_SSL_Crlpath
+Using_Gtid No
+Gtid_IO_Pos
+Replicate_Do_Domain_Ids
+Replicate_Ignore_Domain_Ids
+Parallel_Mode optimistic
+SQL_Delay 0
+SQL_Remaining_Delay NULL
+Slave_SQL_Running_State
+Slave_DDL_Groups 0
+Slave_Non_Transactional_Groups 0
+Slave_Transactional_Groups 0
+Retried_transactions 0
+Max_relay_log_size 1073741824
+Executed_log_entries 7
+Slave_received_heartbeats 0
+Slave_heartbeat_period 60.000
+Gtid_Slave_Pos
stop all slaves;
include/reset_master_slave.inc
disconnect slave;
diff --git a/mysql-test/suite/multi_source/simple.test b/mysql-test/suite/multi_source/simple.test
index 95291c53778..070d4745066 100644
--- a/mysql-test/suite/multi_source/simple.test
+++ b/mysql-test/suite/multi_source/simple.test
@@ -4,6 +4,7 @@
--source include/not_embedded.inc
--source include/binlog_start_pos.inc
+--source include/have_perfschema.inc
--let $rpl_server_count= 0
--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
@@ -46,11 +47,23 @@ let relay_log_pos=`select 2*$binlog_start_pos + 117`;
let relay_log_space1=`select 3*$binlog_start_pos + 178`;
let relay_log_space2=`select 3*$binlog_start_pos + 178`;
--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;
+query_vertical show all slaves status;
+
+--echo #
+--echo # MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+--echo #
+--replace_column 3 #
+query_vertical select * from performance_schema.replication_connection_configuration;
# Ensure that start all slaves doesn't do anything as all slaves are started
start all slaves;
+--echo #
+--echo # MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+--echo #
+--replace_column 2 #
+query_vertical select * from performance_schema.replication_applier_status_by_coordinator;
+
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>
@@ -58,15 +71,15 @@ 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;
+query_vertical 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;
+query_vertical 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;
+query_vertical show all slaves status;
# Ensure that start all slaves doesn't do anything as all slaves are stopped
stop all slaves;
diff --git a/mysql-test/suite/parts/inc/partition_auto_increment.inc b/mysql-test/suite/parts/inc/partition_auto_increment.inc
index 4392d04db8a..3721caeb465 100644
--- a/mysql-test/suite/parts/inc/partition_auto_increment.inc
+++ b/mysql-test/suite/parts/inc/partition_auto_increment.inc
@@ -393,6 +393,12 @@ connect(con1, localhost, root,,);
connection default;
eval CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
ENGINE = $engine;
+if ($engine == "'InnoDB'")
+{
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1(c1) VALUES(100);
+}
START TRANSACTION;
INSERT INTO t1 (c1) VALUES (2);
INSERT INTO t1 (c1) VALUES (4);
@@ -434,6 +440,13 @@ eval CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
ENGINE = $engine
PARTITION BY HASH(c1)
PARTITIONS 2;
+IF ($engine == "'InnoDB'")
+{
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 (c1) VALUES (100);
+INSERT INTO t1 (c1) VALUES (101);
+}
START TRANSACTION;
INSERT INTO t1 (c1) VALUES (2);
INSERT INTO t1 (c1) VALUES (4);
diff --git a/mysql-test/suite/parts/inc/partition_crash.inc b/mysql-test/suite/parts/inc/partition_crash.inc
index 32bf5c10423..c657ba880c9 100644
--- a/mysql-test/suite/parts/inc/partition_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_crash.inc
@@ -6,7 +6,6 @@
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP#
---replace_regex /#sql-ib[1-9][0-9]*\.ibd\n//
--cat_file $DATADIR.files.txt
--remove_file $DATADIR.files.txt
SHOW CREATE TABLE t1;
@@ -20,7 +19,7 @@ SELECT * FROM t1;
--echo # State after crash (before recovery)
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP# #tmp# #TMP#
---replace_regex /sql-exchange.*\./sql-exchange./ /sql-shadow-[0-9a-f]*-/sql-shadow-/ /#sql-ib[1-9][0-9]*\.ibd\n//
+--replace_regex /sql-exchange.*\./sql-exchange./ /sql-shadow-[0-9a-f]*-/sql-shadow-/
--cat_file $DATADIR.files.txt
--remove_file $DATADIR.files.txt
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
@@ -29,7 +28,6 @@ SELECT * FROM t1;
--echo # State after crash recovery
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP#
---replace_regex /#sql-ib[1-9][0-9]*\.ibd\n//
--cat_file $DATADIR.files.txt
--remove_file $DATADIR.files.txt
SHOW CREATE TABLE t1;
diff --git a/mysql-test/suite/parts/r/backup_log.result b/mysql-test/suite/parts/r/backup_log.result
new file mode 100644
index 00000000000..3a220491027
--- /dev/null
+++ b/mysql-test/suite/parts/r/backup_log.result
@@ -0,0 +1,278 @@
+connect con1,localhost,root,,;
+BACKUP STAGE START;
+connection default;
+#
+# Testing with normal tables
+#
+create table t1 (a int) engine=myisam PARTITION BY HASH(a) PARTITIONS 2;
+insert into t1 values (1),(2);
+alter table t1 add column b int;
+alter table t1 rename as t2;
+rename table t2 to t1;
+truncate table t1;
+repair table t1;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+optimize table t1;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+drop table t1;
+create table t1_innodb (a int) engine=innodb PARTITION BY HASH(a) PARTITIONS 2;
+insert into t1_innodb values (1),(2);
+alter table t1_innodb add column b int;
+alter table t1_innodb rename as t2_innodb;
+rename table t2_innodb to t1_innodb;
+truncate table t1_innodb;
+repair table t1_innodb;
+Table Op Msg_type Msg_text
+test.t1_innodb repair status OK
+optimize table t1_innodb;
+Table Op Msg_type Msg_text
+test.t1_innodb optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1_innodb optimize status OK
+drop table t1_innodb;
+#
+# Testing with temporary tables (should not be logged)
+#
+create temporary table tmp_t10 (a int) engine=myisam;
+alter table tmp_t10 add column b int;
+alter table tmp_t10 rename as tmp_t11;
+rename table tmp_t11 to tmp_t10;
+truncate table tmp_t10;
+drop table tmp_t10;
+#
+# Testing with mix of normal and temporary tables
+#
+create temporary table tmp_t20 (a int);
+create table t20 (a int) PARTITION BY HASH(a) PARTITIONS 2;
+drop table tmp_t20,t20;
+create temporary table tmp_t21 (a int);
+create table t21 (a int) PARTITION BY HASH(a) PARTITIONS 2;
+drop temporary table if exists tmp_t21,t21;
+Warnings:
+Note 1051 Unknown table 'test.t21'
+drop table if exists tmp_t21,t21;
+Warnings:
+Note 1051 Unknown table 'test.tmp_t21'
+#
+# Testing create select
+#
+create table t30 (a int) PARTITION BY HASH(a) PARTITIONS 2;
+insert into t30 values (1),(1);
+create table t31 (a int primary key) PARTITION BY HASH(a) PARTITIONS 2 select * from t30 limit 1;
+create or replace table t31 select * from t30 limit 1;
+create or replace temporary table t30_dup select * from t30 limit 1;
+create or replace table t31 (a int primary key) PARTITION BY HASH(a) PARTITIONS 2 select * from t30;
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+create table t32 (a int) PARTITION BY HASH(a) PARTITIONS 2;
+drop table if exists t30,t31,t32,tmp_t30;
+Warnings:
+Note 1051 Unknown table 'test.t31,test.tmp_t30'
+#
+# Testing create LIKE
+#
+create table t40 (a int) engine=myisam PARTITION BY HASH(a) PARTITIONS 2;
+create table t41 (a int, b int) engine=innodb PARTITION BY HASH(a) PARTITIONS 2;
+create table t42 like t40;
+create or replace table t42 like t41;
+show create table t42;
+Table Create Table
+t42 CREATE TABLE `t42` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 2
+drop table t40, t41, t42;
+#
+# Testing rename
+#
+create table t50 (a int) PARTITION BY HASH(a) PARTITIONS 2;
+create table t51 (a int, b int) PARTITION BY HASH(a) PARTITIONS 2;
+rename table t50 to t52, t51 to t53;
+rename table t52 to tmp, t53 to t52, tmp to t53;
+drop table t52,t53;
+#
+# Testing enable/disable keys
+#
+CREATE TABLE t60 (a int(10), index(a) ) ENGINE=Aria PARTITION BY HASH(a) PARTITIONS 2;
+INSERT INTO t60 VALUES(1),(2),(3);
+ALTER TABLE t60 DISABLE KEYS;
+INSERT INTO t60 VALUES(4),(5),(6);
+ALTER TABLE t60 ENABLE KEYS;
+DROP TABLE t60;
+CREATE TEMPORARY TABLE t61 (i int(10), index(i) ) ENGINE=Aria;
+INSERT INTO t61 VALUES(1),(2),(3);
+ALTER TABLE t61 DISABLE KEYS;
+DROP TABLE t61;
+#
+# Testing load data
+#
+create table t70 (a date, b date, c date not null, d date) engine=aria PARTITION BY HASH(YEAR(a)) PARTITIONS 2;
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+truncate table t70;
+lock table t70 write;
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+load data infile '../../std_data/loaddata1.dat' ignore into table t70 fields terminated by ',';
+unlock tables;
+create table t71 (a date, b date, c date not null, d date) engine=aria PARTITION BY HASH(YEAR(a)) PARTITIONS 2;
+lock tables t71 write, t70 read;
+insert into t71 select * from t70;
+unlock tables;
+drop table t70,t71;
+#
+# Testing strange table names
+#
+create table `t 1` (a int) PARTITION BY HASH(a) PARTITIONS 2;
+drop table `t 1`;
+#
+# Testing views and triggers
+#
+create table t80 (a int, b int) engine=myisam PARTITION BY HASH(a) PARTITIONS 2;
+create view v1 as select * from t80;
+create trigger trg before insert on t80 for each row set @b:=1;
+drop trigger trg;
+drop view v1;
+drop table t80;
+#
+# Testing alter to a new storage engine
+#
+create table t85 (a int primary key, b int) engine=myisam PARTITION BY HASH(a) PARTITIONS 2;
+alter table t85 engine=innodb;
+drop table t85;
+#
+# Testing backup ddl log for partitioned tables
+#
+CREATE TABLE t200(a INT, b INT) ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1;
+INSERT INTO t200 VALUES (5, 5), (15, 15), (25, 25);
+ALTER TABLE t200 PARTITION BY RANGE( a ) (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30)
+);
+CREATE TABLE t210(a INT, b INT) ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1;
+#TODO: echange partitions have not logged yet
+ALTER TABLE t200 EXCHANGE PARTITION p2 WITH TABLE t210;
+ALTER TABLE t200 DROP PARTITION p0;
+ALTER TABLE t200 ADD PARTITION (PARTITION p3 VALUES LESS THAN (40));
+ALTER TABLE t200
+REORGANIZE PARTITION p3 INTO (
+PARTITION n0 VALUES LESS THAN (35),
+PARTITION n1 VALUES LESS THAN (45)
+);
+ALTER TABLE t200 PARTITION BY KEY(a) PARTITIONS 2;
+ALTER TABLE t200 PARTITION BY HASH(a) PARTITIONS 8;
+ALTER TABLE t200 COALESCE PARTITION 4;
+ALTER TABLE t200
+PARTITION BY RANGE (b)
+SUBPARTITION BY KEY (a)
+SUBPARTITIONS 2 (
+PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN (20),
+PARTITION p2 VALUES LESS THAN (30),
+PARTITION p3 VALUES LESS THAN (MAXVALUE)
+);
+ALTER TABLE t200 REMOVE PARTITIONING;
+DROP TABLE t200, t210;
+# Test for the case when TDC contains TABLE_SHARE object for the
+# certain table, but the table is not opened
+CREATE TABLE t220(a INT) ENGINE ARIA PARTITION BY HASH(a) PARTITIONS 2;
+SELECT VERSION FROM INFORMATION_SCHEMA.tables WHERE
+TABLE_SCHEMA = 'test' AND TABLE_NAME = 't220';
+DROP TABLE t220;
+#
+# Reading backup ddl log file
+#
+CREATE,MyISAM,1,test,t1,id: 1,,0,,,
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+RENAME,MyISAM,1,test,t1,id: 2,MyISAM,1,test,t2,id: 2
+RENAME,MyISAM,1,test,t2,id: 2,MyISAM,1,test,t1,id: 2
+TRUNCATE,MyISAM,1,test,t1,id: 2,,0,,,
+repair,MyISAM,1,test,t1,id: 2,,0,,,
+optimize,MyISAM,1,test,t1,id: 2,,0,,,
+DROP,MyISAM,1,test,t1,id: 2,,0,,,
+CREATE,InnoDB,1,test,t1_innodb,id: 3,,0,,,
+ALTER,InnoDB,1,test,t1_innodb,id: 3,InnoDB,1,test,t1_innodb,id: 4
+RENAME,InnoDB,1,test,t1_innodb,id: 4,InnoDB,1,test,t2_innodb,id: 4
+RENAME,InnoDB,1,test,t2_innodb,id: 4,InnoDB,1,test,t1_innodb,id: 4
+TRUNCATE,InnoDB,1,test,t1_innodb,id: 4,,0,,,
+repair,InnoDB,1,test,t1_innodb,id: 4,,0,,,
+ALTER,InnoDB,1,test,t1_innodb,id: 4,InnoDB,1,test,t1_innodb,id: 5
+DROP,InnoDB,1,test,t1_innodb,id: 5,,0,,,
+CREATE,MyISAM,1,test,t20,id: 6,,0,,,
+DROP,MyISAM,1,test,t20,id: 6,,0,,,
+CREATE,MyISAM,1,test,t21,id: 7,,0,,,
+DROP,MyISAM,1,test,t21,id: 7,,0,,,
+CREATE,MyISAM,1,test,t30,id: 8,,0,,,
+CREATE,MyISAM,1,test,t31,id: 9,,0,,,
+DROP,MyISAM,1,test,t31,id: 9,,0,,,
+CREATE,MyISAM,0,test,t31,id: 10,,0,,,
+DROP,MyISAM,0,test,t31,id: 10,,0,,,
+DROP_AFTER_CREATE,MyISAM,1,test,t31,id: 11,,0,,,
+CREATE,MyISAM,1,test,t32,id: 12,,0,,,
+DROP,MyISAM,1,test,t30,id: 8,,0,,,
+DROP,MyISAM,1,test,t32,id: 12,,0,,,
+CREATE,MyISAM,1,test,t40,id: 13,,0,,,
+CREATE,InnoDB,1,test,t41,id: 14,,0,,,
+CREATE,partition,0,test,t42,id: 15,,0,,,
+DROP,MyISAM,1,test,t42,id: 15,,0,,,
+CREATE,partition,0,test,t42,id: 16,,0,,,
+DROP,MyISAM,1,test,t40,id: 13,,0,,,
+DROP,InnoDB,1,test,t41,id: 14,,0,,,
+DROP,InnoDB,1,test,t42,id: 16,,0,,,
+CREATE,MyISAM,1,test,t50,id: 17,,0,,,
+CREATE,MyISAM,1,test,t51,id: 18,,0,,,
+RENAME,MyISAM,1,test,t50,id: 17,MyISAM,1,test,t52,id: 17
+RENAME,MyISAM,1,test,t51,id: 18,MyISAM,1,test,t53,id: 18
+RENAME,MyISAM,1,test,t52,id: 17,MyISAM,1,test,tmp,id: 17
+RENAME,MyISAM,1,test,t53,id: 18,MyISAM,1,test,t52,id: 18
+RENAME,MyISAM,1,test,tmp,id: 17,MyISAM,1,test,t53,id: 17
+DROP,MyISAM,1,test,t52,id: 18,,0,,,
+DROP,MyISAM,1,test,t53,id: 17,,0,,,
+CREATE,Aria,1,test,t60,id: 19,,0,,,
+CHANGE_INDEX,Aria,1,test,t60,id: 19,,0,,,
+CHANGE_INDEX,Aria,1,test,t60,id: 19,,0,,,
+DROP,Aria,1,test,t60,id: 19,,0,,,
+CREATE,Aria,1,test,t70,id: 20,,0,,,
+BULK_INSERT,Aria,1,test,t70,id: 20,,0,,,
+BULK_INSERT,Aria,1,test,t70,id: 20,,0,,,
+TRUNCATE,Aria,1,test,t70,id: 20,,0,,,
+BULK_INSERT,Aria,1,test,t70,id: 20,,0,,,
+BULK_INSERT,Aria,1,test,t70,id: 20,,0,,,
+CREATE,Aria,1,test,t71,id: 21,,0,,,
+BULK_INSERT,Aria,1,test,t71,id: 21,,0,,,
+BULK_INSERT,Aria,1,test,t71,id: 21,,0,,,
+DROP,Aria,1,test,t70,id: 20,,0,,,
+DROP,Aria,1,test,t71,id: 21,,0,,,
+CREATE,MyISAM,1,test,t@00201,id: 22,,0,,,
+DROP,MyISAM,1,test,t@00201,id: 22,,0,,,
+CREATE,MyISAM,1,test,t80,id: 23,,0,,,
+CREATE,VIEW,0,test,v1,,,0,,,
+CREATE,TRIGGER,0,test,trg,,,0,,,
+DROP,TRIGGER,0,test,trg,,,0,,,
+DROP,VIEW,0,test,v1,,,0,,,
+DROP,MyISAM,1,test,t80,id: 23,,0,,,
+CREATE,MyISAM,1,test,t85,id: 24,,0,,,
+ALTER,MyISAM,1,test,t85,id: 24,InnoDB,1,test,t85,id: 25
+DROP,InnoDB,1,test,t85,id: 25,,0,,,
+CREATE,Aria,0,test,t200,id: 26,,0,,,
+ALTER,Aria,0,test,t200,id: 26,Aria,1,test,t200,id: 27
+CREATE,Aria,0,test,t210,id: 28,,0,,,
+EXCHANGE_PARTITION,Aria,1,test,t200,id: 27,Aria,0,test,t210,id: 28
+ALTER,Aria,1,test,t200,id: 27,Aria,1,test,t200,id: 29
+ALTER,Aria,1,test,t200,id: 29,Aria,1,test,t200,id: 30
+ALTER,Aria,1,test,t200,id: 30,Aria,1,test,t200,id: 31
+ALTER,Aria,1,test,t200,id: 31,Aria,1,test,t200,id: 32
+ALTER,Aria,1,test,t200,id: 32,Aria,1,test,t200,id: 33
+ALTER,Aria,1,test,t200,id: 33,Aria,1,test,t200,id: 34
+ALTER,Aria,1,test,t200,id: 34,Aria,1,test,t200,id: 35
+ALTER,Aria,1,test,t200,id: 35,Aria,0,test,t200,id: 36
+DROP,Aria,0,test,t200,id: 36,,0,,,
+DROP,Aria,0,test,t210,id: 28,,0,,,
+CREATE,Aria,1,test,t220,id: 37,,0,,,
+DROP,Aria,1,test,t220,id: 37,,0,,,
+#
+# Cleanup
+#
+disconnect con1;
diff --git a/mysql-test/suite/parts/r/backup_log_rocksdb.result b/mysql-test/suite/parts/r/backup_log_rocksdb.result
new file mode 100644
index 00000000000..3fd0adfe8b3
--- /dev/null
+++ b/mysql-test/suite/parts/r/backup_log_rocksdb.result
@@ -0,0 +1,15 @@
+connect con1,localhost,root,,;
+BACKUP STAGE START;
+connection default;
+# Test partition engine read from .frm
+CREATE TABLE t220 (a INT) ENGINE ROCKSDB PARTITION BY KEY(a) PARTITIONS 2;
+DROP TABLE t220;
+#
+# Reading backup ddl log file
+#
+CREATE,ROCKSDB,1,test,t220,id: 1,,0,,,
+DROP,ROCKSDB,1,test,t220,id: 1,,0,,,
+#
+# Cleanup
+#
+disconnect con1;
diff --git a/mysql-test/suite/parts/r/debug_innodb_crash.result b/mysql-test/suite/parts/r/debug_innodb_crash.result
index 68195967b5b..fc265b4957d 100644
--- a/mysql-test/suite/parts/r/debug_innodb_crash.result
+++ b/mysql-test/suite/parts/r/debug_innodb_crash.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
call mtr.add_suppression("table .* does not exist in the InnoDB internal");
-call mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop table ");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
# Test crash recovery in fast_alter_partition_table.
#
# Bug#53676: Unexpected errors and possible table corruption on
@@ -46,7 +46,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -114,7 +114,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -184,7 +184,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -254,7 +254,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -324,7 +324,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -395,7 +395,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -466,7 +466,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -537,7 +537,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -610,7 +610,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -681,7 +681,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -753,7 +753,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -820,7 +820,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -889,7 +889,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -958,7 +958,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1021,7 +1021,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1084,7 +1084,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1147,7 +1147,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -1208,7 +1208,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -1268,7 +1268,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -1333,7 +1333,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -1402,7 +1402,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1473,7 +1473,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1544,7 +1544,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1617,7 +1617,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1690,7 +1690,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1763,7 +1763,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1838,7 +1838,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1913,7 +1913,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -1986,7 +1986,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -2059,7 +2059,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -2131,7 +2131,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
diff --git a/mysql-test/suite/parts/r/debug_innodb_fail.result b/mysql-test/suite/parts/r/debug_innodb_fail.result
index 810d2aa9260..3409d162f1c 100644
--- a/mysql-test/suite/parts/r/debug_innodb_fail.result
+++ b/mysql-test/suite/parts/r/debug_innodb_fail.result
@@ -1,6 +1,6 @@
call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
call mtr.add_suppression("table .* does not exist in the InnoDB internal");
-call mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop table ");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
# Test failure recovery in fast_alter_partition_table.
#
# Bug#53676: Unexpected errors and possible table corruption on
diff --git a/mysql-test/suite/parts/r/debug_myisam_crash.result b/mysql-test/suite/parts/r/debug_myisam_crash.result
index 5252af12db1..2b0f6973228 100644
--- a/mysql-test/suite/parts/r/debug_myisam_crash.result
+++ b/mysql-test/suite/parts/r/debug_myisam_crash.result
@@ -45,7 +45,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -119,7 +119,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -195,7 +195,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -271,7 +271,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -347,7 +347,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -425,7 +425,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -503,7 +503,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -581,7 +581,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -662,7 +662,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -741,7 +741,7 @@ a b
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -821,7 +821,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -894,7 +894,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -969,7 +969,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1044,7 +1044,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1112,7 +1112,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1180,7 +1180,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1248,7 +1248,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -1314,7 +1314,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -1378,7 +1378,7 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -1447,7 +1447,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -1522,7 +1522,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1599,7 +1599,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1676,7 +1676,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1757,7 +1757,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1838,7 +1838,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -1919,7 +1919,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -2003,7 +2003,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-shadow-t1.frm
#sql-shadow-t1.par
@@ -2087,7 +2087,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -2169,7 +2169,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -2251,7 +2251,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -2331,7 +2331,7 @@ a b
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
diff --git a/mysql-test/suite/parts/r/longname.result b/mysql-test/suite/parts/r/longname.result
index 1b8f823c98f..a54de1e295d 100644
--- a/mysql-test/suite/parts/r/longname.result
+++ b/mysql-test/suite/parts/r/longname.result
@@ -14,6 +14,10 @@ PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LE
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';
database_name table_name length(table_name)
+mysqltest1 test_jfg_table_name_with_64_chars_123456789012345678901234567890#P#pmax#SP#pmaxsp0 82
+mysqltest1 test_jfg_table_name_with_64_chars_123456789012345678901234567890#P#pmax#SP#pmaxsp1 82
+mysqltest1 test_jfg_table_name_with_64_chars_123456789012345678901234567890#P#test_jfg_partition_name_with_60_chars_1234567890123456789012#SP#test_jfg_partition_name_with_60_chars_1234567890123456789012sp0 194
+mysqltest1 test_jfg_table_name_with_64_chars_123456789012345678901234567890#P#test_jfg_partition_name_with_60_chars_1234567890123456789012#SP#test_jfg_partition_name_with_60_chars_1234567890123456789012sp1 194
CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
id int(10) unsigned NOT NULL,
id2 int(10) unsigned NOT 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 3f720024f72..a71cae0ca17 100644
--- a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
@@ -1,4 +1,6 @@
SET @max_row = 20;
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
@@ -36634,3 +36636,4 @@ DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t0_aux;
DROP TABLE IF EXISTS t0_definition;
DROP TABLE IF EXISTS t0_template;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/suite/parts/r/partition_alter3_innodb.result b/mysql-test/suite/parts/r/partition_alter3_innodb.result
index a859f8200c0..66531c2b699 100644
--- a/mysql-test/suite/parts/r/partition_alter3_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter3_innodb.result
@@ -1,4 +1,6 @@
SET @max_row = 20;
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------
@@ -808,3 +810,4 @@ DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t0_aux;
DROP TABLE IF EXISTS t0_definition;
DROP TABLE IF EXISTS t0_template;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/suite/parts/r/partition_alter_innodb.result b/mysql-test/suite/parts/r/partition_alter_innodb.result
index ae3caaa4981..33429980737 100644
--- a/mysql-test/suite/parts/r/partition_alter_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter_innodb.result
@@ -61,3 +61,11 @@ PARTITION p1 VALUES LESS THAN MAXVALUE
Warnings:
Warning 1618 <DATA DIRECTORY> table option of old schema is ignored
DROP TABLE t1;
+#
+# MDEV-28079 Shutdown hangs after altering innodb partition fts table
+#
+CREATE TABLE t1(f1 INT, f2 CHAR(100))ENGINE=InnoDB PARTITION BY HASH(f1) PARTITIONS 2;
+ALTER TABLE t1 ADD FULLTEXT(f2);
+InnoDB 0 transactions not purged
+DROP TABLE t1;
+# End of 10.6 tests
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result
index 76f1ddfceae..7b25d4858ff 100644
--- a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result
+++ b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result
@@ -490,6 +490,7 @@ connect con1, localhost, root,,;
connection default;
CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
ENGINE = 'InnoDB';
+INSERT INTO t1(c1) VALUES(100);
START TRANSACTION;
INSERT INTO t1 (c1) VALUES (2);
INSERT INTO t1 (c1) VALUES (4);
@@ -510,17 +511,19 @@ connection con1;
INSERT INTO t1 (c1) VALUES (NULL);
SELECT * FROM t1 ORDER BY c1;
c1
-5
10
-22
-23
+100
+101
+104
+105
COMMIT;
SELECT * FROM t1 ORDER BY c1;
c1
-5
10
-22
-23
+100
+101
+104
+105
disconnect con1;
connection default;
INSERT INTO t1 (c1) VALUES (NULL);
@@ -528,31 +531,33 @@ SELECT * FROM t1 ORDER BY c1;
c1
2
4
-5
10
-11
-12
16
19
21
-22
-23
-24
+100
+101
+102
+103
+104
+105
+106
COMMIT;
SELECT * FROM t1 ORDER BY c1;
c1
2
4
-5
10
-11
-12
16
19
21
-22
-23
-24
+100
+101
+102
+103
+104
+105
+106
DROP TABLE t1;
# Test with two threads + start transaction
connect con1, localhost, root,,;
@@ -561,6 +566,8 @@ CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
ENGINE = 'InnoDB'
PARTITION BY HASH(c1)
PARTITIONS 2;
+INSERT INTO t1 (c1) VALUES (100);
+INSERT INTO t1 (c1) VALUES (101);
START TRANSACTION;
INSERT INTO t1 (c1) VALUES (2);
INSERT INTO t1 (c1) VALUES (4);
@@ -578,17 +585,21 @@ connection con1;
INSERT INTO t1 (c1) VALUES (NULL);
SELECT * FROM t1 ORDER BY c1;
c1
-5
10
-22
-23
+100
+101
+102
+105
+106
COMMIT;
SELECT * FROM t1 ORDER BY c1;
c1
-5
10
-22
-23
+100
+101
+102
+105
+106
disconnect con1;
connection default;
INSERT INTO t1 (c1) VALUES (NULL);
@@ -596,31 +607,35 @@ SELECT * FROM t1 ORDER BY c1;
c1
2
4
-5
10
-11
-12
16
19
21
-22
-23
-24
+100
+101
+102
+103
+104
+105
+106
+107
COMMIT;
SELECT * FROM t1 ORDER BY c1;
c1
2
4
-5
10
-11
-12
16
19
21
-22
-23
-24
+100
+101
+102
+103
+104
+105
+106
+107
DROP TABLE t1;
# Test with another column after
CREATE TABLE t1 (
diff --git a/mysql-test/suite/parts/r/partition_debug.result b/mysql-test/suite/parts/r/partition_debug.result
index 7c083d826cf..571ab329bc2 100644
--- a/mysql-test/suite/parts/r/partition_debug.result
+++ b/mysql-test/suite/parts/r/partition_debug.result
@@ -76,7 +76,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -191,7 +191,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -306,7 +306,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -421,7 +421,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.frm
# State after crash recovery
@@ -527,7 +527,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.frm
# State after crash recovery
@@ -633,7 +633,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.frm
# State after crash recovery
@@ -739,7 +739,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.frm
# State after crash recovery
@@ -845,7 +845,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
@@ -960,7 +960,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.MYD
diff --git a/mysql-test/suite/parts/r/partition_debug_innodb.result b/mysql-test/suite/parts/r/partition_debug_innodb.result
index e2631d0d708..15d670ff416 100644
--- a/mysql-test/suite/parts/r/partition_debug_innodb.result
+++ b/mysql-test/suite/parts/r/partition_debug_innodb.result
@@ -1,6 +1,6 @@
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 ");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
call mtr.add_suppression("table .* does not exist in the InnoDB internal");
#
# WL#4445: EXCHANGE PARTITION WITH TABLE
@@ -62,7 +62,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -170,7 +170,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -278,7 +278,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -386,7 +386,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.frm
# State after crash recovery
@@ -488,7 +488,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.frm
# State after crash recovery
@@ -590,7 +590,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.ibd
# State after crash recovery
@@ -692,7 +692,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
#sql-exchange.ibd
# State after crash recovery
@@ -794,7 +794,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
@@ -902,7 +902,7 @@ a b
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
+ERROR HY000: Lost connection to server during query
# State after crash (before recovery)
db.opt
t1#P#p0.ibd
diff --git a/mysql-test/suite/parts/r/partition_debug_sync_innodb.result b/mysql-test/suite/parts/r/partition_debug_sync_innodb.result
index 4841c93e29f..7388eb73ea8 100644
--- a/mysql-test/suite/parts/r/partition_debug_sync_innodb.result
+++ b/mysql-test/suite/parts/r/partition_debug_sync_innodb.result
@@ -36,7 +36,7 @@ DROP TABLE t1;
# Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
# concurrent I_S query
create table t1 (a int)
-engine = innodb
+engine = innodb stats_persistent=0
partition by range (a)
(partition p0 values less than MAXVALUE);
insert into t1 values (1), (11), (21), (33);
@@ -50,7 +50,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=0
PARTITION BY RANGE (`a`)
(PARTITION `p0` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
db.opt
@@ -89,7 +89,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=0
PARTITION BY RANGE (`a`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
PARTITION `p10` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
diff --git a/mysql-test/suite/parts/r/partition_recover_myisam.result b/mysql-test/suite/parts/r/partition_recover_myisam.result
index 151ff802a82..1eddf51b087 100644
--- a/mysql-test/suite/parts/r/partition_recover_myisam.result
+++ b/mysql-test/suite/parts/r/partition_recover_myisam.result
@@ -19,8 +19,8 @@ a
Warnings:
Error 145 Table 't1_will_crash' is marked as crashed and should be repaired
Warning 1034 1 client is using or hasn't closed the table properly
-Error 1034 Size of indexfile is: 1024 Should be: 2048
-Warning 1034 Size of datafile is: 77 Should be: 7
+Error 1034 Size of indexfile is: 1024 Should be: 2048
+Warning 1034 Size of datafile is: 77 Should be: 7
Warning 1034 Number of rows changed from 1 to 11
DROP TABLE t1_will_crash;
CREATE TABLE t1_will_crash (a INT, KEY (a))
@@ -48,7 +48,7 @@ a
Warnings:
Error 145 Table 't1_will_crash#P#p1' is marked as crashed and should be repaired
Warning 1034 1 client is using or hasn't closed the table properly
-Error 1034 Size of indexfile is: 1024 Should be: 2048
-Warning 1034 Size of datafile is: 28 Should be: 7
+Error 1034 Size of indexfile is: 1024 Should be: 2048
+Warning 1034 Size of datafile is: 28 Should be: 7
Warning 1034 Number of rows changed from 1 to 4
DROP TABLE t1_will_crash;
diff --git a/mysql-test/suite/parts/r/partition_repair_myisam.result b/mysql-test/suite/parts/r/partition_repair_myisam.result
index 0521263df12..f534adf9244 100644
--- a/mysql-test/suite/parts/r/partition_repair_myisam.result
+++ b/mysql-test/suite/parts/r/partition_repair_myisam.result
@@ -16,8 +16,8 @@ FLUSH TABLES;
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 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;
@@ -40,8 +40,8 @@ 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 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
@@ -69,8 +69,8 @@ FLUSH TABLES;
CHECK TABLE t1_will_crash;
Table Op Msg_type Msg_text
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 77 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 77 Should be: 7
test.t1_will_crash check error Corrupt
REPAIR TABLE t1_will_crash;
Table Op Msg_type Msg_text
@@ -104,8 +104,8 @@ FLUSH TABLES;
CHECK TABLE t1_will_crash;
Table Op Msg_type Msg_text
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 28 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 28 Should be: 7
test.t1_will_crash check error Partition p1 returned error
test.t1_will_crash check error Corrupt
REPAIR TABLE t1_will_crash;
@@ -134,16 +134,16 @@ test.t1_will_crash check status OK
ALTER TABLE t1_will_crash CHECK PARTITION p0, p1;
Table Op Msg_type Msg_text
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 28 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 28 Should be: 7
test.t1_will_crash check error Partition p1 returned error
test.t1_will_crash check error Corrupt
ALTER TABLE t1_will_crash CHECK PARTITION p1, p2;
Table Op Msg_type Msg_text
test.t1_will_crash check warning Table is marked as crashed
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 28 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 28 Should be: 7
test.t1_will_crash check error Partition p1 returned error
test.t1_will_crash check error Corrupt
ALTER TABLE t1_will_crash REPAIR PARTITION p0, p2;
@@ -195,8 +195,8 @@ FLUSH TABLES;
CHECK TABLE t1_will_crash;
Table Op Msg_type Msg_text
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 14 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 14 Should be: 7
test.t1_will_crash check error Subpartition p1sp0 returned error
test.t1_will_crash check error Corrupt
REPAIR TABLE t1_will_crash;
@@ -225,16 +225,16 @@ test.t1_will_crash check status OK
ALTER TABLE t1_will_crash CHECK PARTITION all;
Table Op Msg_type Msg_text
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 14 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 14 Should be: 7
test.t1_will_crash check error Subpartition p1sp0 returned error
test.t1_will_crash check error Corrupt
ALTER TABLE t1_will_crash CHECK PARTITION p1;
Table Op Msg_type Msg_text
test.t1_will_crash check warning Table is marked as crashed
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
-test.t1_will_crash check warning Size of datafile is: 14 Should be: 7
+test.t1_will_crash check error Size of indexfile is: 1024 Should be: 2048
+test.t1_will_crash check warning Size of datafile is: 14 Should be: 7
test.t1_will_crash check error Subpartition p1sp0 returned error
test.t1_will_crash check error Corrupt
ALTER TABLE t1_will_crash REPAIR PARTITION p0;
@@ -331,7 +331,7 @@ test.t1_will_crash optimize warning Number of rows changed from 8 to 7
test.t1_will_crash optimize status OK
CHECK TABLE t1_will_crash;
Table Op Msg_type Msg_text
-test.t1_will_crash check error Size of datafile is: 0 Should be: 164
+test.t1_will_crash check error Size of datafile is: 0 Should be: 164
test.t1_will_crash check error Partition p0 returned error
test.t1_will_crash check error Corrupt
REPAIR TABLE t1_will_crash;
@@ -406,7 +406,7 @@ ALTER TABLE t1_will_crash CHECK PARTITION p4;
Table Op Msg_type Msg_text
test.t1_will_crash check warning Table is marked as crashed and last repair failed
test.t1_will_crash check warning 1 client is using or hasn't closed the table properly
-test.t1_will_crash check warning Size of datafile is: 368 Should be: 252
+test.t1_will_crash check warning Size of datafile is: 368 Should be: 252
test.t1_will_crash check error Found 4 keys of 3
test.t1_will_crash check error Partition p4 returned error
test.t1_will_crash check error Corrupt
@@ -419,7 +419,7 @@ FLUSH TABLES;
# replacing p6 with a crashed MYD file (2) (splitted dynamic record)
ALTER TABLE t1_will_crash CHECK PARTITION p6;
Table Op Msg_type Msg_text
-test.t1_will_crash check warning Size of datafile is: 868 Should be: 604
+test.t1_will_crash check warning Size of datafile is: 868 Should be: 604
test.t1_will_crash check error Unexpected byte: 0 at link: 340
test.t1_will_crash check error Partition p6 returned error
test.t1_will_crash check error Corrupt
@@ -472,9 +472,9 @@ partition b a
SET @@optimizer_switch=@save_optimizer_switch;
ALTER TABLE t1_will_crash CHECK PARTITION p6;
Table Op Msg_type Msg_text
-test.t1_will_crash check warning Size of datafile is: 868 Should be: 604
-test.t1_will_crash check error Record-count is not ok; is 8 Should be: 7
-test.t1_will_crash check warning Found 10 key parts. Should be: 7
+test.t1_will_crash check warning Size of datafile is: 868 Should be: 604
+test.t1_will_crash check error Record-count is not ok; is 8 Should be: 7
+test.t1_will_crash check warning Found 10 key parts. Should be: 7
test.t1_will_crash check error Partition p6 returned error
test.t1_will_crash check error Corrupt
ALTER TABLE t1_will_crash REPAIR PARTITION p6;
diff --git a/mysql-test/suite/parts/r/partition_special_innodb.result b/mysql-test/suite/parts/r/partition_special_innodb.result
index 37191eae502..c36eda2345a 100644
--- a/mysql-test/suite/parts/r/partition_special_innodb.result
+++ b/mysql-test/suite/parts/r/partition_special_innodb.result
@@ -216,14 +216,12 @@ ENGINE = InnoDB
PARTITION BY HASH (a)
PARTITIONS 2;
connect con1, localhost, root,,;
-connect con2, localhost, root,,;
-connection con1;
SET autocommit=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (NULL, 'first row t2');
-connection con2;
+connect con2, localhost, root,,;
SET autocommit=OFF;
-SET SESSION lock_wait_timeout= 1;
+SET SESSION lock_wait_timeout= 0;
ALTER TABLE t1 AUTO_INCREMENT = 10;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con2;
@@ -233,17 +231,12 @@ DROP TABLE t1;
#
# Bug#53676: Unexpected errors and possible table corruption on
# ADD PARTITION and LOCK TABLE
-connect con1,localhost,root,,;
CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
INSERT INTO t1 VALUES (2, 2), (3, 3), (4, 4), (5, 5);
-connect con2,localhost,root,,;
-SET lock_wait_timeout = 2;
-connection con1;
-#Connection 1 locks the table
LOCK TABLE t1 READ;
-connection con2;
-# Connection 2 tries to add partitions:
+connect con2,localhost,root,,;
+SET lock_wait_timeout = 0;
# First attempt: lock wait timeout (as expected)
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -263,12 +256,10 @@ i f
3 3
4 4
5 5
-connection con1;
-# Connection 1 unlocks the table and locks it again:
+connection default;
UNLOCK TABLES;
LOCK TABLE t1 READ;
connection con2;
-# Connection 2 tries again to add partitions:
# Third attempt: says that the table does not exist
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -276,22 +267,21 @@ ERROR HY000: Lock wait timeout exceeded; try restarting transaction
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
-connection con1;
+connection default;
UNLOCK TABLES;
connection con2;
DROP TABLE t1;
-connection con1;
+connection default;
CREATE TABLE t2 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
-connection con2;
-SET lock_wait_timeout = 2;
-connection con1;
LOCK TABLE t2 READ;
connection con2;
+SET lock_wait_timeout = 0;
ALTER TABLE t2 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+SET lock_wait_timeout = 2;
ALTER TABLE t2 ADD PARTITION PARTITIONS 2;
-connection con1;
+connection default;
UNLOCK TABLES;
connection con2;
connect con3,localhost,root,,;
@@ -301,31 +291,23 @@ test.t2 check status OK
SELECT * FROM t2;
i f
DROP TABLE t2;
-connection con1;
+connection default;
CREATE TABLE t3 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
-connection con2;
-SET lock_wait_timeout = 2;
-connection con1;
-# Connection 1 locks the table
LOCK TABLE t3 READ;
connection con2;
-# Connection 2 tries to add partitions (timeout):
+SET lock_wait_timeout = 0;
ALTER TABLE t3 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection con3;
-SET lock_wait_timeout = 2;
-# Connection 3 tries to add partitions (partition already exists):
+SET lock_wait_timeout = 0;
ALTER TABLE t3 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connect con4,localhost,root,,;
-# Connection 4 tries to rename the table:
RENAME TABLE t3 TO t4;
-connection con1;
-# Connection 1 unlocks the table:
+connection default;
UNLOCK TABLES;
connection con4;
-# Connection 4 gets error on rename:
connect con5,localhost,root,,;
# SHOW TABLES returns the table (not renamed):
SHOW TABLES;
@@ -339,7 +321,6 @@ disconnect con5;
disconnect con4;
disconnect con3;
disconnect con2;
-disconnect con1;
connection default;
CREATE TABLE t1(
f1 INT, f2 VARCHAR(10) CHARSET ascii,
@@ -350,17 +331,12 @@ PARTITION p2 VALUES LESS THAN (100));
ALTER TABLE t1 convert to charset ascii collate ascii_bin, ALGORITHM=INSTANT;
DROP TABLE t1;
# Test WRITE LOCK.
-connect con1,localhost,root,,;
CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
INSERT INTO t1 VALUES (3, 3), (4, 4);
-connect con2,localhost,root,,;
-SET lock_wait_timeout = 2;
-connection con1;
-#Connection 1 locks the table
LOCK TABLE t1 WRITE;
-connection con2;
-# Check that we still can SELECT, but not insert/update/delete.
+connect con2,localhost,root,,;
+SET lock_wait_timeout = 0;
# Check that we only can select, not insert/update/delete.
INSERT INTO t1 VALUES (NULL, 1), (NULL, 2), (10, 10), (11, 11);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -370,9 +346,9 @@ DELETE FROM t1 WHERE i = 10;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SELECT * FROM t1;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-connection con1;
+connection default;
UNLOCK TABLES;
connection con2;
DROP TABLE t1;
-disconnect con1;
+disconnect con2;
connection default;
diff --git a/mysql-test/suite/parts/r/rpl_partition.result b/mysql-test/suite/parts/r/rpl_partition.result
index dcd45ce4fe1..41df816fcc0 100644
--- a/mysql-test/suite/parts/r/rpl_partition.result
+++ b/mysql-test/suite/parts/r/rpl_partition.result
@@ -59,16 +59,12 @@ INSERT INTO t1 VALUES (NULL, NOW(), USER() , UUID(),
ins_count,'Going to test MBR for MySQL');
SET ins_count = ins_count - 1;
END WHILE;
-SELECT MAX(id) FROM t1 INTO del_count;
+SELECT MAX(id) INTO del_count FROM t1;
WHILE del_count > 0 DO
DELETE FROM t1 WHERE id = del_count;
SET del_count = del_count - 2;
END WHILE;
END|
-Warnings:
-Level Warning
-Code 1287
-Message '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
CREATE PROCEDURE p2()
BEGIN
DECLARE ins_count INT DEFAULT 1000;
@@ -84,16 +80,12 @@ INSERT INTO t2 VALUES (NULL, NOW(), USER() , UUID(),
ins_count,'Going to test MBR for MySQL');
SET ins_count = ins_count - 1;
END WHILE;
-SELECT MAX(id) FROM t2 INTO del_count;
+SELECT MAX(id) INTO del_count FROM t2;
WHILE del_count > 0 DO
DELETE FROM t2 WHERE id = del_count;
SET del_count = del_count - 2;
END WHILE;
END|
-Warnings:
-Level Warning
-Code 1287
-Message '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
CREATE PROCEDURE p3()
BEGIN
DECLARE ins_count INT DEFAULT 1000;
@@ -109,16 +101,12 @@ INSERT INTO t3 VALUES (NULL, NOW(), USER(), UUID(),
ins_count,'Going to test MBR for MySQL');
SET ins_count = ins_count - 1;
END WHILE;
-SELECT MAX(id) FROM t3 INTO del_count;
+SELECT MAX(id) INTO del_count FROM t3;
WHILE del_count > 0 DO
DELETE FROM t3 WHERE id = del_count;
SET del_count = del_count - 2;
END WHILE;
END|
-Warnings:
-Level Warning
-Code 1287
-Message '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
begin;
CALL p1();
commit;
diff --git a/mysql-test/suite/parts/t/backup_log.test b/mysql-test/suite/parts/t/backup_log.test
new file mode 100644
index 00000000000..50e3cadd192
--- /dev/null
+++ b/mysql-test/suite/parts/t/backup_log.test
@@ -0,0 +1,63 @@
+--source include/have_partition.inc
+--source include/have_innodb.inc
+--source include/not_embedded.inc
+
+connect (con1,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+
+--let $part_int=PARTITION BY HASH(a) PARTITIONS 2
+--let $part_date=PARTITION BY HASH(YEAR(a)) PARTITIONS 2
+--source main/backup_log.inc
+
+--echo #
+--echo # Testing backup ddl log for partitioned tables
+--echo #
+
+CREATE TABLE t200(a INT, b INT) ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1;
+INSERT INTO t200 VALUES (5, 5), (15, 15), (25, 25);
+ALTER TABLE t200 PARTITION BY RANGE( a ) (
+ PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (20),
+ PARTITION p2 VALUES LESS THAN (30)
+);
+CREATE TABLE t210(a INT, b INT) ENGINE ARIA TRANSACTIONAL = 1 PAGE_CHECKSUM = 1;
+--echo #TODO: echange partitions have not logged yet
+ALTER TABLE t200 EXCHANGE PARTITION p2 WITH TABLE t210;
+ALTER TABLE t200 DROP PARTITION p0;
+ALTER TABLE t200 ADD PARTITION (PARTITION p3 VALUES LESS THAN (40));
+ALTER TABLE t200
+ REORGANIZE PARTITION p3 INTO (
+ PARTITION n0 VALUES LESS THAN (35),
+ PARTITION n1 VALUES LESS THAN (45)
+);
+ALTER TABLE t200 PARTITION BY KEY(a) PARTITIONS 2;
+ALTER TABLE t200 PARTITION BY HASH(a) PARTITIONS 8;
+ALTER TABLE t200 COALESCE PARTITION 4;
+ALTER TABLE t200
+ PARTITION BY RANGE (b)
+ SUBPARTITION BY KEY (a)
+ SUBPARTITIONS 2 (
+ PARTITION p0 VALUES LESS THAN (10),
+ PARTITION p1 VALUES LESS THAN (20),
+ PARTITION p2 VALUES LESS THAN (30),
+ PARTITION p3 VALUES LESS THAN (MAXVALUE)
+ );
+ALTER TABLE t200 REMOVE PARTITIONING;
+DROP TABLE t200, t210;
+
+--echo # Test for the case when TDC contains TABLE_SHARE object for the
+--echo # certain table, but the table is not opened
+CREATE TABLE t220(a INT) ENGINE ARIA PARTITION BY HASH(a) PARTITIONS 2;
+--disable_result_log
+SELECT VERSION FROM INFORMATION_SCHEMA.tables WHERE
+ TABLE_SCHEMA = 'test' AND TABLE_NAME = 't220';
+--enable_result_log
+DROP TABLE t220;
+
+--source include/print_ddl_log.inc
+
+--echo #
+--echo # Cleanup
+--echo #
+disconnect con1;
diff --git a/mysql-test/suite/parts/t/backup_log_rocksdb.opt b/mysql-test/suite/parts/t/backup_log_rocksdb.opt
new file mode 100644
index 00000000000..df675545bf9
--- /dev/null
+++ b/mysql-test/suite/parts/t/backup_log_rocksdb.opt
@@ -0,0 +1 @@
+--plugin-load=$HA_ROCKSDB_SO
diff --git a/mysql-test/suite/parts/t/backup_log_rocksdb.test b/mysql-test/suite/parts/t/backup_log_rocksdb.test
new file mode 100644
index 00000000000..c5acfa76b11
--- /dev/null
+++ b/mysql-test/suite/parts/t/backup_log_rocksdb.test
@@ -0,0 +1,24 @@
+--source include/have_partition.inc
+--source include/have_rocksdb.inc
+--source include/not_embedded.inc
+
+#
+# Test that dynmaic loaded storage engines also works with partition and logging
+# This is will access code in dd_frm_type() that is not acccessed by other tests
+#
+
+connect (con1,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+
+--echo # Test partition engine read from .frm
+CREATE TABLE t220 (a INT) ENGINE ROCKSDB PARTITION BY KEY(a) PARTITIONS 2;
+DROP TABLE t220;
+
+--source include/print_ddl_log.inc
+
+--echo #
+--echo # Cleanup
+--echo #
+
+disconnect con1;
diff --git a/mysql-test/suite/parts/t/debug_innodb_crash.test b/mysql-test/suite/parts/t/debug_innodb_crash.test
index e06b3c3b254..8b71f4862d4 100644
--- a/mysql-test/suite/parts/t/debug_innodb_crash.test
+++ b/mysql-test/suite/parts/t/debug_innodb_crash.test
@@ -11,7 +11,7 @@ call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum
# If there is a crash or failure between the ddl_log is written and the
# operation is completed, mysql will try to drop a not yet created partition
call mtr.add_suppression("table .* does not exist in the InnoDB internal");
-call mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop table ");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
--let $DATADIR= `SELECT @@datadir;`
diff --git a/mysql-test/suite/parts/t/debug_innodb_fail.test b/mysql-test/suite/parts/t/debug_innodb_fail.test
index d0e827a3fc6..a6922f5923d 100644
--- a/mysql-test/suite/parts/t/debug_innodb_fail.test
+++ b/mysql-test/suite/parts/t/debug_innodb_fail.test
@@ -10,7 +10,7 @@ call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum
# If there is a crash or failure between the ddl_log is written and the
# operation is completed, mysql will try to drop a not yet created partition
call mtr.add_suppression("table .* does not exist in the InnoDB internal");
-call mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop table ");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
--let $DATADIR= `SELECT @@datadir;`
diff --git a/mysql-test/suite/parts/t/partition_alter1_2_innodb.test b/mysql-test/suite/parts/t/partition_alter1_2_innodb.test
index 71f9d33c72b..5293e547dbf 100644
--- a/mysql-test/suite/parts/t/partition_alter1_2_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter1_2_innodb.test
@@ -71,6 +71,9 @@ let $do_pk_tests= 1;
# and smaller than the maximum value of SIGNED INTEGER
let $MAX_VALUE= (2147483646);
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
+
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
@@ -87,3 +90,5 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
+
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/suite/parts/t/partition_alter3_innodb.test b/mysql-test/suite/parts/t/partition_alter3_innodb.test
index c63cf00bc53..d86c0e1122d 100644
--- a/mysql-test/suite/parts/t/partition_alter3_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter3_innodb.test
@@ -63,6 +63,9 @@ let $do_pk_tests= 1;
# and smaller than the maximum value of SIGNED INTEGER
let $MAX_VALUE= (2147483646);
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
+
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
@@ -79,3 +82,5 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.inc
+
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/suite/parts/t/partition_alter4_innodb.test b/mysql-test/suite/parts/t/partition_alter4_innodb.test
index cf4bd610ff1..dcbab787ab7 100644
--- a/mysql-test/suite/parts/t/partition_alter4_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter4_innodb.test
@@ -49,6 +49,9 @@ let $more_pk_ui_tests= 0;
# This test takes long time, so only run it with the --big mtr-flag.
--source include/big_test.inc
+# Valgrind is to slow for this test
+--source include/not_valgrind.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_alter_innodb.test b/mysql-test/suite/parts/t/partition_alter_innodb.test
index 451bec05adc..844b2084531 100644
--- a/mysql-test/suite/parts/t/partition_alter_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter_innodb.test
@@ -1,4 +1,19 @@
--source include/have_innodb.inc
--source include/have_partition.inc
--let $engine=InnoDB
+--disable_query_log
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+--enable_query_log
--source inc/part_alter_values.inc
+--disable_query_log
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
+--enable_query_log
+--echo #
+--echo # MDEV-28079 Shutdown hangs after altering innodb partition fts table
+--echo #
+CREATE TABLE t1(f1 INT, f2 CHAR(100))ENGINE=InnoDB PARTITION BY HASH(f1) PARTITIONS 2;
+ALTER TABLE t1 ADD FULLTEXT(f2);
+--source ../innodb/include/wait_all_purged.inc
+DROP TABLE t1;
+--echo # End of 10.6 tests
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 e6b2f4300cc..c0e3c21a12d 100644
--- a/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
+++ b/mysql-test/suite/parts/t/partition_basic_symlink_innodb.test
@@ -93,17 +93,9 @@ SHOW WARNINGS;
--echo # Verifying .frm, .par, .isl & .ibd files
--echo ---- MYSQLD_DATADIR/test
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQLD_DATADIR/test
---replace_regex $regexp
---cat_file $MYSQLD_DATADIR.files.txt
---remove_file $MYSQLD_DATADIR.files.txt
+--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQLTEST_VARDIR/mysql-test-data-dir/test
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $MYSQLTEST_VARDIR/files.txt $MYSQLTEST_VARDIR/mysql-test-data-dir/test
---replace_regex $regexp
---cat_file $MYSQLTEST_VARDIR/files.txt
---remove_file $MYSQLTEST_VARDIR/files.txt
+--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
@@ -122,11 +114,7 @@ ALTER TABLE t1 engine=MyISAM;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
SHOW CREATE TABLE t1;
--echo # Verifying .frm, .par and MyISAM files (.MYD, MYI)
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQLD_DATADIR/test
---replace_regex $regexp
---cat_file $MYSQLD_DATADIR.files.txt
---remove_file $MYSQLD_DATADIR.files.txt
+--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
@@ -142,21 +130,13 @@ ALTER TABLE t1 engine=InnoDB;
SHOW CREATE TABLE t1;
--echo # Verifying .frm, .par, .isl and InnoDB .ibd files
--echo ---- MYSQLD_DATADIR/test
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQLD_DATADIR/test
---replace_regex $regexp
---cat_file $MYSQLD_DATADIR.files.txt
---remove_file $MYSQLD_DATADIR.files.txt
+--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
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $MYSQLTEST_VARDIR/files.txt $MYSQLTEST_VARDIR/mysql-test-data-dir/test
---replace_regex $regexp
---cat_file $MYSQLTEST_VARDIR/files.txt
---remove_file $MYSQLTEST_VARDIR/files.txt
+--list_files $MYSQLTEST_VARDIR/mysql-test-data-dir/test
DROP TABLE t1;
diff --git a/mysql-test/suite/parts/t/partition_debug_innodb.test b/mysql-test/suite/parts/t/partition_debug_innodb.test
index d34a426a269..1a408cef95d 100644
--- a/mysql-test/suite/parts/t/partition_debug_innodb.test
+++ b/mysql-test/suite/parts/t/partition_debug_innodb.test
@@ -57,7 +57,7 @@ call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum
# If there is a crash or failure between the ddl_log is written and the
# operation is completed, mysql will try to drop a not yet created partition
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 ");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
call mtr.add_suppression("table .* does not exist in the InnoDB internal");
diff --git a/mysql-test/suite/parts/t/partition_debug_sync_innodb.test b/mysql-test/suite/parts/t/partition_debug_sync_innodb.test
index 61eb48faa11..9d2557a64e6 100644
--- a/mysql-test/suite/parts/t/partition_debug_sync_innodb.test
+++ b/mysql-test/suite/parts/t/partition_debug_sync_innodb.test
@@ -45,18 +45,14 @@ DROP TABLE t1;
--echo # Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
--echo # concurrent I_S query
create table t1 (a int)
-engine = innodb
+engine = innodb stats_persistent=0
partition by range (a)
(partition p0 values less than MAXVALUE);
insert into t1 values (1), (11), (21), (33);
SELECT * FROM t1;
SHOW CREATE TABLE t1;
--replace_result #p# #P# #sp# #SP#
---let $regexp=/#sql-ib[0-9a-f]+\.ibd\n//
---list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQLD_DATADIR/test
---replace_regex $regexp
---cat_file $MYSQLD_DATADIR.files.txt
---remove_file $MYSQLD_DATADIR.files.txt
+--list_files $MYSQLD_DATADIR/test
SET DEBUG_SYNC='before_open_in_get_all_tables SIGNAL parked WAIT_FOR open';
SET DEBUG_SYNC='partition_open_error SIGNAL alter WAIT_FOR finish';
diff --git a/mysql-test/suite/parts/t/partition_repair_myisam.test b/mysql-test/suite/parts/t/partition_repair_myisam.test
index a21493ca03d..3f43127a0c8 100644
--- a/mysql-test/suite/parts/t/partition_repair_myisam.test
+++ b/mysql-test/suite/parts/t/partition_repair_myisam.test
@@ -4,7 +4,7 @@
--disable_query_log
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("MariaDB thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression("is marked as crashed and should be repaired");
--enable_query_log
diff --git a/mysql-test/suite/parts/t/partition_special_innodb-master.opt b/mysql-test/suite/parts/t/partition_special_innodb-master.opt
deleted file mode 100644
index 79851bac7b2..00000000000
--- a/mysql-test/suite/parts/t/partition_special_innodb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb-lock-wait-timeout=2 --loose-innodb-file-per-table
diff --git a/mysql-test/suite/parts/t/partition_special_innodb.test b/mysql-test/suite/parts/t/partition_special_innodb.test
index a25feed08ef..6273cc5cb2a 100644
--- a/mysql-test/suite/parts/t/partition_special_innodb.test
+++ b/mysql-test/suite/parts/t/partition_special_innodb.test
@@ -59,16 +59,13 @@ PARTITION BY HASH (a)
PARTITIONS 2;
connect (con1, localhost, root,,);
-connect (con2, localhost, root,,);
-
---connection con1
SET autocommit=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (NULL, 'first row t2');
---connection con2
+connect (con2, localhost, root,,);
SET autocommit=OFF;
-SET SESSION lock_wait_timeout= 1;
+SET SESSION lock_wait_timeout= 0;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 AUTO_INCREMENT = 10;
@@ -80,20 +77,14 @@ DROP TABLE t1;
--echo #
--echo # Bug#53676: Unexpected errors and possible table corruption on
--echo # ADD PARTITION and LOCK TABLE
---connect (con1,localhost,root,,)
CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
INSERT INTO t1 VALUES (2, 2), (3, 3), (4, 4), (5, 5);
---connect (con2,localhost,root,,)
-SET lock_wait_timeout = 2;
-
---connection con1
---echo #Connection 1 locks the table
LOCK TABLE t1 READ;
---connection con2
---echo # Connection 2 tries to add partitions:
+--connect (con2,localhost,root,,)
+SET lock_wait_timeout = 0;
--echo # First attempt: lock wait timeout (as expected)
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
@@ -110,21 +101,18 @@ DELETE FROM t1 WHERE i = 10;
--sorted_result
SELECT * FROM t1;
---connection con1
---echo # Connection 1 unlocks the table and locks it again:
+--connection default
UNLOCK TABLES;
---real_sleep 1
LOCK TABLE t1 READ;
--connection con2
---echo # Connection 2 tries again to add partitions:
--echo # Third attempt: says that the table does not exist
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
--echo # Check table returns the same (not after fixing bug#56172!)
CHECK TABLE t1;
---connection con1
+--connection default
UNLOCK TABLES;
--connection con2
@@ -134,23 +122,21 @@ DROP TABLE t1;
# Test2
---connection con1
+--connection default
CREATE TABLE t2 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
---connection con2
-SET lock_wait_timeout = 2;
-
---connection con1
LOCK TABLE t2 READ;
--connection con2
+SET lock_wait_timeout = 0;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t2 ADD PARTITION PARTITIONS 2;
+SET lock_wait_timeout = 2;
send ALTER TABLE t2 ADD PARTITION PARTITIONS 2;
---connection con1
+--connection default
UNLOCK TABLES;
--connection con2
@@ -164,40 +150,30 @@ DROP TABLE t2;
# End of Test2
# Test #3
---connection con1
+--connection default
CREATE TABLE t3 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
---connection con2
-SET lock_wait_timeout = 2;
-
---connection con1
---echo # Connection 1 locks the table
LOCK TABLE t3 READ;
--connection con2
---echo # Connection 2 tries to add partitions (timeout):
+SET lock_wait_timeout = 0;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t3 ADD PARTITION PARTITIONS 2;
--connection con3
-SET lock_wait_timeout = 2;
---echo # Connection 3 tries to add partitions (partition already exists):
+SET lock_wait_timeout = 0;
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t3 ADD PARTITION PARTITIONS 2;
--connect (con4,localhost,root,,)
---echo # Connection 4 tries to rename the table:
send RENAME TABLE t3 TO t4;
---connection con1
---real_sleep 1
---echo # Connection 1 unlocks the table:
+--connection default
UNLOCK TABLES;
--connection con4
---echo # Connection 4 gets error on rename:
--reap
--connect (con5,localhost,root,,)
@@ -212,7 +188,6 @@ DROP TABLE t4;
--disconnect con4
--disconnect con3
--disconnect con2
---disconnect con1
--connection default
# End of Test #3
@@ -227,20 +202,14 @@ ALTER TABLE t1 convert to charset ascii collate ascii_bin, ALGORITHM=INSTANT;
DROP TABLE t1;
--echo # Test WRITE LOCK.
---connect (con1,localhost,root,,)
CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
INSERT INTO t1 VALUES (3, 3), (4, 4);
---connect (con2,localhost,root,,)
-SET lock_wait_timeout = 2;
-
---connection con1
---echo #Connection 1 locks the table
LOCK TABLE t1 WRITE;
---connection con2
---echo # Check that we still can SELECT, but not insert/update/delete.
+--connect (con2,localhost,root,,)
+SET lock_wait_timeout = 0;
--echo # Check that we only can select, not insert/update/delete.
--error ER_LOCK_WAIT_TIMEOUT
INSERT INTO t1 VALUES (NULL, 1), (NULL, 2), (10, 10), (11, 11);
@@ -251,11 +220,11 @@ DELETE FROM t1 WHERE i = 10;
--error ER_LOCK_WAIT_TIMEOUT
SELECT * FROM t1;
---connection con1
+--connection default
UNLOCK TABLES;
--connection con2
DROP TABLE t1;
---disconnect con1
+--disconnect con2
--connection default
diff --git a/mysql-test/suite/parts/t/rpl_partition.test b/mysql-test/suite/parts/t/rpl_partition.test
index 85b3f348921..30493343b47 100644
--- a/mysql-test/suite/parts/t/rpl_partition.test
+++ b/mysql-test/suite/parts/t/rpl_partition.test
@@ -74,7 +74,7 @@ BEGIN
SET ins_count = ins_count - 1;
END WHILE;
- SELECT MAX(id) FROM t1 INTO del_count;
+ SELECT MAX(id) INTO del_count FROM t1;
WHILE del_count > 0 DO
DELETE FROM t1 WHERE id = del_count;
SET del_count = del_count - 2;
@@ -99,7 +99,7 @@ BEGIN
SET ins_count = ins_count - 1;
END WHILE;
- SELECT MAX(id) FROM t2 INTO del_count;
+ SELECT MAX(id) INTO del_count FROM t2;
WHILE del_count > 0 DO
DELETE FROM t2 WHERE id = del_count;
SET del_count = del_count - 2;
@@ -124,7 +124,7 @@ BEGIN
SET ins_count = ins_count - 1;
END WHILE;
- SELECT MAX(id) FROM t3 INTO del_count;
+ SELECT MAX(id) INTO del_count FROM t3;
WHILE del_count > 0 DO
DELETE FROM t3 WHERE id = del_count;
SET del_count = del_count - 2;
diff --git a/mysql-test/suite/perfschema/disabled.def b/mysql-test/suite/perfschema/disabled.def
index 9c36708729a..fb97b011567 100644
--- a/mysql-test/suite/perfschema/disabled.def
+++ b/mysql-test/suite/perfschema/disabled.def
@@ -29,9 +29,7 @@ threads_mysql_freebsd:
transaction_gtid: needs to be updated for MariaDB gtids
-ddl_replication_applier_status_by_worker: todo
ddl_replication_connection_status: todo
-dml_replication_applier_status_by_worker: todo
dml_replication_connection_status: todo
dml_replication_group_member_stats: todo?
diff --git a/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result b/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result
index e13b4f978e1..d2e905af3a8 100644
--- a/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result
+++ b/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result
@@ -2,7 +2,7 @@ ALTER TABLE performance_schema.replication_applier_status_by_worker
add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
TRUNCATE TABLE performance_schema.replication_applier_status_by_worker;
-ERROR HY000: Invalid performance_schema usage.
+ERROR HY000: Invalid performance_schema usage
ALTER TABLE performance_schema.replication_applier_status_by_worker
ADD INDEX test_index(worker_id);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/digest_view.result b/mysql-test/suite/perfschema/r/digest_view.result
index 659c17ac5dc..d3988f99727 100644
--- a/mysql-test/suite/perfschema/r/digest_view.result
+++ b/mysql-test/suite/perfschema/r/digest_view.result
@@ -191,17 +191,17 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR
FROM performance_schema.events_statements_summary_by_digest
ORDER BY DIGEST_TEXT;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR
-test b09ba79901451a3ffe552333c381e88a EXPLAIN SELECT * FROM `test` . `v1` 1
-test dd6dc5d5113f799b5285767c07012224 EXPLAIN SELECT * FROM `test` . `v1` WHERE `a` = ? 1
-test 1f1038b822a0be14896a83f14f636d3c EXPLAIN SELECT * FROM `test` . `v1` WHERE `b` > ? 1
-test 3958e74f20c70e3ceabeaf97ba341a35 EXPLAIN SELECT `a` , `b` FROM `test` . `v1` 1
-test 5a885e25d8b50c97edaa741a81a24929 EXPLAIN SELECT `b` , `a` FROM `test` . `v1` 1
-test 6e05f1ed475ef896fa98bc8f1f44bbfa SELECT * FROM `test` . `v1` 1
-test 96f38ba3c6be9dd6f7170f62550e7d4f SELECT * FROM `test` . `v1` WHERE `a` = ? 1
-test 4027a714ef42d32c2c750b0cf4b51be8 SELECT * FROM `test` . `v1` WHERE `b` > ? 1
-test 8b0d66e44b6f489f5dd0422c725e3ee2 SELECT `a` , `b` FROM `test` . `v1` 1
-test 7bc3d60a4285971a627e5e3f52d09c2c SELECT `b` , `a` FROM `test` . `v1` 1
-test 85c6d6adac956e76a890209c3be41520 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
+test 3bcc75e0f4658692e16837ead0c455ca EXPLAIN SELECT * FROM `test` . `v1` 1
+test cc55af8221ef0bc8873e75cc704489ba EXPLAIN SELECT * FROM `test` . `v1` WHERE `a` = ? 1
+test bc0498551a492bd7c0ca92906bf86fb4 EXPLAIN SELECT * FROM `test` . `v1` WHERE `b` > ? 1
+test 76923336b6f4ffffd0d5854761ae1aec EXPLAIN SELECT `a` , `b` FROM `test` . `v1` 1
+test a65d479062ffbfe374b4cd823016a260 EXPLAIN SELECT `b` , `a` FROM `test` . `v1` 1
+test d44b1e50ebfd05accacef4167534ad65 SELECT * FROM `test` . `v1` 1
+test 0608cde507ef8fe35d1f68730e78f1e4 SELECT * FROM `test` . `v1` WHERE `a` = ? 1
+test 5e241fdb866faef138cc81b26203ddff SELECT * FROM `test` . `v1` WHERE `b` > ? 1
+test 74fa770ce44994b3fe7b534d504f2d6d SELECT `a` , `b` FROM `test` . `v1` 1
+test 45ca2a985d179d98395b238cf253bbe2 SELECT `b` , `a` FROM `test` . `v1` 1
+test 1cfa171590aa40ba23e14c92d6940ffc TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
DROP TABLE test.v1;
CREATE VIEW test.v1 AS SELECT * FROM test.t1;
EXPLAIN SELECT * from test.v1;
@@ -248,19 +248,19 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR
FROM performance_schema.events_statements_summary_by_digest
ORDER BY DIGEST_TEXT;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR
-test 2394efff76d5d6cd2fc36c009caedb6a CREATE VIEW `test` . `v1` AS SELECT * FROM `test` . `t1` 1
-test 8fd87aff2a1cba6e969f5f88f65e8def DROP TABLE `test` . `v1` 1
-test b09ba79901451a3ffe552333c381e88a EXPLAIN SELECT * FROM `test` . `v1` 2
-test dd6dc5d5113f799b5285767c07012224 EXPLAIN SELECT * FROM `test` . `v1` WHERE `a` = ? 2
-test 1f1038b822a0be14896a83f14f636d3c EXPLAIN SELECT * FROM `test` . `v1` WHERE `b` > ? 2
-test 3958e74f20c70e3ceabeaf97ba341a35 EXPLAIN SELECT `a` , `b` FROM `test` . `v1` 2
-test 5a885e25d8b50c97edaa741a81a24929 EXPLAIN SELECT `b` , `a` FROM `test` . `v1` 2
-test 6e05f1ed475ef896fa98bc8f1f44bbfa SELECT * FROM `test` . `v1` 2
-test 96f38ba3c6be9dd6f7170f62550e7d4f SELECT * FROM `test` . `v1` WHERE `a` = ? 2
-test 4027a714ef42d32c2c750b0cf4b51be8 SELECT * FROM `test` . `v1` WHERE `b` > ? 2
-test 6bf49b04e433e53f3ef755b00777810e SELECT SCHEMA_NAME , `DIGEST` , `DIGEST_TEXT` , `COUNT_STAR` FROM `performance_schema` . `events_statements_summary_by_digest` ORDER BY `DIGEST_TEXT` 1
-test 8b0d66e44b6f489f5dd0422c725e3ee2 SELECT `a` , `b` FROM `test` . `v1` 2
-test 7bc3d60a4285971a627e5e3f52d09c2c SELECT `b` , `a` FROM `test` . `v1` 2
-test 85c6d6adac956e76a890209c3be41520 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
+test 630a0b16be33fcf549f4f467de557940 CREATE VIEW `test` . `v1` AS SELECT * FROM `test` . `t1` 1
+test efa438aa8b4ddbf4c19f9e4b345781b5 DROP TABLE `test` . `v1` 1
+test 3bcc75e0f4658692e16837ead0c455ca EXPLAIN SELECT * FROM `test` . `v1` 2
+test cc55af8221ef0bc8873e75cc704489ba EXPLAIN SELECT * FROM `test` . `v1` WHERE `a` = ? 2
+test bc0498551a492bd7c0ca92906bf86fb4 EXPLAIN SELECT * FROM `test` . `v1` WHERE `b` > ? 2
+test 76923336b6f4ffffd0d5854761ae1aec EXPLAIN SELECT `a` , `b` FROM `test` . `v1` 2
+test a65d479062ffbfe374b4cd823016a260 EXPLAIN SELECT `b` , `a` FROM `test` . `v1` 2
+test d44b1e50ebfd05accacef4167534ad65 SELECT * FROM `test` . `v1` 2
+test 0608cde507ef8fe35d1f68730e78f1e4 SELECT * FROM `test` . `v1` WHERE `a` = ? 2
+test 5e241fdb866faef138cc81b26203ddff SELECT * FROM `test` . `v1` WHERE `b` > ? 2
+test a3788cc4bc96d260cfb5c3ebdfc65c6d SELECT SCHEMA_NAME , `DIGEST` , `DIGEST_TEXT` , `COUNT_STAR` FROM `performance_schema` . `events_statements_summary_by_digest` ORDER BY `DIGEST_TEXT` 1
+test 74fa770ce44994b3fe7b534d504f2d6d SELECT `a` , `b` FROM `test` . `v1` 2
+test 45ca2a985d179d98395b238cf253bbe2 SELECT `b` , `a` FROM `test` . `v1` 2
+test 1cfa171590aa40ba23e14c92d6940ffc TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
DROP VIEW test.v1;
DROP TABLE test.t1;
diff --git a/mysql-test/suite/perfschema/r/dml_handler.result b/mysql-test/suite/perfschema/r/dml_handler.result
index ce4ae6bf9a3..61bbba3189e 100644
--- a/mysql-test/suite/perfschema/r/dml_handler.result
+++ b/mysql-test/suite/perfschema/r/dml_handler.result
@@ -12,78 +12,81 @@ Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be
# 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=80;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=81;
HANDLER performance_schema.user_variables_by_thread OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`user_variables_by_thread` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=79;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=80;
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=78;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=79;
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=77;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=78;
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=76;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=77;
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=75;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=76;
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=74;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=75;
HANDLER performance_schema.table_handles OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`table_handles` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=73;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=74;
HANDLER performance_schema.status_by_user OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`status_by_user` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=72;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=73;
HANDLER performance_schema.status_by_thread OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`status_by_thread` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=71;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=72;
HANDLER performance_schema.status_by_host OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`status_by_host` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=70;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=71;
HANDLER performance_schema.status_by_account OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`status_by_account` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=69;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=70;
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=68;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=69;
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=67;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=68;
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=66;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=67;
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=65;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=66;
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=64;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=65;
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=63;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=64;
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=62;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=63;
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=61;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=62;
HANDLER performance_schema.session_status OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`session_status` doesn't have this option
-SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=60;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=61;
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=59;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=60;
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=58;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=59;
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=57;
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=58;
HANDLER performance_schema.replication_connection_configuration OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`replication_connection_configuration` doesn't have this option
+SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=57;
+HANDLER performance_schema.replication_applier_status_by_worker OPEN;
+ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`replication_applier_status_by_worker` doesn't have this option
SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=56;
HANDLER performance_schema.replication_applier_status_by_coordinator OPEN;
ERROR HY000: Storage engine PERFORMANCE_SCHEMA of the table `performance_schema`.`replication_applier_status_by_coordinator` doesn't have this option
diff --git a/mysql-test/suite/perfschema/r/dml_setup_instruments.result b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
index c07e66a9fa6..e87faf723f0 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_instruments.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
@@ -22,15 +22,15 @@ where name like 'Wait/Synch/Rwlock/sql/%'
order by name limit 10;
NAME ENABLED TIMED
wait/synch/rwlock/sql/LOCK_all_status_vars YES YES
+wait/synch/rwlock/sql/LOCK_dbnames YES YES
wait/synch/rwlock/sql/LOCK_dboptions YES YES
wait/synch/rwlock/sql/LOCK_grant YES YES
+wait/synch/rwlock/sql/LOCK_rmdir YES YES
wait/synch/rwlock/sql/LOCK_SEQUENCE YES YES
wait/synch/rwlock/sql/LOCK_ssl_refresh YES YES
wait/synch/rwlock/sql/LOCK_system_variables_hash YES YES
wait/synch/rwlock/sql/LOCK_sys_init_connect YES YES
wait/synch/rwlock/sql/LOCK_sys_init_slave YES YES
-wait/synch/rwlock/sql/LOGGER::LOCK_logger YES YES
-wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for YES YES
select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Cond/sql/%'
and name not in (
diff --git a/mysql-test/suite/perfschema/r/information_schema.result b/mysql-test/suite/perfschema/r/information_schema.result
index 3f4a8cf6336..7c400ed0750 100644
--- a/mysql-test/suite/perfschema/r/information_schema.result
+++ b/mysql-test/suite/perfschema/r/information_schema.result
@@ -59,6 +59,7 @@ performance_schema prepared_statements_instances def
performance_schema replication_applier_configuration def
performance_schema replication_applier_status def
performance_schema replication_applier_status_by_coordinator def
+performance_schema replication_applier_status_by_worker def
performance_schema replication_connection_configuration def
performance_schema rwlock_instances def
performance_schema session_account_connect_attrs def
@@ -144,6 +145,7 @@ prepared_statements_instances BASE TABLE PERFORMANCE_SCHEMA
replication_applier_configuration BASE TABLE PERFORMANCE_SCHEMA
replication_applier_status BASE TABLE PERFORMANCE_SCHEMA
replication_applier_status_by_coordinator BASE TABLE PERFORMANCE_SCHEMA
+replication_applier_status_by_worker BASE TABLE PERFORMANCE_SCHEMA
replication_connection_configuration BASE TABLE PERFORMANCE_SCHEMA
rwlock_instances BASE TABLE PERFORMANCE_SCHEMA
session_account_connect_attrs BASE TABLE PERFORMANCE_SCHEMA
@@ -226,9 +228,10 @@ mutex_instances 10 Dynamic
objects_summary_global_by_type 10 Dynamic
performance_timers 10 Fixed
prepared_statements_instances 10 Dynamic
-replication_applier_configuration 10 Fixed
-replication_applier_status 10 Fixed
+replication_applier_configuration 10 Dynamic
+replication_applier_status 10 Dynamic
replication_applier_status_by_coordinator 10 Dynamic
+replication_applier_status_by_worker 10 Dynamic
replication_connection_configuration 10 Dynamic
rwlock_instances 10 Dynamic
session_account_connect_attrs 10 Dynamic
@@ -314,6 +317,7 @@ prepared_statements_instances 0
replication_applier_configuration 0
replication_applier_status 0
replication_applier_status_by_coordinator 0
+replication_applier_status_by_worker 0
replication_connection_configuration 0
rwlock_instances 0
session_account_connect_attrs 0
@@ -406,6 +410,7 @@ prepared_statements_instances 0 0
replication_applier_configuration 0 0
replication_applier_status 0 0
replication_applier_status_by_coordinator 0 0
+replication_applier_status_by_worker 0 0
replication_connection_configuration 0 0
rwlock_instances 0 0
session_account_connect_attrs 0 0
@@ -491,6 +496,7 @@ prepared_statements_instances 0 0 NULL
replication_applier_configuration 0 0 NULL
replication_applier_status 0 0 NULL
replication_applier_status_by_coordinator 0 0 NULL
+replication_applier_status_by_worker 0 0 NULL
replication_connection_configuration 0 0 NULL
rwlock_instances 0 0 NULL
session_account_connect_attrs 0 0 NULL
@@ -576,6 +582,7 @@ prepared_statements_instances NULL NULL NULL
replication_applier_configuration NULL NULL NULL
replication_applier_status NULL NULL NULL
replication_applier_status_by_coordinator NULL NULL NULL
+replication_applier_status_by_worker NULL NULL NULL
replication_connection_configuration NULL NULL NULL
rwlock_instances NULL NULL NULL
session_account_connect_attrs NULL NULL NULL
@@ -605,86 +612,87 @@ from information_schema.tables
where TABLE_SCHEMA='performance_schema'
order by table_name;
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_program 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_transactions_current utf8_general_ci NULL
-events_transactions_history utf8_general_ci NULL
-events_transactions_history_long utf8_general_ci NULL
-events_transactions_summary_by_account_by_event_name utf8_general_ci NULL
-events_transactions_summary_by_host_by_event_name utf8_general_ci NULL
-events_transactions_summary_by_thread_by_event_name utf8_general_ci NULL
-events_transactions_summary_by_user_by_event_name utf8_general_ci NULL
-events_transactions_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
-global_status utf8_general_ci NULL
-hosts utf8_general_ci NULL
-host_cache utf8_general_ci NULL
-memory_summary_by_account_by_event_name utf8_general_ci NULL
-memory_summary_by_host_by_event_name utf8_general_ci NULL
-memory_summary_by_thread_by_event_name utf8_general_ci NULL
-memory_summary_by_user_by_event_name utf8_general_ci NULL
-memory_summary_global_by_event_name utf8_general_ci NULL
-metadata_locks 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
-prepared_statements_instances utf8_general_ci NULL
-replication_applier_configuration utf8_general_ci NULL
-replication_applier_status utf8_general_ci NULL
-replication_applier_status_by_coordinator utf8_general_ci NULL
-replication_connection_configuration utf8_general_ci NULL
-rwlock_instances utf8_general_ci NULL
-session_account_connect_attrs utf8_bin NULL
-session_connect_attrs utf8_bin NULL
-session_status utf8_general_ci 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
-status_by_account utf8_general_ci NULL
-status_by_host utf8_general_ci NULL
-status_by_thread utf8_general_ci NULL
-status_by_user utf8_general_ci NULL
-table_handles 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
-user_variables_by_thread utf8_general_ci NULL
+accounts utf8mb3_general_ci NULL
+cond_instances utf8mb3_general_ci NULL
+events_stages_current utf8mb3_general_ci NULL
+events_stages_history utf8mb3_general_ci NULL
+events_stages_history_long utf8mb3_general_ci NULL
+events_stages_summary_by_account_by_event_name utf8mb3_general_ci NULL
+events_stages_summary_by_host_by_event_name utf8mb3_general_ci NULL
+events_stages_summary_by_thread_by_event_name utf8mb3_general_ci NULL
+events_stages_summary_by_user_by_event_name utf8mb3_general_ci NULL
+events_stages_summary_global_by_event_name utf8mb3_general_ci NULL
+events_statements_current utf8mb3_general_ci NULL
+events_statements_history utf8mb3_general_ci NULL
+events_statements_history_long utf8mb3_general_ci NULL
+events_statements_summary_by_account_by_event_name utf8mb3_general_ci NULL
+events_statements_summary_by_digest utf8mb3_general_ci NULL
+events_statements_summary_by_host_by_event_name utf8mb3_general_ci NULL
+events_statements_summary_by_program utf8mb3_general_ci NULL
+events_statements_summary_by_thread_by_event_name utf8mb3_general_ci NULL
+events_statements_summary_by_user_by_event_name utf8mb3_general_ci NULL
+events_statements_summary_global_by_event_name utf8mb3_general_ci NULL
+events_transactions_current utf8mb3_general_ci NULL
+events_transactions_history utf8mb3_general_ci NULL
+events_transactions_history_long utf8mb3_general_ci NULL
+events_transactions_summary_by_account_by_event_name utf8mb3_general_ci NULL
+events_transactions_summary_by_host_by_event_name utf8mb3_general_ci NULL
+events_transactions_summary_by_thread_by_event_name utf8mb3_general_ci NULL
+events_transactions_summary_by_user_by_event_name utf8mb3_general_ci NULL
+events_transactions_summary_global_by_event_name utf8mb3_general_ci NULL
+events_waits_current utf8mb3_general_ci NULL
+events_waits_history utf8mb3_general_ci NULL
+events_waits_history_long utf8mb3_general_ci NULL
+events_waits_summary_by_account_by_event_name utf8mb3_general_ci NULL
+events_waits_summary_by_host_by_event_name utf8mb3_general_ci NULL
+events_waits_summary_by_instance utf8mb3_general_ci NULL
+events_waits_summary_by_thread_by_event_name utf8mb3_general_ci NULL
+events_waits_summary_by_user_by_event_name utf8mb3_general_ci NULL
+events_waits_summary_global_by_event_name utf8mb3_general_ci NULL
+file_instances utf8mb3_general_ci NULL
+file_summary_by_event_name utf8mb3_general_ci NULL
+file_summary_by_instance utf8mb3_general_ci NULL
+global_status utf8mb3_general_ci NULL
+hosts utf8mb3_general_ci NULL
+host_cache utf8mb3_general_ci NULL
+memory_summary_by_account_by_event_name utf8mb3_general_ci NULL
+memory_summary_by_host_by_event_name utf8mb3_general_ci NULL
+memory_summary_by_thread_by_event_name utf8mb3_general_ci NULL
+memory_summary_by_user_by_event_name utf8mb3_general_ci NULL
+memory_summary_global_by_event_name utf8mb3_general_ci NULL
+metadata_locks utf8mb3_general_ci NULL
+mutex_instances utf8mb3_general_ci NULL
+objects_summary_global_by_type utf8mb3_general_ci NULL
+performance_timers utf8mb3_general_ci NULL
+prepared_statements_instances utf8mb3_general_ci NULL
+replication_applier_configuration utf8mb3_general_ci NULL
+replication_applier_status utf8mb3_general_ci NULL
+replication_applier_status_by_coordinator utf8mb3_general_ci NULL
+replication_applier_status_by_worker utf8mb3_general_ci NULL
+replication_connection_configuration utf8mb3_general_ci NULL
+rwlock_instances utf8mb3_general_ci NULL
+session_account_connect_attrs utf8mb3_bin NULL
+session_connect_attrs utf8mb3_bin NULL
+session_status utf8mb3_general_ci NULL
+setup_actors utf8mb3_general_ci NULL
+setup_consumers utf8mb3_general_ci NULL
+setup_instruments utf8mb3_general_ci NULL
+setup_objects utf8mb3_general_ci NULL
+setup_timers utf8mb3_general_ci NULL
+socket_instances utf8mb3_general_ci NULL
+socket_summary_by_event_name utf8mb3_general_ci NULL
+socket_summary_by_instance utf8mb3_general_ci NULL
+status_by_account utf8mb3_general_ci NULL
+status_by_host utf8mb3_general_ci NULL
+status_by_thread utf8mb3_general_ci NULL
+status_by_user utf8mb3_general_ci NULL
+table_handles utf8mb3_general_ci NULL
+table_io_waits_summary_by_index_usage utf8mb3_general_ci NULL
+table_io_waits_summary_by_table utf8mb3_general_ci NULL
+table_lock_waits_summary_by_table utf8mb3_general_ci NULL
+threads utf8mb3_general_ci NULL
+users utf8mb3_general_ci NULL
+user_variables_by_thread utf8mb3_general_ci NULL
select lower(TABLE_NAME), CREATE_OPTIONS
from information_schema.tables
where TABLE_SCHEMA='performance_schema'
@@ -746,6 +754,7 @@ prepared_statements_instances
replication_applier_configuration
replication_applier_status
replication_applier_status_by_coordinator
+replication_applier_status_by_worker
replication_connection_configuration
rwlock_instances
session_account_connect_attrs
@@ -831,6 +840,7 @@ prepared_statements_instances
replication_applier_configuration
replication_applier_status
replication_applier_status_by_coordinator
+replication_applier_status_by_worker
replication_connection_configuration
rwlock_instances
session_account_connect_attrs
diff --git a/mysql-test/suite/perfschema/r/max_program_zero.result b/mysql-test/suite/perfschema/r/max_program_zero.result
index 85b9f49501c..5435efb34ae 100644
--- a/mysql-test/suite/perfschema/r/max_program_zero.result
+++ b/mysql-test/suite/perfschema/r/max_program_zero.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/schema.result b/mysql-test/suite/perfschema/r/schema.result
index d962b2a7c74..76af311c564 100644
--- a/mysql-test/suite/perfschema/r/schema.result
+++ b/mysql-test/suite/perfschema/r/schema.result
@@ -3,7 +3,7 @@ Database (performance_schema)
performance_schema
show create database performance_schema;
Database Create Database
-performance_schema CREATE DATABASE `performance_schema` /*!40100 DEFAULT CHARACTER SET utf8 */
+performance_schema CREATE DATABASE `performance_schema` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
use performance_schema;
show tables;
Tables_in_performance_schema
@@ -63,6 +63,7 @@ prepared_statements_instances
replication_applier_configuration
replication_applier_status
replication_applier_status_by_coordinator
+replication_applier_status_by_worker
replication_connection_configuration
rwlock_instances
session_account_connect_attrs
@@ -90,17 +91,17 @@ users
show create table accounts;
Table Create Table
accounts CREATE TABLE `accounts` (
- `USER` char(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'The connection''s client user name for the connection, or NULL if an internal thread.',
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'The connection client''s host name, or NULL if an internal thread.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'The connection''s client user name for the connection, or NULL if an internal thread.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'The connection client''s host name, or NULL if an internal thread.',
`CURRENT_CONNECTIONS` bigint(20) NOT NULL COMMENT 'Current connections for the account.',
`TOTAL_CONNECTIONS` bigint(20) NOT NULL COMMENT 'Total connections for the account.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table cond_instances;
Table Create Table
cond_instances CREATE TABLE `cond_instances` (
`NAME` varchar(128) NOT NULL COMMENT 'Client user name for the connection, or NULL if an internal thread.',
`OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL COMMENT 'Address in memory of the instrumented condition.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_stages_current;
Table Create Table
events_stages_current CREATE TABLE `events_stages_current` (
@@ -116,7 +117,7 @@ events_stages_current CREATE TABLE `events_stages_current` (
`WORK_ESTIMATED` bigint(20) unsigned DEFAULT NULL COMMENT 'The number of work units expected for the stage. NULL if the stage event progress is not instrumented.',
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'EVENT_ID of event within which this event nests.',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'Nesting event type. Either transaction, statement, stage or wait.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_stages_history;
Table Create Table
events_stages_history CREATE TABLE `events_stages_history` (
@@ -132,7 +133,7 @@ events_stages_history CREATE TABLE `events_stages_history` (
`WORK_ESTIMATED` bigint(20) unsigned DEFAULT NULL COMMENT 'The number of work units expected for the stage. NULL if the stage event progress is not instrumented.',
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'EVENT_ID of event within which this event nests.',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'Nesting event type. Either transaction, statement, stage or wait.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_stages_history_long;
Table Create Table
events_stages_history_long CREATE TABLE `events_stages_history_long` (
@@ -148,18 +149,18 @@ events_stages_history_long CREATE TABLE `events_stages_history_long` (
`WORK_ESTIMATED` bigint(20) unsigned DEFAULT NULL COMMENT 'The number of work units expected for the stage. NULL if the stage event progress is not instrumented.',
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'EVENT_ID of event within which this event nests.',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'Nesting event type. Either transaction, statement, stage or wait.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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 COMMENT 'Host. Used together with EVENT_NAME for grouping events.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host. Used together with EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with HOST for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events, which includes all timed and untimed events.',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the timed summarized events.',
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the timed summarized events.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the timed summarized events.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the timed summarized events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -170,30 +171,30 @@ events_stages_summary_by_thread_by_event_name CREATE TABLE `events_stages_summar
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the timed summarized events.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the timed summarized events.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the timed summarized events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User. Used together with EVENT_NAME for grouping events.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User. Used together with EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events, which includes all timed and untimed events.',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the timed summarized events.',
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the timed summarized events.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the timed summarized events.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the timed summarized events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User. Used together with HOST and EVENT_NAME for grouping events.',
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host. Used together with USER and EVENT_NAME for grouping events.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User. Used together with HOST and EVENT_NAME for grouping events.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host. Used together with USER and EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER and HOST for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events, which includes all timed and untimed events.',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the timed summarized events.',
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the timed summarized events.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the timed summarized events.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the timed summarized events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -203,7 +204,7 @@ events_stages_summary_global_by_event_name CREATE TABLE `events_stages_summary_g
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the timed summarized events.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the timed summarized events.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the timed summarized events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_statements_current;
Table Create Table
events_statements_current CREATE TABLE `events_statements_current` (
@@ -248,7 +249,7 @@ events_statements_current CREATE TABLE `events_statements_current` (
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'NULL for top level statements. The parent statement event id for nested statements (stored programs).',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'NULL for top level statements. The parent statement event type for nested statements (stored programs).',
`NESTING_EVENT_LEVEL` int(11) DEFAULT NULL COMMENT '0 for top level statements. The parent statement level plus 1 for nested statements (stored programs).'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_statements_history;
Table Create Table
events_statements_history CREATE TABLE `events_statements_history` (
@@ -293,7 +294,7 @@ events_statements_history CREATE TABLE `events_statements_history` (
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'NULL for top level statements. The parent statement event id for nested statements (stored programs).',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'NULL for top level statements. The parent statement event type for nested statements (stored programs).',
`NESTING_EVENT_LEVEL` int(11) DEFAULT NULL COMMENT '0 for top level statements. The parent statement level plus 1 for nested statements (stored programs).'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_statements_history_long;
Table Create Table
events_statements_history_long CREATE TABLE `events_statements_history_long` (
@@ -338,7 +339,7 @@ events_statements_history_long CREATE TABLE `events_statements_history_long` (
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'NULL for top level statements. The parent statement event id for nested statements (stored programs).',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'NULL for top level statements. The parent statement event type for nested statements (stored programs).',
`NESTING_EVENT_LEVEL` int(11) DEFAULT NULL COMMENT '0 for top level statements. The parent statement level plus 1 for nested statements (stored programs).'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_statements_summary_by_digest;
Table Create Table
events_statements_summary_by_digest CREATE TABLE `events_statements_summary_by_digest` (
@@ -371,11 +372,11 @@ events_statements_summary_by_digest CREATE TABLE `events_statements_summary_by_d
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.',
`FIRST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Time at which the digest was first seen.',
`LAST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Time at which the digest was most recently seen.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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 COMMENT 'Host. Used together with EVENT_NAME for grouping events.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host. Used together with EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with HOST for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the summarized events that are timed.',
@@ -401,7 +402,7 @@ events_statements_summary_by_host_by_event_name CREATE TABLE `events_statements_
`SUM_SORT_SCAN` bigint(20) unsigned NOT NULL COMMENT 'Sum of the SORT_SCAN column in the events_statements_current table.',
`SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_INDEX_USED column in the events_statements_current table.',
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -431,11 +432,11 @@ events_statements_summary_by_thread_by_event_name CREATE TABLE `events_statement
`SUM_SORT_SCAN` bigint(20) unsigned NOT NULL COMMENT 'Sum of the SORT_SCAN column in the events_statements_current table.',
`SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_INDEX_USED column in the events_statements_current table.',
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User. Used together with EVENT_NAME for grouping events.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User. Used together with EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the summarized events that are timed.',
@@ -461,12 +462,12 @@ events_statements_summary_by_user_by_event_name CREATE TABLE `events_statements_
`SUM_SORT_SCAN` bigint(20) unsigned NOT NULL COMMENT 'Sum of the SORT_SCAN column in the events_statements_current table.',
`SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_INDEX_USED column in the events_statements_current table.',
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User. Used together with HOST and EVENT_NAME for grouping events.',
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host. Used together with USER and EVENT_NAME for grouping events.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User. Used together with HOST and EVENT_NAME for grouping events.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host. Used together with USER and EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER and HOST for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the summarized events that are timed.',
@@ -492,7 +493,7 @@ events_statements_summary_by_account_by_event_name CREATE TABLE `events_statemen
`SUM_SORT_SCAN` bigint(20) unsigned NOT NULL COMMENT 'Sum of the SORT_SCAN column in the events_statements_current table.',
`SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_INDEX_USED column in the events_statements_current table.',
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -521,7 +522,7 @@ events_statements_summary_global_by_event_name CREATE TABLE `events_statements_s
`SUM_SORT_SCAN` bigint(20) unsigned NOT NULL COMMENT 'Sum of the SORT_SCAN column in the events_statements_current table.',
`SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_INDEX_USED column in the events_statements_current table.',
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL COMMENT 'Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_current;
Table Create Table
events_transactions_current CREATE TABLE `events_transactions_current` (
@@ -549,7 +550,7 @@ events_transactions_current CREATE TABLE `events_transactions_current` (
`OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL COMMENT 'Unused.',
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The EVENT_ID value of the event within which this event is nested.',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'The nesting event type.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_history;
Table Create Table
events_transactions_history CREATE TABLE `events_transactions_history` (
@@ -577,7 +578,7 @@ events_transactions_history CREATE TABLE `events_transactions_history` (
`OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL COMMENT 'Unused.',
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The EVENT_ID value of the event within which this event is nested.',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'The nesting event type.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_history_long;
Table Create Table
events_transactions_history_long CREATE TABLE `events_transactions_history_long` (
@@ -605,11 +606,11 @@ events_transactions_history_long CREATE TABLE `events_transactions_history_long`
`OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL COMMENT 'Unused.',
`NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The EVENT_ID value of the event within which this event is nested.',
`NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL COMMENT 'The nesting event type.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_summary_by_host_by_event_name;
Table Create Table
events_transactions_summary_by_host_by_event_name CREATE TABLE `events_transactions_summary_by_host_by_event_name` (
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host for which summary is generated.',
+ `HOST` char(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host for which summary is generated.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name for which summary is generated.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'The number of summarized events. This value includes all events, whether timed or nontimed.',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values.',
@@ -626,7 +627,7 @@ events_transactions_summary_by_host_by_event_name CREATE TABLE `events_transacti
`MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The minimum wait time of only READ ONLY transaction events.',
`AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The average wait time of only READ ONLY transaction events.',
`MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The maximum wait time of only READ ONLY transaction events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_summary_by_thread_by_event_name;
Table Create Table
events_transactions_summary_by_thread_by_event_name CREATE TABLE `events_transactions_summary_by_thread_by_event_name` (
@@ -647,11 +648,11 @@ events_transactions_summary_by_thread_by_event_name CREATE TABLE `events_transac
`MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The minimum wait time of only READ ONLY transaction events.',
`AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The average wait time of only READ ONLY transaction events.',
`MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The maximum wait time of only READ ONLY transaction events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_summary_by_user_by_event_name;
Table Create Table
events_transactions_summary_by_user_by_event_name CREATE TABLE `events_transactions_summary_by_user_by_event_name` (
- `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User for which summary is generated.',
+ `USER` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User for which summary is generated.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name for which summary is generated.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'The number of summarized events. This value includes all events, whether timed or nontimed.',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values.',
@@ -668,12 +669,12 @@ events_transactions_summary_by_user_by_event_name CREATE TABLE `events_transacti
`MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The minimum wait time of only READ ONLY transaction events.',
`AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The average wait time of only READ ONLY transaction events.',
`MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The maximum wait time of only READ ONLY transaction events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_summary_by_account_by_event_name;
Table Create Table
events_transactions_summary_by_account_by_event_name CREATE TABLE `events_transactions_summary_by_account_by_event_name` (
- `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User for which summary is generated.',
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host for which summary is generated.',
+ `USER` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User for which summary is generated.',
+ `HOST` char(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host for which summary is generated.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name for which summary is generated.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'The number of summarized events. This value includes all events, whether timed or nontimed.',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values.',
@@ -690,7 +691,7 @@ events_transactions_summary_by_account_by_event_name CREATE TABLE `events_transa
`MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The minimum wait time of only READ ONLY transaction events.',
`AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The average wait time of only READ ONLY transaction events.',
`MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The maximum wait time of only READ ONLY transaction events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_transactions_summary_global_by_event_name;
Table Create Table
events_transactions_summary_global_by_event_name CREATE TABLE `events_transactions_summary_global_by_event_name` (
@@ -710,7 +711,7 @@ events_transactions_summary_global_by_event_name CREATE TABLE `events_transactio
`MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The minimum wait time of only READ ONLY transaction events.',
`AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The average wait time of only READ ONLY transaction events.',
`MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL COMMENT 'The maximum wait time of only READ ONLY transaction events.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_waits_current;
Table Create Table
events_waits_current CREATE TABLE `events_waits_current` (
@@ -733,7 +734,7 @@ events_waits_current CREATE TABLE `events_waits_current` (
`OPERATION` varchar(32) NOT NULL COMMENT 'Operation type, for example read, write or lock',
`NUMBER_OF_BYTES` bigint(20) DEFAULT NULL COMMENT 'Number of bytes that the operation read or wrote, or NULL for table I/O waits.',
`FLAGS` int(10) unsigned DEFAULT NULL COMMENT 'Reserved for use in the future.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_waits_history;
Table Create Table
events_waits_history CREATE TABLE `events_waits_history` (
@@ -756,7 +757,7 @@ events_waits_history CREATE TABLE `events_waits_history` (
`OPERATION` varchar(32) NOT NULL COMMENT 'Operation type, for example read, write or lock',
`NUMBER_OF_BYTES` bigint(20) DEFAULT NULL COMMENT 'Number of bytes that the operation read or wrote, or NULL for table I/O waits.',
`FLAGS` int(10) unsigned DEFAULT NULL COMMENT 'Reserved for use in the future.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_waits_history_long;
Table Create Table
events_waits_history_long CREATE TABLE `events_waits_history_long` (
@@ -779,18 +780,18 @@ events_waits_history_long CREATE TABLE `events_waits_history_long` (
`OPERATION` varchar(32) NOT NULL COMMENT 'Operation type, for example read, write or lock',
`NUMBER_OF_BYTES` bigint(20) DEFAULT NULL COMMENT 'Number of bytes that the operation read or wrote, or NULL for table I/O waits.',
`FLAGS` int(10) unsigned DEFAULT NULL COMMENT 'Reserved for use in the future.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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 COMMENT 'Host. Used together with EVENT_NAME for grouping events.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host. Used together with EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER and HOST for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the summarized events that are timed.',
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_waits_summary_by_instance;
Table Create Table
events_waits_summary_by_instance CREATE TABLE `events_waits_summary_by_instance` (
@@ -801,7 +802,7 @@ events_waits_summary_by_instance CREATE TABLE `events_waits_summary_by_instance`
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -812,30 +813,30 @@ events_waits_summary_by_thread_by_event_name CREATE TABLE `events_waits_summary_
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User. Used together with EVENT_NAME for grouping events.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User. Used together with EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the summarized events that are timed.',
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User. Used together with HOST and EVENT_NAME for grouping events.',
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host. Used together with USER and EVENT_NAME for grouping events.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User. Used together with HOST and EVENT_NAME for grouping events.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host. Used together with USER and EVENT_NAME for grouping events.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name. Used together with USER and HOST for grouping events.',
`COUNT_STAR` bigint(20) unsigned NOT NULL COMMENT 'Number of summarized events',
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Total wait time of the summarized events that are timed.',
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table events_waits_summary_global_by_event_name;
Table Create Table
events_waits_summary_global_by_event_name CREATE TABLE `events_waits_summary_global_by_event_name` (
@@ -845,11 +846,11 @@ events_waits_summary_global_by_event_name CREATE TABLE `events_waits_summary_glo
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table memory_summary_by_host_by_event_name;
Table Create Table
memory_summary_by_host_by_event_name CREATE TABLE `memory_summary_by_host_by_event_name` (
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host portion of the account.',
+ `HOST` char(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host portion of the account.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name.',
`COUNT_ALLOC` bigint(20) unsigned NOT NULL COMMENT 'Total number of allocations to memory.',
`COUNT_FREE` bigint(20) unsigned NOT NULL COMMENT 'Total number of attempts to free the allocated memory.',
@@ -861,7 +862,7 @@ memory_summary_by_host_by_event_name CREATE TABLE `memory_summary_by_host_by_eve
`LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Lowest number of bytes used.',
`CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Current number of bytes used (total allocated minus total freed).',
`HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Highest number of bytes used.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table memory_summary_by_thread_by_event_name;
Table Create Table
memory_summary_by_thread_by_event_name CREATE TABLE `memory_summary_by_thread_by_event_name` (
@@ -877,11 +878,11 @@ memory_summary_by_thread_by_event_name CREATE TABLE `memory_summary_by_thread_by
`LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Lowest number of bytes used.',
`CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Current number of bytes used (total allocated minus total freed).',
`HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Highest number of bytes used.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table memory_summary_by_user_by_event_name;
Table Create Table
memory_summary_by_user_by_event_name CREATE TABLE `memory_summary_by_user_by_event_name` (
- `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User portion of the account.',
+ `USER` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User portion of the account.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name.',
`COUNT_ALLOC` bigint(20) unsigned NOT NULL COMMENT 'Total number of allocations to memory.',
`COUNT_FREE` bigint(20) unsigned NOT NULL COMMENT 'Total number of attempts to free the allocated memory.',
@@ -893,12 +894,12 @@ memory_summary_by_user_by_event_name CREATE TABLE `memory_summary_by_user_by_eve
`LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Lowest number of bytes used.',
`CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Current number of bytes used (total allocated minus total freed).',
`HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Highest number of bytes used.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table memory_summary_by_account_by_event_name;
Table Create Table
memory_summary_by_account_by_event_name CREATE TABLE `memory_summary_by_account_by_event_name` (
- `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'User portion of the account.',
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host portion of the account.',
+ `USER` char(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'User portion of the account.',
+ `HOST` char(60) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host portion of the account.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Event name.',
`COUNT_ALLOC` bigint(20) unsigned NOT NULL COMMENT 'Total number of allocations to memory.',
`COUNT_FREE` bigint(20) unsigned NOT NULL COMMENT 'Total number of attempts to free the allocated memory.',
@@ -910,7 +911,7 @@ memory_summary_by_account_by_event_name CREATE TABLE `memory_summary_by_account_
`LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Lowest number of bytes used.',
`CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Current number of bytes used (total allocated minus total freed).',
`HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Highest number of bytes used.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table memory_summary_global_by_event_name;
Table Create Table
memory_summary_global_by_event_name CREATE TABLE `memory_summary_global_by_event_name` (
@@ -925,7 +926,7 @@ memory_summary_global_by_event_name CREATE TABLE `memory_summary_global_by_event
`LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Lowest number of bytes used.',
`CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Current number of bytes used (total allocated minus total freed).',
`HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL COMMENT 'Highest number of bytes used.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table metadata_locks;
Table Create Table
metadata_locks CREATE TABLE `metadata_locks` (
@@ -939,14 +940,14 @@ metadata_locks CREATE TABLE `metadata_locks` (
`SOURCE` varchar(64) DEFAULT NULL COMMENT 'Source file containing the instrumented code that produced the event, as well as the line number where the instrumentation occurred. This allows one to examine the source code involved.',
`OWNER_THREAD_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'Thread that requested the lock.',
`OWNER_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'Event that requested the lock.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table file_instances;
Table Create Table
file_instances CREATE TABLE `file_instances` (
`FILE_NAME` varchar(512) NOT NULL COMMENT 'File name.',
`EVENT_NAME` varchar(128) NOT NULL COMMENT 'Instrument name associated with the file.',
`OPEN_COUNT` int(10) unsigned NOT NULL COMMENT 'Open handles on the file. A value of greater than zero means that the file is currently open.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table file_summary_by_event_name;
Table Create Table
file_summary_by_event_name CREATE TABLE `file_summary_by_event_name` (
@@ -973,7 +974,7 @@ file_summary_by_event_name CREATE TABLE `file_summary_by_event_name` (
`MIN_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all miscellaneous operations that are timed.',
`AVG_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all miscellaneous operations that are timed.',
`MAX_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all miscellaneous operations that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table file_summary_by_instance;
Table Create Table
file_summary_by_instance CREATE TABLE `file_summary_by_instance` (
@@ -1002,12 +1003,12 @@ file_summary_by_instance CREATE TABLE `file_summary_by_instance` (
`MIN_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all miscellaneous operations that are timed.',
`AVG_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all miscellaneous operations that are timed.',
`MAX_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all miscellaneous operations that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table host_cache;
Table Create Table
host_cache CREATE TABLE `host_cache` (
`IP` varchar(64) NOT NULL COMMENT 'Client IP address.',
- `HOST` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'IP''s resolved DNS host name, or NULL if unknown.',
+ `HOST` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'IP''s resolved DNS host name, or NULL if unknown.',
`HOST_VALIDATED` enum('YES','NO') NOT NULL COMMENT 'YES if the IP-to-host DNS lookup was successful, and the HOST column can be used to avoid DNS calls, or NO if unsuccessful, in which case DNS lookup is performed for each connect until either successful or a permanent error.',
`SUM_CONNECT_ERRORS` bigint(20) NOT NULL COMMENT 'Number of connection errors. Counts only protocol handshake errors for hosts that passed validation. These errors count towards max_connect_errors.',
`COUNT_HOST_BLOCKED_ERRORS` bigint(20) NOT NULL COMMENT 'Number of blocked connections because SUM_CONNECT_ERRORS exceeded the max_connect_errors system variable.',
@@ -1035,21 +1036,21 @@ host_cache CREATE TABLE `host_cache` (
`LAST_SEEN` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Timestamp of the most recent connection attempt by the IP.',
`FIRST_ERROR_SEEN` timestamp NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Timestamp of the first error seen from the IP.',
`LAST_ERROR_SEEN` timestamp NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Timestamp of the most recent error seen from the IP.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table hosts;
Table Create Table
hosts CREATE TABLE `hosts` (
- `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'Host name used by the client to connect, NULL for internal threads or user sessions that failed to authenticate.',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'Host name used by the client to connect, NULL for internal threads or user sessions that failed to authenticate.',
`CURRENT_CONNECTIONS` bigint(20) NOT NULL COMMENT 'Current number of the host''s connections.',
`TOTAL_CONNECTIONS` bigint(20) NOT NULL COMMENT 'Total number of the host''s connections'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table mutex_instances;
Table Create Table
mutex_instances CREATE TABLE `mutex_instances` (
`NAME` varchar(128) NOT NULL COMMENT 'Instrument name associated with the mutex.',
`OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL COMMENT 'Memory address of the instrumented mutex.',
`LOCKED_BY_THREAD_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The THREAD_ID of the locking thread if a thread has a mutex locked, otherwise NULL.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table objects_summary_global_by_type;
Table Create Table
objects_summary_global_by_type CREATE TABLE `objects_summary_global_by_type` (
@@ -1061,7 +1062,7 @@ objects_summary_global_by_type CREATE TABLE `objects_summary_global_by_type` (
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of the summarized events that are timed.',
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of the summarized events that are timed.',
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of the summarized events that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table performance_timers;
Table Create Table
performance_timers CREATE TABLE `performance_timers` (
@@ -1069,7 +1070,7 @@ performance_timers CREATE TABLE `performance_timers` (
`TIMER_FREQUENCY` bigint(20) DEFAULT NULL COMMENT 'Number of timer units per second. Dependent on the processor speed.',
`TIMER_RESOLUTION` bigint(20) DEFAULT NULL COMMENT 'Number of timer units by which timed values increase each time.',
`TIMER_OVERHEAD` bigint(20) DEFAULT NULL COMMENT 'Minimum timer overhead, determined during initialization by calling the timer 20 times and selecting the smallest value. Total overhead will be at least double this, as the timer is called at the beginning and end of each timed event.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table rwlock_instances;
Table Create Table
rwlock_instances CREATE TABLE `rwlock_instances` (
@@ -1077,29 +1078,29 @@ rwlock_instances CREATE TABLE `rwlock_instances` (
`OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL COMMENT 'Address in memory of the instrumented lock',
`WRITE_LOCKED_BY_THREAD_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'THREAD_ID of the locking thread if locked in write (exclusive) mode, otherwise NULL.',
`READ_LOCKED_BY_COUNT` int(10) unsigned NOT NULL COMMENT 'Count of current read locks held'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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 '%' COMMENT 'Host name, either a literal, or the % wildcard representing any host.',
- `USER` char(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%' COMMENT 'User name, either a literal or the % wildcard representing any name.',
- `ROLE` char(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%' COMMENT 'Unused',
+ `HOST` char(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '%' COMMENT 'Host name, either a literal, or the % wildcard representing any host.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '%' COMMENT 'User name, either a literal or the % wildcard representing any name.',
+ `ROLE` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '%' COMMENT 'Unused',
`ENABLED` enum('YES','NO') NOT NULL DEFAULT 'YES' COMMENT 'Whether to enable instrumentation for foreground threads matched by the row.',
`HISTORY` enum('YES','NO') NOT NULL DEFAULT 'YES' COMMENT 'Whether to log historical events for foreground threads matched by the row.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table setup_consumers;
Table Create Table
setup_consumers CREATE TABLE `setup_consumers` (
`NAME` varchar(64) NOT NULL COMMENT 'Consumer name',
`ENABLED` enum('YES','NO') NOT NULL COMMENT 'YES or NO for whether or not the consumer is enabled. You can modify this column to ensure that event information is added, or is not added.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table setup_instruments;
Table Create Table
setup_instruments CREATE TABLE `setup_instruments` (
`NAME` varchar(128) NOT NULL COMMENT 'Instrument name',
`ENABLED` enum('YES','NO') NOT NULL COMMENT 'Whether or not the instrument is enabled. It can be disabled, and the instrument will produce no events.',
`TIMED` enum('YES','NO') NOT NULL COMMENT 'Whether or not the instrument is timed. It can be set, but if disabled, events produced by the instrument will have NULL values for the corresponding TIMER_START, TIMER_END, and TIMER_WAIT values.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table setup_objects;
Table Create Table
setup_objects CREATE TABLE `setup_objects` (
@@ -1108,13 +1109,13 @@ setup_objects CREATE TABLE `setup_objects` (
`OBJECT_NAME` varchar(64) NOT NULL DEFAULT '%' COMMENT 'Name of the instrumented object, either the literal or % for any object.',
`ENABLED` enum('YES','NO') NOT NULL DEFAULT 'YES' COMMENT 'Whether the object''s events are instrumented or not. Can be disabled, in which case monitoring is not enabled for those objects.',
`TIMED` enum('YES','NO') NOT NULL DEFAULT 'YES' COMMENT 'Whether the object''s events are timed or not. Can be modified.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table setup_timers;
Table Create Table
setup_timers CREATE TABLE `setup_timers` (
`NAME` varchar(64) NOT NULL COMMENT 'Type of instrument the timer is used for.',
`TIMER_NAME` enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') NOT NULL COMMENT 'Timer applying to the instrument type. Can be modified.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table socket_instances;
Table Create Table
socket_instances CREATE TABLE `socket_instances` (
@@ -1125,7 +1126,7 @@ socket_instances CREATE TABLE `socket_instances` (
`IP` varchar(64) NOT NULL COMMENT 'Client IP address. Blank for Unix socket file, otherwise an IPv4 or IPv6 address. Together with the PORT identifies the connection.',
`PORT` int(11) NOT NULL COMMENT 'TCP/IP port number, from 0 to 65535. Together with the IP identifies the connection.',
`STATE` enum('IDLE','ACTIVE') NOT NULL COMMENT 'Socket status, either IDLE if waiting to receive a request from a client, or ACTIVE'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table socket_summary_by_instance;
Table Create Table
socket_summary_by_instance CREATE TABLE `socket_summary_by_instance` (
@@ -1153,7 +1154,7 @@ socket_summary_by_instance CREATE TABLE `socket_summary_by_instance` (
`MIN_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all miscellaneous operations that are timed.',
`AVG_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all miscellaneous operations that are timed.',
`MAX_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all miscellaneous operations that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table socket_summary_by_event_name;
Table Create Table
socket_summary_by_event_name CREATE TABLE `socket_summary_by_event_name` (
@@ -1180,7 +1181,7 @@ socket_summary_by_event_name CREATE TABLE `socket_summary_by_event_name` (
`MIN_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all miscellaneous operations that are timed.',
`AVG_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all miscellaneous operations that are timed.',
`MAX_TIMER_MISC` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all miscellaneous operations that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table table_handles;
Table Create Table
table_handles CREATE TABLE `table_handles` (
@@ -1192,7 +1193,7 @@ table_handles CREATE TABLE `table_handles` (
`OWNER_EVENT_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The event which caused the table handle to be opened.',
`INTERNAL_LOCK` varchar(64) DEFAULT NULL COMMENT 'The table lock used at the SQL level.',
`EXTERNAL_LOCK` varchar(64) DEFAULT NULL COMMENT 'The table lock used at the storage engine level.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -1235,7 +1236,7 @@ table_io_waits_summary_by_index_usage CREATE TABLE `table_io_waits_summary_by_in
`MIN_TIMER_DELETE` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all delete operations that are timed.',
`AVG_TIMER_DELETE` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all delete operations that are timed.',
`MAX_TIMER_DELETE` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all delete operations that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -1277,7 +1278,7 @@ table_io_waits_summary_by_table CREATE TABLE `table_io_waits_summary_by_table` (
`MIN_TIMER_DELETE` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all delete operations that are timed.',
`AVG_TIMER_DELETE` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all delete operations that are timed.',
`MAX_TIMER_DELETE` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all delete operations that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
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` (
@@ -1354,7 +1355,7 @@ table_lock_waits_summary_by_table CREATE TABLE `table_lock_waits_summary_by_tabl
`MIN_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL COMMENT 'Minimum wait time of all external write locks that are timed.',
`AVG_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL COMMENT 'Average wait time of all external write locks that are timed.',
`MAX_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL COMMENT 'Maximum wait time of all external write locks that are timed.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table threads;
Table Create Table
threads CREATE TABLE `threads` (
@@ -1363,7 +1364,7 @@ threads CREATE TABLE `threads` (
`TYPE` varchar(10) NOT NULL COMMENT 'FOREGROUND or BACKGROUND, depending on the thread type. User connection threads are FOREGROUND, internal server threads are BACKGROUND.',
`PROCESSLIST_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The PROCESSLIST.ID value for threads displayed in the INFORMATION_SCHEMA.PROCESSLIST table, or 0 for background threads. Also corresponds with the CONNECTION_ID() return value for the thread.',
`PROCESSLIST_USER` varchar(128) DEFAULT NULL COMMENT 'Foreground thread user, or NULL for a background thread.',
- `PROCESSLIST_HOST` varchar(60) DEFAULT NULL COMMENT 'Foreground thread host, or NULL for a background thread.',
+ `PROCESSLIST_HOST` varchar(255) DEFAULT NULL COMMENT 'Foreground thread host, or NULL for a background thread.',
`PROCESSLIST_DB` varchar(64) DEFAULT NULL COMMENT 'Thread''s default database, or NULL if none exists.',
`PROCESSLIST_COMMAND` varchar(16) DEFAULT NULL COMMENT 'Type of command executed by the thread. These correspond to the the COM_xxx client/server protocol commands, and the Com_xxx status variables. See Thread Command Values.',
`PROCESSLIST_TIME` bigint(20) DEFAULT NULL COMMENT 'Time in seconds the thread has been in its current state.',
@@ -1375,11 +1376,11 @@ threads CREATE TABLE `threads` (
`HISTORY` enum('YES','NO') NOT NULL COMMENT 'Whether to log historical events for the thread.',
`CONNECTION_TYPE` varchar(16) DEFAULT NULL COMMENT 'The protocol used to establish the connection, or NULL for background threads.',
`THREAD_OS_ID` bigint(20) unsigned DEFAULT NULL COMMENT 'The thread or task identifier as defined by the underlying operating system, if there is one.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
show create table users;
Table Create Table
users CREATE TABLE `users` (
- `USER` char(128) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'The connection''s client user name for the connection, or NULL if an internal thread.',
+ `USER` char(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin DEFAULT NULL COMMENT 'The connection''s client user name for the connection, or NULL if an internal thread.',
`CURRENT_CONNECTIONS` bigint(20) NOT NULL COMMENT 'Current connections for the user.',
`TOTAL_CONNECTIONS` bigint(20) NOT NULL COMMENT 'Total connections for the user.'
-) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
+) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb3
diff --git a/mysql-test/suite/perfschema/r/short_option_1.result b/mysql-test/suite/perfschema/r/short_option_1.result
index ab3a13b8eed..3582375a0a2 100644
--- a/mysql-test/suite/perfschema/r/short_option_1.result
+++ b/mysql-test/suite/perfschema/r/short_option_1.result
@@ -9,15 +9,10 @@ Variable_name Value
sql_mode REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI
select @@character_set_server;
@@character_set_server
-utf8
+utf8mb3
show global variables like 'character_set_system';
Variable_name Value
-character_set_system utf8
-show global variables like 'general_log';
-Variable_name Value
-general_log ON
-show global variables like 'new';
-Variable_name Value
+character_set_system utf8mb3
show global variables like 'log_warnings';
Variable_name Value
-log_warnings 2
+log_warnings 1
diff --git a/mysql-test/suite/perfschema/r/socket_connect.result b/mysql-test/suite/perfschema/r/socket_connect.result
index bec16b45f07..5de362bf370 100644
--- a/mysql-test/suite/perfschema/r/socket_connect.result
+++ b/mysql-test/suite/perfschema/r/socket_connect.result
@@ -134,21 +134,21 @@ connection default;
#
# 4.1 Verify that there are two TCP/IP connections in the socket instance table
#
-SELECT COUNT(*) = 2 AS 'Expect 1'
+SELECT COUNT(*) = 2 AS 'Expect 2'
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
+Expect 2
1
#
# 4.2 Verify that there are two TCP/IP connections in the summary instance table
#
-SELECT COUNT(*) = 2 AS 'Expect 1'
+SELECT COUNT(*) = 2 AS 'Expect 2'
FROM performance_schema.socket_summary_by_instance
WHERE EVENT_NAME LIKE '%client_connection%'
AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
-Expect 1
+Expect 2
1
#==============================================================================
# 5.0 Drop the client connections
diff --git a/mysql-test/suite/perfschema/r/socket_instances_func.result b/mysql-test/suite/perfschema/r/socket_instances_func.result
index 8792730fa29..2f215ca6414 100644
--- a/mysql-test/suite/perfschema/r/socket_instances_func.result
+++ b/mysql-test/suite/perfschema/r/socket_instances_func.result
@@ -80,15 +80,16 @@ 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'
+# There are two entries with 'wait/io/socket/sql/server_tcpip_socket',
+# for [::] and for 0.0.0.0.
+# They share the same thread id with 'wait/io/socket/sql/server_unix_socket'.
+SELECT COUNT(*) = 2 AS 'Expect 2'
FROM performance_schema.socket_instances
WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
-Expect 1
+Expect 2
1
# Get the 'server_tcpip_socket' thread id
-SELECT THREAD_ID INTO @thread_id
+SELECT DISTINCT THREAD_ID INTO @thread_id
FROM performance_schema.socket_instances
WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
# Check the content.
@@ -100,6 +101,7 @@ FROM performance_schema.socket_instances
WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
Expect 1
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'.
@@ -123,15 +125,15 @@ 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'
+SELECT COUNT(*) = 3 AS 'Expect 3'
FROM performance_schema.socket_instances
WHERE THREAD_ID = @thread_id;
-Expect 1
+Expect 3
1
-SELECT COUNT(*) = 2 AS 'Expect 1'
+SELECT COUNT(*) = 3 AS 'Expect 3'
FROM performance_schema.socket_instances
WHERE THREAD_ID = @thread_id;
-Expect 1
+Expect 3
1
#Compare server listener socket thread ids
select @match_thread_id;
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_idle.result b/mysql-test/suite/perfschema/r/start_server_disable_idle.result
index 00baba09fb6..bfc49fd3480 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_idle.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_idle.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_stages.result b/mysql-test/suite/perfschema/r/start_server_disable_stages.result
index 6fe051b3c42..e9f20398467 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_stages.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_stages.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_statements.result b/mysql-test/suite/perfschema/r/start_server_disable_statements.result
index b582ca072c8..ffb45f4f55f 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_statements.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_statements.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_transactions.result b/mysql-test/suite/perfschema/r/start_server_disable_transactions.result
index 1431f925ae2..e271d5a10e6 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_transactions.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_transactions.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_disable_waits.result b/mysql-test/suite/perfschema/r/start_server_disable_waits.result
index 1b9356b34a2..833da22583e 100644
--- a/mysql-test/suite/perfschema/r/start_server_disable_waits.result
+++ b/mysql-test/suite/perfschema/r/start_server_disable_waits.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_innodb.result b/mysql-test/suite/perfschema/r/start_server_innodb.result
index c64e4f8416d..e3ff0f514a7 100644
--- a/mysql-test/suite/perfschema/r/start_server_innodb.result
+++ b/mysql-test/suite/perfschema/r/start_server_innodb.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result b/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result
index c991efce659..a2d84753331 100644
--- a/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result
+++ b/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result
@@ -8,5 +8,5 @@ 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
####################################
SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long;
event_name digest digest_text sql_text
-statement/sql/select ade774bdfbc132a71810ede8ef469660 SELECT ? + ? + SELECT ...
-statement/sql/truncate 0f84807fb4a75d0f391f8a93e7c3c182 TRUNCATE TABLE truncat...
+statement/sql/select 70a97f8223477a66e716cfcc317193e2 SELECT ? + ? + SELECT ...
+statement/sql/truncate ac4c7fc23914b333e9f40ce317816b8e TRUNCATE TABLE truncat...
diff --git a/mysql-test/suite/perfschema/r/start_server_low_index.result b/mysql-test/suite/perfschema/r/start_server_low_index.result
index 9fd9a8a447c..ffdf9d65b87 100644
--- a/mysql-test/suite/perfschema/r/start_server_low_index.result
+++ b/mysql-test/suite/perfschema/r/start_server_low_index.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_low_table_lock.result b/mysql-test/suite/perfschema/r/start_server_low_table_lock.result
index 981fa297971..dbb404f6129 100644
--- a/mysql-test/suite/perfschema/r/start_server_low_table_lock.result
+++ b/mysql-test/suite/perfschema/r/start_server_low_table_lock.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_account.result b/mysql-test/suite/perfschema/r/start_server_no_account.result
index 4333c6f74d2..f92b0e6bec6 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_account.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_account.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 74c4bed9696..fefad55c209 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 03a7f935317..0c2f65f6ac9 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 c962a74e0db..c3f06b53425 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 ef80d6e3a2d..fd39807d567 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_host.result b/mysql-test/suite/perfschema/r/start_server_no_host.result
index b58acf57362..43111c5ec40 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_host.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_host.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_index.result b/mysql-test/suite/perfschema/r/start_server_no_index.result
index 9e7a2bf34a7..15d1184bcbe 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_index.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_index.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_mdl.result b/mysql-test/suite/perfschema/r/start_server_no_mdl.result
index 886a1ee1633..b8de90453ce 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_mdl.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_mdl.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_memory_class.result b/mysql-test/suite/perfschema/r/start_server_no_memory_class.result
index a6605cc5ffb..60066264c90 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_memory_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_memory_class.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 ae30ac59bdb..3353b46bbcb 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 1f4086500a0..d41da361733 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result b/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result
index 32356175e82..4919de6bb6c 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 75ebff83745..02a119bdc68 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 d7ebfb33d5b..ead01ce2d0e 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
index b4b79d02b32..a99f1c0f9be 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
index aef0eb7c14d..7c148889412 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_socket_class.result b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
index 4695c03dc34..dec0680c511 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
index 45f668bd668..20adf1a9f64 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_stage_class.result b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
index cccc88ea078..044f9475041 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_stages_history.result b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
index 3631b3e401f..350f2c6637d 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
index bb17a80d853..d2d7063c32f 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_statement_class.result b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
index 61cf11f2238..ca7c49cd51a 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_statements_history.result b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
index 94811c40c53..8bcb3c56a00 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
index 4d61bf58fca..2a2bf5d3f7c 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
index 49b59cbc48c..ec6e40acc00 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_inst.result b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
index 17a10cf715e..b3f1e4cbcf2 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_lock.result b/mysql-test/suite/perfschema/r/start_server_no_table_lock.result
index a93f900f650..baf9f761358 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_table_lock.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_table_lock.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 051c81dd12f..cd204f3d811 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 abedd06c0d9..d083484cd7c 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result b/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result
index 1d5597f554b..f5a12e5473d 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result
index 99e170c9bb1..76ae9d5fa4e 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_no_user.result b/mysql-test/suite/perfschema/r/start_server_no_user.result
index 46aaa06bf65..4bd472a22a9 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_user.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_user.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 1b717b9f768..f59b156ce1e 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
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 5691b0e7826..cc70572c7ef 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
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_nothing.result b/mysql-test/suite/perfschema/r/start_server_nothing.result
index 5dcda26313a..985282c0168 100644
--- a/mysql-test/suite/perfschema/r/start_server_nothing.result
+++ b/mysql-test/suite/perfschema/r/start_server_nothing.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_off.result b/mysql-test/suite/perfschema/r/start_server_off.result
index 06af389a857..a53d591938c 100644
--- a/mysql-test/suite/perfschema/r/start_server_off.result
+++ b/mysql-test/suite/perfschema/r/start_server_off.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_on.result b/mysql-test/suite/perfschema/r/start_server_on.result
index c64e4f8416d..e3ff0f514a7 100644
--- a/mysql-test/suite/perfschema/r/start_server_on.result
+++ b/mysql-test/suite/perfschema/r/start_server_on.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/start_server_variables.result b/mysql-test/suite/perfschema/r/start_server_variables.result
index 6ed93360d9b..7d1d1e05375 100644
--- a/mysql-test/suite/perfschema/r/start_server_variables.result
+++ b/mysql-test/suite/perfschema/r/start_server_variables.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/statement_program_lost_inst.result b/mysql-test/suite/perfschema/r/statement_program_lost_inst.result
index 1723c35da2c..05ec7b0b2b5 100644
--- a/mysql-test/suite/perfschema/r/statement_program_lost_inst.result
+++ b/mysql-test/suite/perfschema/r/statement_program_lost_inst.result
@@ -4,6 +4,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
select count(*) from performance_schema.performance_timers;
count(*)
diff --git a/mysql-test/suite/perfschema/r/sxlock_func.result b/mysql-test/suite/perfschema/r/sxlock_func.result
index e7f4ba345c5..ff556c1e011 100644
--- a/mysql-test/suite/perfschema/r/sxlock_func.result
+++ b/mysql-test/suite/perfschema/r/sxlock_func.result
@@ -1,43 +1,30 @@
UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name like 'wait/synch/sxlock/%';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
+WHERE name like 'wait/synch/rwlock/innodb/%';
+SELECT DISTINCT name FROM performance_schema.setup_instruments
+WHERE name LIKE 'wait/synch/rwlock/innodb/%'
+AND name!='wait/synch/rwlock/innodb/btr_search_latch' ORDER BY name;
+name
+wait/synch/rwlock/innodb/dict_operation_lock
+wait/synch/rwlock/innodb/fil_space_latch
+wait/synch/rwlock/innodb/lock_latch
+wait/synch/rwlock/innodb/trx_i_s_cache_lock
+wait/synch/rwlock/innodb/trx_purge_latch
+wait/synch/rwlock/innodb/trx_rseg_latch
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
select name from performance_schema.setup_instruments
where name like "wait/synch/sxlock/%" order by name;
name
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/dict_operation_lock
-wait/synch/sxlock/innodb/fil_space_latch
-wait/synch/sxlock/innodb/fts_cache_init_rw_lock
-wait/synch/sxlock/innodb/fts_cache_rw_lock
wait/synch/sxlock/innodb/index_tree_rw_lock
-wait/synch/sxlock/innodb/trx_i_s_cache_lock
-wait/synch/sxlock/innodb/trx_purge_latch
-select name from performance_schema.rwlock_instances
-where name in
-(
-'wait/synch/sxlock/innodb/btr_search_latch',
-'wait/synch/sxlock/innodb/checkpoint_lock',
-'wait/synch/sxlock/innodb/dict_operation_lock',
-'wait/synch/sxlock/innodb/trx_i_s_cache_lock',
-'wait/synch/sxlock/innodb/trx_purge_latch'
- )
-order by name;
+SELECT DISTINCT name FROM performance_schema.rwlock_instances
+WHERE name LIKE 'wait/synch/sxlock/innodb/%'
+ORDER BY name;
name
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/btr_search_latch
-wait/synch/sxlock/innodb/dict_operation_lock
-wait/synch/sxlock/innodb/trx_i_s_cache_lock
-wait/synch/sxlock/innodb/trx_purge_latch
-drop table if exists t1;
+wait/synch/sxlock/innodb/index_tree_rw_lock
create table t1(a int) engine=innodb;
begin;
insert into t1 values (1), (2), (3);
@@ -45,14 +32,25 @@ insert into t1 values (1), (2), (3);
insert into t1 values (1), (2), (3);
commit;
drop table t1;
-select operation from performance_schema.events_waits_history_long
-where event_name like "wait/synch/sxlock/%"
- and operation = "shared_lock" limit 1;
-operation
-shared_lock
-select operation from performance_schema.events_waits_history_long
-where event_name like "wait/synch/sxlock/%"
- and operation = "exclusive_lock" limit 1;
-operation
-exclusive_lock
+SELECT DISTINCT event_name FROM performance_schema.events_waits_history_long
+WHERE event_name LIKE 'wait/synch/rwlock/innodb/%'
+AND event_name NOT IN
+('wait/synch/rwlock/innodb/btr_search_latch',
+'wait/synch/rwlock/innodb/dict_operation_lock',
+'wait/synch/rwlock/innodb/trx_rseg_latch',
+'wait/synch/rwlock/innodb/trx_purge_latch')
+ORDER BY event_name;
+event_name
+wait/synch/rwlock/innodb/fil_space_latch
+wait/synch/rwlock/innodb/lock_latch
+SELECT event_name FROM performance_schema.events_waits_history_long
+WHERE event_name = 'wait/synch/sxlock/innodb/index_tree_rw_lock'
+AND operation IN ('try_shared_lock','shared_lock') LIMIT 1;
+event_name
+wait/synch/sxlock/innodb/index_tree_rw_lock
+SELECT event_name from performance_schema.events_waits_history_long
+WHERE event_name = 'wait/synch/sxlock/innodb/index_tree_rw_lock'
+AND operation IN ('try_exclusive_lock','exclusive_lock') LIMIT 1;
+event_name
+wait/synch/sxlock/innodb/index_tree_rw_lock
UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
diff --git a/mysql-test/suite/perfschema/r/table_schema.result b/mysql-test/suite/perfschema/r/table_schema.result
index f6c406c4fec..8b33d467163 100644
--- a/mysql-test/suite/perfschema/r/table_schema.result
+++ b/mysql-test/suite/perfschema/r/table_schema.result
@@ -1,78 +1,78 @@
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 IS_GENERATED GENERATION_EXPRESSION
-def performance_schema accounts USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references The connection's client user name for the connection, or NULL if an internal thread. NEVER NULL
-def performance_schema accounts HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references The connection client's host name, or NULL if an internal thread. NEVER NULL
+def performance_schema accounts USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references The connection's client user name for the connection, or NULL if an internal thread. NEVER NULL
+def performance_schema accounts HOST 2 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references The connection client's host name, or NULL if an internal thread. NEVER NULL
def performance_schema accounts CURRENT_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current connections for the account. NEVER NULL
def performance_schema accounts TOTAL_CONNECTIONS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Total connections for the account. NEVER NULL
-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 Client user name for the connection, or NULL if an internal thread. NEVER NULL
+def performance_schema cond_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Client user name for the connection, or NULL if an internal thread. NEVER NULL
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 Address in memory of the instrumented condition. NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_stages_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_stages_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
def performance_schema events_stages_current WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of work units completed for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
def performance_schema events_stages_current WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of work units expected for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
def performance_schema events_stages_current NESTING_EVENT_ID 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references EVENT_ID of event within which this event nests. NEVER NULL
-def performance_schema events_stages_current NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either transaction, statement, stage or wait. NEVER NULL
+def performance_schema events_stages_current NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either transaction, statement, stage or wait. NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_stages_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_stages_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
def performance_schema events_stages_history WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of work units completed for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
def performance_schema events_stages_history WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of work units expected for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
def performance_schema events_stages_history NESTING_EVENT_ID 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references EVENT_ID of event within which this event nests. NEVER NULL
-def performance_schema events_stages_history NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either transaction, statement, stage or wait. NEVER NULL
+def performance_schema events_stages_history NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either transaction, statement, stage or wait. NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_stages_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_stages_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
def performance_schema events_stages_history_long WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of work units completed for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
def performance_schema events_stages_history_long WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of work units expected for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
def performance_schema events_stages_history_long NESTING_EVENT_ID 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references EVENT_ID of event within which this event nests. NEVER NULL
-def performance_schema events_stages_history_long NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either transaction, statement, stage or wait. NEVER NULL
-def performance_schema events_stages_summary_by_account_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User. Used together with HOST and EVENT_NAME for grouping events. NEVER NULL
-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 Host. Used together with USER and EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER and HOST for grouping events. NEVER NULL
+def performance_schema events_stages_history_long NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either transaction, statement, stage or wait. NEVER NULL
+def performance_schema events_stages_summary_by_account_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User. Used together with HOST and EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_account_by_event_name HOST 2 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host. Used together with USER and EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER and HOST for grouping events. NEVER NULL
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 Number of summarized events, which includes all timed and untimed events. NEVER NULL
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 Total wait time of the timed summarized events. NEVER NULL
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 Minimum wait time of the timed summarized events. NEVER NULL
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 Average wait time of the timed summarized events. NEVER NULL
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 Maximum wait time of the timed summarized events. NEVER NULL
-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 Host. Used together with EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with HOST for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_host_by_event_name HOST 1 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host. Used together with EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with HOST for grouping events. NEVER NULL
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 Number of summarized events, which includes all timed and untimed events. NEVER NULL
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 Total wait time of the timed summarized events. NEVER NULL
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 Minimum wait time of the timed summarized events. NEVER NULL
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 Average wait time of the timed summarized events. NEVER NULL
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 Maximum wait time of the timed summarized events. NEVER NULL
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 Thread associated with the event. Together with EVENT_NAME uniquely identifies the row. NEVER NULL
-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 Event name. Used together with THREAD_ID for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with THREAD_ID for grouping events. NEVER NULL
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 Number of summarized events, which includes all timed and untimed events. NEVER NULL
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 Total wait time of the timed summarized events. NEVER NULL
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 Minimum wait time of the timed summarized events. NEVER NULL
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 Average wait time of the timed summarized events. NEVER NULL
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 Maximum wait time of the timed summarized events. NEVER NULL
-def performance_schema events_stages_summary_by_user_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User. Used together with EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_user_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User. Used together with EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_stages_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER for grouping events. NEVER NULL
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 Number of summarized events, which includes all timed and untimed events. NEVER NULL
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 Total wait time of the timed summarized events. NEVER NULL
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 Minimum wait time of the timed summarized events. NEVER NULL
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 Average wait time of the timed summarized events. NEVER NULL
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 Maximum wait time of the timed summarized events. NEVER NULL
-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 Event name. NEVER NULL
+def performance_schema events_stages_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
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 Number of summarized events, which includes all timed and untimed events. NEVER NULL
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 Total wait time of the timed summarized events. NEVER NULL
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 Minimum wait time of the timed summarized events. NEVER NULL
@@ -81,23 +81,23 @@ def performance_schema events_stages_summary_global_by_event_name MAX_TIMER_WAIT
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_statements_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_statements_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Time in picoseconds spent waiting for locks. The time is calculated in microseconds but stored in picoseconds for compatibility with other timings. NEVER NULL
-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 The SQL statement, or NULL if the command is not associated with an SQL statement. NEVER NULL
-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 Statement digest. NEVER NULL
-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 Statement digest text. NEVER NULL
-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 Statement's default database for the statement, or NULL if there was none. NEVER NULL
-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 NULL for top level statements. The parent statement object type for nested statements (stored programs). NEVER NULL
-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 NULL for top level statements. The parent statement object schema for nested statements (stored programs). NEVER NULL
-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 NULL for top level statements. The parent statement object name for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_current SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references The SQL statement, or NULL if the command is not associated with an SQL statement. NEVER NULL
+def performance_schema events_statements_current DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Statement digest. NEVER NULL
+def performance_schema events_statements_current DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Statement digest text. NEVER NULL
+def performance_schema events_statements_current CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Statement's default database for the statement, or NULL if there was none. NEVER NULL
+def performance_schema events_statements_current OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object type for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_current OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object schema for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_current OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object name for nested statements (stored programs). NEVER NULL
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 Address in memory of the statement object. NEVER NULL
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 Error code. See MariaDB Error Codes for a full list. NEVER NULL
-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 The SQLSTATE value. NEVER NULL
-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 Statement error message. See MariaDB Error Codes. NEVER NULL
+def performance_schema events_statements_current RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(5) select,insert,update,references The SQLSTATE value. NEVER NULL
+def performance_schema events_statements_current MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Statement error message. See MariaDB Error Codes. NEVER NULL
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 0 if SQLSTATE signifies completion (starting with 00) or warning (01), otherwise 1. NEVER NULL
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 Number of warnings from the diagnostics area. NEVER NULL
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 Number of rows affected the statement affected. NEVER NULL
@@ -117,28 +117,28 @@ def performance_schema events_statements_current SORT_SCAN 36 NULL NO bigint NUL
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 0 if the statement performed a table scan with an index, 1 if without an index. NEVER NULL
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 0 if a good index was found for the statement, 1 if no good index was found. See the Range checked for each record description in the EXPLAIN article. NEVER NULL
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 NULL for top level statements. The parent statement event id for nested statements (stored programs). NEVER NULL
-def performance_schema events_statements_current NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references NULL for top level statements. The parent statement event type for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_current NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references NULL for top level statements. The parent statement event type for nested statements (stored programs). NEVER NULL
def performance_schema events_statements_current NESTING_EVENT_LEVEL 41 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references 0 for top level statements. The parent statement level plus 1 for nested statements (stored programs). NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_statements_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_statements_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Time in picoseconds spent waiting for locks. The time is calculated in microseconds but stored in picoseconds for compatibility with other timings. NEVER NULL
-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 The SQL statement, or NULL if the command is not associated with an SQL statement. NEVER NULL
-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 Statement digest. NEVER NULL
-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 Statement digest text. NEVER NULL
-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 Statement's default database for the statement, or NULL if there was none. NEVER NULL
-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 NULL for top level statements. The parent statement object type for nested statements (stored programs). NEVER NULL
-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 NULL for top level statements. The parent statement object schema for nested statements (stored programs). NEVER NULL
-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 NULL for top level statements. The parent statement object name for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references The SQL statement, or NULL if the command is not associated with an SQL statement. NEVER NULL
+def performance_schema events_statements_history DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Statement digest. NEVER NULL
+def performance_schema events_statements_history DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Statement digest text. NEVER NULL
+def performance_schema events_statements_history CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Statement's default database for the statement, or NULL if there was none. NEVER NULL
+def performance_schema events_statements_history OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object type for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object schema for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object name for nested statements (stored programs). NEVER NULL
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 Address in memory of the statement object. NEVER NULL
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 Error code. See MariaDB Error Codes for a full list. NEVER NULL
-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 The SQLSTATE value. NEVER NULL
-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 Statement error message. See MariaDB Error Codes. NEVER NULL
+def performance_schema events_statements_history RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(5) select,insert,update,references The SQLSTATE value. NEVER NULL
+def performance_schema events_statements_history MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Statement error message. See MariaDB Error Codes. NEVER NULL
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 0 if SQLSTATE signifies completion (starting with 00) or warning (01), otherwise 1. NEVER NULL
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 Number of warnings from the diagnostics area. NEVER NULL
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 Number of rows affected the statement affected. NEVER NULL
@@ -158,28 +158,28 @@ def performance_schema events_statements_history SORT_SCAN 36 NULL NO bigint NUL
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 0 if the statement performed a table scan with an index, 1 if without an index. NEVER NULL
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 0 if a good index was found for the statement, 1 if no good index was found. See the Range checked for each record description in the EXPLAIN article. NEVER NULL
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 NULL for top level statements. The parent statement event id for nested statements (stored programs). NEVER NULL
-def performance_schema events_statements_history NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references NULL for top level statements. The parent statement event type for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references NULL for top level statements. The parent statement event type for nested statements (stored programs). NEVER NULL
def performance_schema events_statements_history NESTING_EVENT_LEVEL 41 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references 0 for top level statements. The parent statement level plus 1 for nested statements (stored programs). NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_statements_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_statements_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Time in picoseconds spent waiting for locks. The time is calculated in microseconds but stored in picoseconds for compatibility with other timings. NEVER NULL
-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 The SQL statement, or NULL if the command is not associated with an SQL statement. NEVER NULL
-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 Statement digest. NEVER NULL
-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 Statement digest text. NEVER NULL
-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 Statement's default database for the statement, or NULL if there was none. NEVER NULL
-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 NULL for top level statements. The parent statement object type for nested statements (stored programs). NEVER NULL
-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 NULL for top level statements. The parent statement object schema for nested statements (stored programs). NEVER NULL
-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 NULL for top level statements. The parent statement object name for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history_long SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references The SQL statement, or NULL if the command is not associated with an SQL statement. NEVER NULL
+def performance_schema events_statements_history_long DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Statement digest. NEVER NULL
+def performance_schema events_statements_history_long DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Statement digest text. NEVER NULL
+def performance_schema events_statements_history_long CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Statement's default database for the statement, or NULL if there was none. NEVER NULL
+def performance_schema events_statements_history_long OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object type for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history_long OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object schema for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history_long OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for top level statements. The parent statement object name for nested statements (stored programs). NEVER NULL
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 Address in memory of the statement object. NEVER NULL
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 Error code. See MariaDB Error Codes for a full list. NEVER NULL
-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 The SQLSTATE value. NEVER NULL
-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 Statement error message. See MariaDB Error Codes. NEVER NULL
+def performance_schema events_statements_history_long RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(5) select,insert,update,references The SQLSTATE value. NEVER NULL
+def performance_schema events_statements_history_long MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Statement error message. See MariaDB Error Codes. NEVER NULL
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 0 if SQLSTATE signifies completion (starting with 00) or warning (01), otherwise 1. NEVER NULL
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 Number of warnings from the diagnostics area. NEVER NULL
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 Number of rows affected the statement affected. NEVER NULL
@@ -199,11 +199,11 @@ def performance_schema events_statements_history_long SORT_SCAN 36 NULL NO bigin
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 0 if the statement performed a table scan with an index, 1 if without an index. NEVER NULL
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 0 if a good index was found for the statement, 1 if no good index was found. See the Range checked for each record description in the EXPLAIN article. NEVER NULL
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 NULL for top level statements. The parent statement event id for nested statements (stored programs). NEVER NULL
-def performance_schema events_statements_history_long NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references NULL for top level statements. The parent statement event type for nested statements (stored programs). NEVER NULL
+def performance_schema events_statements_history_long NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references NULL for top level statements. The parent statement event type for nested statements (stored programs). NEVER NULL
def performance_schema events_statements_history_long NESTING_EVENT_LEVEL 41 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references 0 for top level statements. The parent statement level plus 1 for nested statements (stored programs). NEVER NULL
-def performance_schema events_statements_summary_by_account_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User. Used together with HOST and EVENT_NAME for grouping events. NEVER NULL
-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 Host. Used together with USER and EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER and HOST for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_account_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User. Used together with HOST and EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_account_by_event_name HOST 2 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host. Used together with USER and EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER and HOST for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -228,9 +228,9 @@ def performance_schema events_statements_summary_by_account_by_event_name SUM_SO
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 Sum of the SORT_SCAN column in the events_statements_current table. NEVER NULL
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 Sum of the NO_INDEX_USED column in the events_statements_current table. NEVER NULL
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 Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table. NEVER NULL
-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 Database name. Records are summarised together with DIGEST. NEVER NULL
-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 Performance Schema digest. Records are summarised together with SCHEMA NAME. NEVER NULL
-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 The unhashed form of the digest. NEVER NULL
+def performance_schema events_statements_summary_by_digest SCHEMA_NAME 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Database name. Records are summarised together with DIGEST. NEVER NULL
+def performance_schema events_statements_summary_by_digest DIGEST 2 NULL YES varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Performance Schema digest. Records are summarised together with SCHEMA NAME. NEVER NULL
+def performance_schema events_statements_summary_by_digest DIGEST_TEXT 3 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references The unhashed form of the digest. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -257,8 +257,8 @@ def performance_schema events_statements_summary_by_digest SUM_NO_INDEX_USED 26
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 Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table. NEVER NULL
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 Time at which the digest was first seen. NEVER NULL
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 Time at which the digest was most recently seen. NEVER NULL
-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 Host. Used together with EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with HOST for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_host_by_event_name HOST 1 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host. Used together with EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with HOST for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -283,9 +283,9 @@ def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_
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 Sum of the SORT_SCAN column in the events_statements_current table. NEVER NULL
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 Sum of the NO_INDEX_USED column in the events_statements_current table. NEVER NULL
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 Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table. NEVER NULL
-def performance_schema events_statements_summary_by_program OBJECT_TYPE 1 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references Object type for which the summary is generated. NEVER NULL
-def performance_schema events_statements_summary_by_program OBJECT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The schema of the object for which the summary is generated. NEVER NULL
-def performance_schema events_statements_summary_by_program OBJECT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The name of the object for which the summary is generated. NEVER NULL
+def performance_schema events_statements_summary_by_program OBJECT_TYPE 1 NULL YES enum 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references Object type for which the summary is generated. NEVER NULL
+def performance_schema events_statements_summary_by_program OBJECT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The schema of the object for which the summary is generated. NEVER NULL
+def performance_schema events_statements_summary_by_program OBJECT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The name of the object for which the summary is generated. NEVER NULL
def performance_schema events_statements_summary_by_program COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of summarized events (from events_statements_current). This value includes all events, whether timed or nontimed. NEVER NULL
def performance_schema events_statements_summary_by_program SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values. NEVER NULL
def performance_schema events_statements_summary_by_program MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The minimum wait time of the summarized timed events. NEVER NULL
@@ -316,7 +316,7 @@ def performance_schema events_statements_summary_by_program SUM_SORT_SCAN 30 NUL
def performance_schema events_statements_summary_by_program SUM_NO_INDEX_USED 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The total number of statements that performed a table scan without using an index. NEVER NULL
def performance_schema events_statements_summary_by_program SUM_NO_GOOD_INDEX_USED 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The total number of statements where no good index was found. NEVER NULL
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 Thread associated with the event. Together with EVENT_NAME uniquely identifies the row. NEVER NULL
-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 Event name. Used together with THREAD_ID for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with THREAD_ID for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -341,8 +341,8 @@ def performance_schema events_statements_summary_by_thread_by_event_name SUM_SOR
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 Sum of the SORT_SCAN column in the events_statements_current table. NEVER NULL
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 Sum of the NO_INDEX_USED column in the events_statements_current table. NEVER NULL
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 Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table. NEVER NULL
-def performance_schema events_statements_summary_by_user_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User. Used together with EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_user_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User. Used together with EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_statements_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -367,7 +367,7 @@ def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_
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 Sum of the SORT_SCAN column in the events_statements_current table. NEVER NULL
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 Sum of the NO_INDEX_USED column in the events_statements_current table. NEVER NULL
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 Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table. NEVER NULL
-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 Event name. NEVER NULL
+def performance_schema events_statements_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -395,78 +395,78 @@ def performance_schema events_statements_summary_global_by_event_name SUM_NO_GOO
def performance_schema events_transactions_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread associated with the event. NEVER NULL
def performance_schema events_transactions_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The event id associated with the event. NEVER NULL
def performance_schema events_transactions_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references This column is set to NULL when the event starts and updated to the thread current event number when the event ends. NEVER NULL
-def performance_schema events_transactions_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references The name of the instrument from which the event was collected. This is a NAME value from the setup_instruments table. NEVER NULL
-def performance_schema events_transactions_current STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references The current transaction state. The value is ACTIVE (after START TRANSACTION or BEGIN), COMMITTED (after COMMIT), or ROLLED BACK (after ROLLBACK). NEVER NULL
+def performance_schema events_transactions_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references The name of the instrument from which the event was collected. This is a NAME value from the setup_instruments table. NEVER NULL
+def performance_schema events_transactions_current STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references The current transaction state. The value is ACTIVE (after START TRANSACTION or BEGIN), COMMITTED (after COMMIT), or ROLLED BACK (after ROLLBACK). NEVER NULL
def performance_schema events_transactions_current TRX_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Unused. NEVER NULL
-def performance_schema events_transactions_current GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Transaction GTID, using the format DOMAIN-SERVER_ID-SEQUENCE_NO. NEVER NULL
+def performance_schema events_transactions_current GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Transaction GTID, using the format DOMAIN-SERVER_ID-SEQUENCE_NO. NEVER NULL
def performance_schema events_transactions_current XID_FORMAT_ID 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references XA transaction format ID for GTRID and BQUAL values. NEVER NULL
-def performance_schema events_transactions_current XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references XA global transaction ID. NEVER NULL
-def performance_schema events_transactions_current XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references XA transaction branch qualifier. NEVER NULL
-def performance_schema events_transactions_current XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The state of the XA transaction. The value is ACTIVE (after XA START), IDLE (after XA END), PREPARED (after XA PREPARE), ROLLED BACK (after XA ROLLBACK), or COMMITTED (after XA COMMIT). NEVER NULL
-def performance_schema events_transactions_current SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The name of the source file containing the instrumented code that produced the event and the line number in the file at which the instrumentation occurs. NEVER NULL
+def performance_schema events_transactions_current XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(130) select,insert,update,references XA global transaction ID. NEVER NULL
+def performance_schema events_transactions_current XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(130) select,insert,update,references XA transaction branch qualifier. NEVER NULL
+def performance_schema events_transactions_current XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The state of the XA transaction. The value is ACTIVE (after XA START), IDLE (after XA END), PREPARED (after XA PREPARE), ROLLED BACK (after XA ROLLBACK), or COMMITTED (after XA COMMIT). NEVER NULL
+def performance_schema events_transactions_current SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The name of the source file containing the instrumented code that produced the event and the line number in the file at which the instrumentation occurs. NEVER NULL
def performance_schema events_transactions_current TIMER_START 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. When event timing started. NULL if event has no timing information. NEVER NULL
def performance_schema events_transactions_current TIMER_END 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. When event timing ended. NULL if event has no timing information. NEVER NULL
def performance_schema events_transactions_current TIMER_WAIT 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. Event duration. NULL if event has not timing information. NEVER NULL
-def performance_schema events_transactions_current ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references Transaction access mode. NEVER NULL
-def performance_schema events_transactions_current ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Transaction isolation level. One of: REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED, or SERIALIZABLE. NEVER NULL
-def performance_schema events_transactions_current AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Whether autcommit mode was enabled when the transaction started. NEVER NULL
+def performance_schema events_transactions_current ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references Transaction access mode. NEVER NULL
+def performance_schema events_transactions_current ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Transaction isolation level. One of: REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED, or SERIALIZABLE. NEVER NULL
+def performance_schema events_transactions_current AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether autcommit mode was enabled when the transaction started. NEVER NULL
def performance_schema events_transactions_current NUMBER_OF_SAVEPOINTS 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_current NUMBER_OF_ROLLBACK_TO_SAVEPOINT 20 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of ROLLBACK_TO_SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_current NUMBER_OF_RELEASE_SAVEPOINT 21 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of RELEASE_SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_current OBJECT_INSTANCE_BEGIN 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Unused. NEVER NULL
def performance_schema events_transactions_current NESTING_EVENT_ID 23 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The EVENT_ID value of the event within which this event is nested. NEVER NULL
-def performance_schema events_transactions_current NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references The nesting event type. NEVER NULL
+def performance_schema events_transactions_current NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references The nesting event type. NEVER NULL
def performance_schema events_transactions_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread associated with the event. NEVER NULL
def performance_schema events_transactions_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The event id associated with the event. NEVER NULL
def performance_schema events_transactions_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references This column is set to NULL when the event starts and updated to the thread current event number when the event ends. NEVER NULL
-def performance_schema events_transactions_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references The name of the instrument from which the event was collected. This is a NAME value from the setup_instruments table. NEVER NULL
-def performance_schema events_transactions_history STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references The current transaction state. The value is ACTIVE (after START TRANSACTION or BEGIN), COMMITTED (after COMMIT), or ROLLED BACK (after ROLLBACK). NEVER NULL
+def performance_schema events_transactions_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references The name of the instrument from which the event was collected. This is a NAME value from the setup_instruments table. NEVER NULL
+def performance_schema events_transactions_history STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references The current transaction state. The value is ACTIVE (after START TRANSACTION or BEGIN), COMMITTED (after COMMIT), or ROLLED BACK (after ROLLBACK). NEVER NULL
def performance_schema events_transactions_history TRX_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Unused. NEVER NULL
-def performance_schema events_transactions_history GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Transaction GTID, using the format DOMAIN-SERVER_ID-SEQUENCE_NO. NEVER NULL
+def performance_schema events_transactions_history GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Transaction GTID, using the format DOMAIN-SERVER_ID-SEQUENCE_NO. NEVER NULL
def performance_schema events_transactions_history XID_FORMAT_ID 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references XA transaction format ID for GTRID and BQUAL values. NEVER NULL
-def performance_schema events_transactions_history XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references XA global transaction ID. NEVER NULL
-def performance_schema events_transactions_history XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references XA transaction branch qualifier. NEVER NULL
-def performance_schema events_transactions_history XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The state of the XA transaction. The value is ACTIVE (after XA START), IDLE (after XA END), PREPARED (after XA PREPARE), ROLLED BACK (after XA ROLLBACK), or COMMITTED (after XA COMMIT). NEVER NULL
-def performance_schema events_transactions_history SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The name of the source file containing the instrumented code that produced the event and the line number in the file at which the instrumentation occurs. NEVER NULL
+def performance_schema events_transactions_history XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(130) select,insert,update,references XA global transaction ID. NEVER NULL
+def performance_schema events_transactions_history XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(130) select,insert,update,references XA transaction branch qualifier. NEVER NULL
+def performance_schema events_transactions_history XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The state of the XA transaction. The value is ACTIVE (after XA START), IDLE (after XA END), PREPARED (after XA PREPARE), ROLLED BACK (after XA ROLLBACK), or COMMITTED (after XA COMMIT). NEVER NULL
+def performance_schema events_transactions_history SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The name of the source file containing the instrumented code that produced the event and the line number in the file at which the instrumentation occurs. NEVER NULL
def performance_schema events_transactions_history TIMER_START 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. When event timing started. NULL if event has no timing information. NEVER NULL
def performance_schema events_transactions_history TIMER_END 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. When event timing ended. NULL if event has no timing information. NEVER NULL
def performance_schema events_transactions_history TIMER_WAIT 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. Event duration. NULL if event has not timing information. NEVER NULL
-def performance_schema events_transactions_history ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references Transaction access mode. NEVER NULL
-def performance_schema events_transactions_history ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Transaction isolation level. One of: REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED, or SERIALIZABLE. NEVER NULL
-def performance_schema events_transactions_history AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Whether autcommit mode was enabled when the transaction started. NEVER NULL
+def performance_schema events_transactions_history ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references Transaction access mode. NEVER NULL
+def performance_schema events_transactions_history ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Transaction isolation level. One of: REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED, or SERIALIZABLE. NEVER NULL
+def performance_schema events_transactions_history AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether autcommit mode was enabled when the transaction started. NEVER NULL
def performance_schema events_transactions_history NUMBER_OF_SAVEPOINTS 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_history NUMBER_OF_ROLLBACK_TO_SAVEPOINT 20 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of ROLLBACK_TO_SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_history NUMBER_OF_RELEASE_SAVEPOINT 21 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of RELEASE_SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_history OBJECT_INSTANCE_BEGIN 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Unused. NEVER NULL
def performance_schema events_transactions_history NESTING_EVENT_ID 23 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The EVENT_ID value of the event within which this event is nested. NEVER NULL
-def performance_schema events_transactions_history NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references The nesting event type. NEVER NULL
+def performance_schema events_transactions_history NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references The nesting event type. NEVER NULL
def performance_schema events_transactions_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread associated with the event. NEVER NULL
def performance_schema events_transactions_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The event id associated with the event. NEVER NULL
def performance_schema events_transactions_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references This column is set to NULL when the event starts and updated to the thread current event number when the event ends. NEVER NULL
-def performance_schema events_transactions_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references The name of the instrument from which the event was collected. This is a NAME value from the setup_instruments table. NEVER NULL
-def performance_schema events_transactions_history_long STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references The current transaction state. The value is ACTIVE (after START TRANSACTION or BEGIN), COMMITTED (after COMMIT), or ROLLED BACK (after ROLLBACK). NEVER NULL
+def performance_schema events_transactions_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references The name of the instrument from which the event was collected. This is a NAME value from the setup_instruments table. NEVER NULL
+def performance_schema events_transactions_history_long STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references The current transaction state. The value is ACTIVE (after START TRANSACTION or BEGIN), COMMITTED (after COMMIT), or ROLLED BACK (after ROLLBACK). NEVER NULL
def performance_schema events_transactions_history_long TRX_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Unused. NEVER NULL
-def performance_schema events_transactions_history_long GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Transaction GTID, using the format DOMAIN-SERVER_ID-SEQUENCE_NO. NEVER NULL
+def performance_schema events_transactions_history_long GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Transaction GTID, using the format DOMAIN-SERVER_ID-SEQUENCE_NO. NEVER NULL
def performance_schema events_transactions_history_long XID_FORMAT_ID 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references XA transaction format ID for GTRID and BQUAL values. NEVER NULL
-def performance_schema events_transactions_history_long XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references XA global transaction ID. NEVER NULL
-def performance_schema events_transactions_history_long XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references XA transaction branch qualifier. NEVER NULL
-def performance_schema events_transactions_history_long XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The state of the XA transaction. The value is ACTIVE (after XA START), IDLE (after XA END), PREPARED (after XA PREPARE), ROLLED BACK (after XA ROLLBACK), or COMMITTED (after XA COMMIT). NEVER NULL
-def performance_schema events_transactions_history_long SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The name of the source file containing the instrumented code that produced the event and the line number in the file at which the instrumentation occurs. NEVER NULL
+def performance_schema events_transactions_history_long XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(130) select,insert,update,references XA global transaction ID. NEVER NULL
+def performance_schema events_transactions_history_long XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(130) select,insert,update,references XA transaction branch qualifier. NEVER NULL
+def performance_schema events_transactions_history_long XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The state of the XA transaction. The value is ACTIVE (after XA START), IDLE (after XA END), PREPARED (after XA PREPARE), ROLLED BACK (after XA ROLLBACK), or COMMITTED (after XA COMMIT). NEVER NULL
+def performance_schema events_transactions_history_long SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The name of the source file containing the instrumented code that produced the event and the line number in the file at which the instrumentation occurs. NEVER NULL
def performance_schema events_transactions_history_long TIMER_START 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. When event timing started. NULL if event has no timing information. NEVER NULL
def performance_schema events_transactions_history_long TIMER_END 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. When event timing ended. NULL if event has no timing information. NEVER NULL
def performance_schema events_transactions_history_long TIMER_WAIT 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The unit is picoseconds. Event duration. NULL if event has not timing information. NEVER NULL
-def performance_schema events_transactions_history_long ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references Transaction access mode. NEVER NULL
-def performance_schema events_transactions_history_long ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Transaction isolation level. One of: REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED, or SERIALIZABLE. NEVER NULL
-def performance_schema events_transactions_history_long AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Whether autcommit mode was enabled when the transaction started. NEVER NULL
+def performance_schema events_transactions_history_long ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references Transaction access mode. NEVER NULL
+def performance_schema events_transactions_history_long ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Transaction isolation level. One of: REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED, or SERIALIZABLE. NEVER NULL
+def performance_schema events_transactions_history_long AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether autcommit mode was enabled when the transaction started. NEVER NULL
def performance_schema events_transactions_history_long NUMBER_OF_SAVEPOINTS 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_history_long NUMBER_OF_ROLLBACK_TO_SAVEPOINT 20 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of ROLLBACK_TO_SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_history_long NUMBER_OF_RELEASE_SAVEPOINT 21 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of RELEASE_SAVEPOINT statements issued during the transaction. NEVER NULL
def performance_schema events_transactions_history_long OBJECT_INSTANCE_BEGIN 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Unused. NEVER NULL
def performance_schema events_transactions_history_long NESTING_EVENT_ID 23 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The EVENT_ID value of the event within which this event is nested. NEVER NULL
-def performance_schema events_transactions_history_long NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references The nesting event type. NEVER NULL
-def performance_schema events_transactions_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references User for which summary is generated. NEVER NULL
-def performance_schema events_transactions_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 Host for which summary is generated. NEVER NULL
-def performance_schema events_transactions_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 Event name for which summary is generated. NEVER NULL
+def performance_schema events_transactions_history_long NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references The nesting event type. NEVER NULL
+def performance_schema events_transactions_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references User for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references Host for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name for which summary is generated. NEVER NULL
def performance_schema events_transactions_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 The number of summarized events. This value includes all events, whether timed or nontimed. NEVER NULL
def performance_schema events_transactions_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 The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values. NEVER NULL
def performance_schema events_transactions_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 The minimum wait time of the summarized timed events. NEVER NULL
@@ -482,8 +482,8 @@ def performance_schema events_transactions_summary_by_account_by_event_name SUM_
def performance_schema events_transactions_summary_by_account_by_event_name MIN_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The minimum wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_account_by_event_name AVG_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The average wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_account_by_event_name MAX_TIMER_READ_ONLY 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The maximum wait time of only READ ONLY transaction events. NEVER NULL
-def performance_schema events_transactions_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 Host for which summary is generated. NEVER NULL
-def performance_schema events_transactions_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 Event name for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references Host for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name for which summary is generated. NEVER NULL
def performance_schema events_transactions_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 The number of summarized events. This value includes all events, whether timed or nontimed. NEVER NULL
def performance_schema events_transactions_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 The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values. NEVER NULL
def performance_schema events_transactions_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 The minimum wait time of the summarized timed events. NEVER NULL
@@ -500,7 +500,7 @@ def performance_schema events_transactions_summary_by_host_by_event_name MIN_TIM
def performance_schema events_transactions_summary_by_host_by_event_name AVG_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The average wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_host_by_event_name MAX_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The maximum wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_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 Thread for which summary is generated. NEVER NULL
-def performance_schema events_transactions_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 Event name for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name for which summary is generated. NEVER NULL
def performance_schema events_transactions_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 The number of summarized events. This value includes all events, whether timed or nontimed. NEVER NULL
def performance_schema events_transactions_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 The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values. NEVER NULL
def performance_schema events_transactions_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 The minimum wait time of the summarized timed events. NEVER NULL
@@ -516,8 +516,8 @@ def performance_schema events_transactions_summary_by_thread_by_event_name SUM_T
def performance_schema events_transactions_summary_by_thread_by_event_name MIN_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The minimum wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_thread_by_event_name AVG_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The average wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_thread_by_event_name MAX_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The maximum wait time of only READ ONLY transaction events. NEVER NULL
-def performance_schema events_transactions_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references User for which summary is generated. NEVER NULL
-def performance_schema events_transactions_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 Event name for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references User for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name for which summary is generated. NEVER NULL
def performance_schema events_transactions_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 The number of summarized events. This value includes all events, whether timed or nontimed. NEVER NULL
def performance_schema events_transactions_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 The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values. NEVER NULL
def performance_schema events_transactions_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 The minimum wait time of the summarized timed events. NEVER NULL
@@ -533,7 +533,7 @@ def performance_schema events_transactions_summary_by_user_by_event_name SUM_TIM
def performance_schema events_transactions_summary_by_user_by_event_name MIN_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The minimum wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_user_by_event_name AVG_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The average wait time of only READ ONLY transaction events. NEVER NULL
def performance_schema events_transactions_summary_by_user_by_event_name MAX_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The maximum wait time of only READ ONLY transaction events. NEVER NULL
-def performance_schema events_transactions_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 Event name for which summary is generated. NEVER NULL
+def performance_schema events_transactions_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name for which summary is generated. NEVER NULL
def performance_schema events_transactions_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 The number of summarized events. This value includes all events, whether timed or nontimed. NEVER NULL
def performance_schema events_transactions_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 The total wait time of the summarized timed events. This value is calculated only for timed events because nontimed events have a wait time of NULL. The same is true for the other xxx_TIMER_WAIT values. NEVER NULL
def performance_schema events_transactions_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 The minimum wait time of the summarized timed events. NEVER NULL
@@ -552,76 +552,76 @@ def performance_schema events_transactions_summary_global_by_event_name MAX_TIME
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_waits_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_waits_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Number of spin rounds for a mutex, or NULL if spin rounds are not used, or spinning is not instrumented. NEVER NULL
-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 Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects. NEVER NULL
-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 File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object. NEVER NULL
-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 Name of the index, PRIMARY for the primary key, or NULL for no index used. NEVER NULL
-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 FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object. NEVER NULL
+def performance_schema events_waits_current OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects. NEVER NULL
+def performance_schema events_waits_current OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object. NEVER NULL
+def performance_schema events_waits_current INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the index, PRIMARY for the primary key, or NULL for no index used. NEVER NULL
+def performance_schema events_waits_current OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object. NEVER NULL
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 Address in memory of the object. NEVER NULL
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 EVENT_ID of event within which this event nests. NEVER NULL
-def performance_schema events_waits_current NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either statement, stage or wait. NEVER NULL
-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 Operation type, for example read, write or lock NEVER NULL
+def performance_schema events_waits_current NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either statement, stage or wait. NEVER NULL
+def performance_schema events_waits_current OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Operation type, for example read, write or lock NEVER NULL
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 Number of bytes that the operation read or wrote, or NULL for table I/O waits. NEVER NULL
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 Reserved for use in the future. NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_waits_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_waits_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Number of spin rounds for a mutex, or NULL if spin rounds are not used, or spinning is not instrumented. NEVER NULL
-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 Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects. NEVER NULL
-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 File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object. NEVER NULL
-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 Name of the index, PRIMARY for the primary key, or NULL for no index used. NEVER NULL
-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 FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object. NEVER NULL
+def performance_schema events_waits_history OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects. NEVER NULL
+def performance_schema events_waits_history OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object. NEVER NULL
+def performance_schema events_waits_history INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the index, PRIMARY for the primary key, or NULL for no index used. NEVER NULL
+def performance_schema events_waits_history OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object. NEVER NULL
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 Address in memory of the object. NEVER NULL
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 EVENT_ID of event within which this event nests. NEVER NULL
-def performance_schema events_waits_history NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either statement, stage or wait. NEVER NULL
-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 Operation type, for example read, write or lock NEVER NULL
+def performance_schema events_waits_history NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either statement, stage or wait. NEVER NULL
+def performance_schema events_waits_history OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Operation type, for example read, write or lock NEVER NULL
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 Number of bytes that the operation read or wrote, or NULL for table I/O waits. NEVER NULL
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 Reserved for use in the future. NEVER NULL
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 Thread associated with the event. Together with EVENT_ID uniquely identifies the row. NEVER NULL
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 Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row. NEVER NULL
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 NULL when the event starts, set to the thread's current event number at the end of the event. NEVER NULL
-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 Event instrument name and a NAME from the setup_instruments table NEVER NULL
-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 Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
+def performance_schema events_waits_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event instrument name and a NAME from the setup_instruments table NEVER NULL
+def performance_schema events_waits_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name and line number of the source file containing the instrumented code that produced the event. NEVER NULL
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 Value in picoseconds when the event timing started or NULL if timing is not collected. NEVER NULL
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 Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected. NEVER NULL
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 Number of spin rounds for a mutex, or NULL if spin rounds are not used, or spinning is not instrumented. NEVER NULL
-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 Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects. NEVER NULL
-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 File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object. NEVER NULL
-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 Name of the index, PRIMARY for the primary key, or NULL for no index used. NEVER NULL
-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 FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object. NEVER NULL
+def performance_schema events_waits_history_long OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects. NEVER NULL
+def performance_schema events_waits_history_long OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object. NEVER NULL
+def performance_schema events_waits_history_long INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the index, PRIMARY for the primary key, or NULL for no index used. NEVER NULL
+def performance_schema events_waits_history_long OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object. NEVER NULL
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 Address in memory of the object. NEVER NULL
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 EVENT_ID of event within which this event nests. NEVER NULL
-def performance_schema events_waits_history_long NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either statement, stage or wait. NEVER NULL
-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 Operation type, for example read, write or lock NEVER NULL
+def performance_schema events_waits_history_long NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references Nesting event type. Either statement, stage or wait. NEVER NULL
+def performance_schema events_waits_history_long OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Operation type, for example read, write or lock NEVER NULL
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 Number of bytes that the operation read or wrote, or NULL for table I/O waits. NEVER NULL
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 Reserved for use in the future. NEVER NULL
-def performance_schema events_waits_summary_by_account_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User. Used together with HOST and EVENT_NAME for grouping events. NEVER NULL
-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 Host. Used together with USER and EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER and HOST for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_account_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User. Used together with HOST and EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_account_by_event_name HOST 2 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host. Used together with USER and EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER and HOST for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
-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 Host. Used together with EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER and HOST for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_host_by_event_name HOST 1 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host. Used together with EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER and HOST for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
-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 Event name. Used together with OBJECT_INSTANCE_BEGIN for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with OBJECT_INSTANCE_BEGIN for grouping events. NEVER NULL
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 If an instrument creates multiple instances, each instance has a unique OBJECT_INSTANCE_BEGIN value to allow for grouping by instance. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
@@ -629,29 +629,29 @@ def performance_schema events_waits_summary_by_instance MIN_TIMER_WAIT 5 NULL NO
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
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 Thread associated with the event. Together with EVENT_NAME uniquely identifies the row. NEVER NULL
-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 Event name. Used together with THREAD_ID for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with THREAD_ID for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
-def performance_schema events_waits_summary_by_user_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User. Used together with EVENT_NAME for grouping events. NEVER NULL
-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 Event name. Used together with USER for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_user_by_event_name USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User. Used together with EVENT_NAME for grouping events. NEVER NULL
+def performance_schema events_waits_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. Used together with USER for grouping events. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
-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 Event name. NEVER NULL
+def performance_schema events_waits_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
-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 File name. NEVER NULL
-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 Instrument name associated with the file. NEVER NULL
+def performance_schema file_instances FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references File name. NEVER NULL
+def performance_schema file_instances EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Instrument name associated with the file. NEVER NULL
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 Open handles on the file. A value of greater than zero means that the file is currently open. NEVER NULL
-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 Event name. NEVER NULL
+def performance_schema file_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -674,8 +674,8 @@ def performance_schema file_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigi
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 Minimum wait time of all miscellaneous operations that are timed. NEVER NULL
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 Average wait time of all miscellaneous operations that are timed. NEVER NULL
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 Maximum wait time of all miscellaneous operations that are timed. NEVER NULL
-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 File name. NEVER NULL
-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 Event name. NEVER NULL
+def performance_schema file_summary_by_instance FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references File name. NEVER NULL
+def performance_schema file_summary_by_instance EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
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 Address in memory. Together with FILE_NAME and EVENT_NAME uniquely identifies a row. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
@@ -699,14 +699,14 @@ def performance_schema file_summary_by_instance SUM_TIMER_MISC 22 NULL NO bigint
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 Minimum wait time of all miscellaneous operations that are timed. NEVER NULL
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 Average wait time of all miscellaneous operations that are timed. NEVER NULL
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 Maximum wait time of all miscellaneous operations that are timed. NEVER NULL
-def performance_schema global_status VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The global status variable name. NEVER NULL
-def performance_schema global_status VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references The global status variable value. NEVER NULL
-def performance_schema hosts HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references Host name used by the client to connect, NULL for internal threads or user sessions that failed to authenticate. NEVER NULL
+def performance_schema global_status VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The global status variable name. NEVER NULL
+def performance_schema global_status VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references The global status variable value. NEVER NULL
+def performance_schema hosts HOST 1 NULL YES char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host name used by the client to connect, NULL for internal threads or user sessions that failed to authenticate. NEVER NULL
def performance_schema hosts CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current number of the host's connections. NEVER NULL
def performance_schema hosts TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Total number of the host's connections NEVER NULL
-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 Client IP address. NEVER NULL
-def performance_schema host_cache HOST 2 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_bin varchar(255) select,insert,update,references IP's resolved DNS host name, or NULL if unknown. NEVER NULL
-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 YES if the IP-to-host DNS lookup was successful, and the HOST column can be used to avoid DNS calls, or NO if unsuccessful, in which case DNS lookup is performed for each connect until either successful or a permanent error. NEVER NULL
+def performance_schema host_cache IP 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Client IP address. NEVER NULL
+def performance_schema host_cache HOST 2 NULL YES varchar 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(255) select,insert,update,references IP's resolved DNS host name, or NULL if unknown. NEVER NULL
+def performance_schema host_cache HOST_VALIDATED 3 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references YES if the IP-to-host DNS lookup was successful, and the HOST column can be used to avoid DNS calls, or NO if unsuccessful, in which case DNS lookup is performed for each connect until either successful or a permanent error. NEVER NULL
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 Number of connection errors. Counts only protocol handshake errors for hosts that passed validation. These errors count towards max_connect_errors. NEVER NULL
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 Number of blocked connections because SUM_CONNECT_ERRORS exceeded the max_connect_errors system variable. NEVER NULL
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 Number of transient errors during IP-to-host DNS lookups. NEVER NULL
@@ -733,9 +733,9 @@ def performance_schema host_cache FIRST_SEEN 26 '0000-00-00 00:00:00' NO timesta
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 Timestamp of the most recent connection attempt by the IP. NEVER NULL
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 Timestamp of the first error seen from the IP. NEVER NULL
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 Timestamp of the most recent error seen from the IP. NEVER NULL
-def performance_schema memory_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references User portion of the account. NEVER NULL
-def performance_schema memory_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 Host portion of the account. NEVER NULL
-def performance_schema memory_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 Event name. NEVER NULL
+def performance_schema memory_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references User portion of the account. NEVER NULL
+def performance_schema memory_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references Host portion of the account. NEVER NULL
+def performance_schema memory_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
def performance_schema memory_summary_by_account_by_event_name COUNT_ALLOC 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of allocations to memory. NEVER NULL
def performance_schema memory_summary_by_account_by_event_name COUNT_FREE 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of attempts to free the allocated memory. NEVER NULL
def performance_schema memory_summary_by_account_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of bytes allocated. NEVER NULL
@@ -746,8 +746,8 @@ def performance_schema memory_summary_by_account_by_event_name HIGH_COUNT_USED 1
def performance_schema memory_summary_by_account_by_event_name LOW_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Lowest number of bytes used. NEVER NULL
def performance_schema memory_summary_by_account_by_event_name CURRENT_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current number of bytes used (total allocated minus total freed). NEVER NULL
def performance_schema memory_summary_by_account_by_event_name HIGH_NUMBER_OF_BYTES_USED 13 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Highest number of bytes used. NEVER NULL
-def performance_schema memory_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 Host portion of the account. NEVER NULL
-def performance_schema memory_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 Event name. NEVER NULL
+def performance_schema memory_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references Host portion of the account. NEVER NULL
+def performance_schema memory_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
def performance_schema memory_summary_by_host_by_event_name COUNT_ALLOC 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of allocations to memory. NEVER NULL
def performance_schema memory_summary_by_host_by_event_name COUNT_FREE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of attempts to free the allocated memory. NEVER NULL
def performance_schema memory_summary_by_host_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of bytes allocated. NEVER NULL
@@ -759,7 +759,7 @@ def performance_schema memory_summary_by_host_by_event_name LOW_NUMBER_OF_BYTES_
def performance_schema memory_summary_by_host_by_event_name CURRENT_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current number of bytes used (total allocated minus total freed). NEVER NULL
def performance_schema memory_summary_by_host_by_event_name HIGH_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Highest number of bytes used. NEVER NULL
def performance_schema memory_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 Thread id. NEVER NULL
-def performance_schema memory_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 Event name. NEVER NULL
+def performance_schema memory_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
def performance_schema memory_summary_by_thread_by_event_name COUNT_ALLOC 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of allocations to memory. NEVER NULL
def performance_schema memory_summary_by_thread_by_event_name COUNT_FREE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of attempts to free the allocated memory. NEVER NULL
def performance_schema memory_summary_by_thread_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of bytes allocated. NEVER NULL
@@ -770,8 +770,8 @@ def performance_schema memory_summary_by_thread_by_event_name HIGH_COUNT_USED 9
def performance_schema memory_summary_by_thread_by_event_name LOW_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Lowest number of bytes used. NEVER NULL
def performance_schema memory_summary_by_thread_by_event_name CURRENT_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current number of bytes used (total allocated minus total freed). NEVER NULL
def performance_schema memory_summary_by_thread_by_event_name HIGH_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Highest number of bytes used. NEVER NULL
-def performance_schema memory_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references User portion of the account. NEVER NULL
-def performance_schema memory_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 Event name. NEVER NULL
+def performance_schema memory_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references User portion of the account. NEVER NULL
+def performance_schema memory_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
def performance_schema memory_summary_by_user_by_event_name COUNT_ALLOC 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of allocations to memory. NEVER NULL
def performance_schema memory_summary_by_user_by_event_name COUNT_FREE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of attempts to free the allocated memory. NEVER NULL
def performance_schema memory_summary_by_user_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of bytes allocated. NEVER NULL
@@ -782,7 +782,7 @@ def performance_schema memory_summary_by_user_by_event_name HIGH_COUNT_USED 9 NU
def performance_schema memory_summary_by_user_by_event_name LOW_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Lowest number of bytes used. NEVER NULL
def performance_schema memory_summary_by_user_by_event_name CURRENT_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current number of bytes used (total allocated minus total freed). NEVER NULL
def performance_schema memory_summary_by_user_by_event_name HIGH_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Highest number of bytes used. NEVER NULL
-def performance_schema memory_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 Event name. NEVER NULL
+def performance_schema memory_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Event name. NEVER NULL
def performance_schema memory_summary_global_by_event_name COUNT_ALLOC 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of allocations to memory. NEVER NULL
def performance_schema memory_summary_global_by_event_name COUNT_FREE 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of attempts to free the allocated memory. NEVER NULL
def performance_schema memory_summary_global_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total number of bytes allocated. NEVER NULL
@@ -793,40 +793,40 @@ def performance_schema memory_summary_global_by_event_name HIGH_COUNT_USED 8 NUL
def performance_schema memory_summary_global_by_event_name LOW_NUMBER_OF_BYTES_USED 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Lowest number of bytes used. NEVER NULL
def performance_schema memory_summary_global_by_event_name CURRENT_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current number of bytes used (total allocated minus total freed). NEVER NULL
def performance_schema memory_summary_global_by_event_name HIGH_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Highest number of bytes used. NEVER NULL
-def performance_schema metadata_locks OBJECT_TYPE 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Object type. One of BACKUP, COMMIT, EVENT, FUNCTION, GLOBAL, LOCKING SERVICE, PROCEDURE, SCHEMA, TABLE, TABLESPACE, TRIGGER (unused) or USER LEVEL LOCK. NEVER NULL
-def performance_schema metadata_locks OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Object schema. NEVER NULL
-def performance_schema metadata_locks OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Object name. NEVER NULL
+def performance_schema metadata_locks OBJECT_TYPE 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Object type. One of BACKUP, COMMIT, EVENT, FUNCTION, GLOBAL, LOCKING SERVICE, PROCEDURE, SCHEMA, TABLE, TABLESPACE, TRIGGER (unused) or USER LEVEL LOCK. NEVER NULL
+def performance_schema metadata_locks OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Object schema. NEVER NULL
+def performance_schema metadata_locks OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Object name. NEVER NULL
def performance_schema metadata_locks OBJECT_INSTANCE_BEGIN 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Address in memory of the instrumented object. NEVER NULL
-def performance_schema metadata_locks LOCK_TYPE 5 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references Lock type. One of BACKUP_FTWRL1, BACKUP_START, BACKUP_TRANS_DML, EXCLUSIVE, INTENTION_EXCLUSIVE, SHARED, SHARED_HIGH_PRIO, SHARED_NO_READ_WRITE, SHARED_NO_WRITE, SHARED_READ, SHARED_UPGRADABLE or SHARED_WRITE. NEVER NULL
-def performance_schema metadata_locks LOCK_DURATION 6 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references Lock duration. One of EXPLICIT (locks released by explicit action, for example a global lock acquired with FLUSH TABLES WITH READ LOCK) , STATEMENT (locks implicitly released at statement end) or TRANSACTION (locks implicitly released at transaction end). NEVER NULL
-def performance_schema metadata_locks LOCK_STATUS 7 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references Lock status. One of GRANTED, KILLED, PENDING, POST_RELEASE_NOTIFY, PRE_ACQUIRE_NOTIFY, TIMEOUT or VICTIM. NEVER NULL
-def performance_schema metadata_locks SOURCE 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Source file containing the instrumented code that produced the event, as well as the line number where the instrumentation occurred. This allows one to examine the source code involved. NEVER NULL
+def performance_schema metadata_locks LOCK_TYPE 5 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Lock type. One of BACKUP_FTWRL1, BACKUP_START, BACKUP_TRANS_DML, EXCLUSIVE, INTENTION_EXCLUSIVE, SHARED, SHARED_HIGH_PRIO, SHARED_NO_READ_WRITE, SHARED_NO_WRITE, SHARED_READ, SHARED_UPGRADABLE or SHARED_WRITE. NEVER NULL
+def performance_schema metadata_locks LOCK_DURATION 6 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Lock duration. One of EXPLICIT (locks released by explicit action, for example a global lock acquired with FLUSH TABLES WITH READ LOCK) , STATEMENT (locks implicitly released at statement end) or TRANSACTION (locks implicitly released at transaction end). NEVER NULL
+def performance_schema metadata_locks LOCK_STATUS 7 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(32) select,insert,update,references Lock status. One of GRANTED, KILLED, PENDING, POST_RELEASE_NOTIFY, PRE_ACQUIRE_NOTIFY, TIMEOUT or VICTIM. NEVER NULL
+def performance_schema metadata_locks SOURCE 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Source file containing the instrumented code that produced the event, as well as the line number where the instrumentation occurred. This allows one to examine the source code involved. NEVER NULL
def performance_schema metadata_locks OWNER_THREAD_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Thread that requested the lock. NEVER NULL
def performance_schema metadata_locks OWNER_EVENT_ID 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Event that requested the lock. NEVER NULL
-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 Instrument name associated with the mutex. NEVER NULL
+def performance_schema mutex_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Instrument name associated with the mutex. NEVER NULL
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 Memory address of the instrumented mutex. NEVER NULL
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 The THREAD_ID of the locking thread if a thread has a mutex locked, otherwise NULL. NEVER NULL
-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 Groups records together with OBJECT_SCHEMA and OBJECT_NAME. NEVER NULL
-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 Groups records together with OBJECT_TYPE and OBJECT_NAME. NEVER NULL
-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 Groups records together with OBJECT_SCHEMA and OBJECT_TYPE. NEVER NULL
+def performance_schema objects_summary_global_by_type OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Groups records together with OBJECT_SCHEMA and OBJECT_NAME. NEVER NULL
+def performance_schema objects_summary_global_by_type OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Groups records together with OBJECT_TYPE and OBJECT_NAME. NEVER NULL
+def performance_schema objects_summary_global_by_type OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Groups records together with OBJECT_SCHEMA and OBJECT_TYPE. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
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 Average wait time of the summarized events that are timed. NEVER NULL
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 Maximum wait time of the summarized events that are timed. NEVER NULL
-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 Time name, used in the setup_timers table. NEVER NULL
+def performance_schema performance_timers TIMER_NAME 1 NULL NO enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references Time name, used in the setup_timers table. NEVER NULL
def performance_schema performance_timers TIMER_FREQUENCY 2 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Number of timer units per second. Dependent on the processor speed. NEVER NULL
def performance_schema performance_timers TIMER_RESOLUTION 3 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Number of timer units by which timed values increase each time. NEVER NULL
def performance_schema performance_timers TIMER_OVERHEAD 4 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Minimum timer overhead, determined during initialization by calling the timer 20 times and selecting the smallest value. Total overhead will be at least double this, as the timer is called at the beginning and end of each timed event. NEVER NULL
def performance_schema prepared_statements_instances OBJECT_INSTANCE_BEGIN 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The address in memory of the instrumented prepared statement. NEVER NULL
def performance_schema prepared_statements_instances STATEMENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The internal statement ID assigned by the server. NEVER NULL
-def performance_schema prepared_statements_instances STATEMENT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references For the binary protocol, this column is NULL. For the text protocol, this column is the external statement name assigned by the user. NEVER NULL
-def performance_schema prepared_statements_instances SQL_TEXT 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references The prepared statement text, with ? placeholder markers. NEVER NULL
+def performance_schema prepared_statements_instances STATEMENT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references For the binary protocol, this column is NULL. For the text protocol, this column is the external statement name assigned by the user. NEVER NULL
+def performance_schema prepared_statements_instances SQL_TEXT 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references The prepared statement text, with ? placeholder markers. NEVER NULL
def performance_schema prepared_statements_instances OWNER_THREAD_ID 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Event thread id that created the prepared statement. NEVER NULL
def performance_schema prepared_statements_instances OWNER_EVENT_ID 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Event id that created the prepared statement. NEVER NULL
-def performance_schema prepared_statements_instances OWNER_OBJECT_TYPE 7 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references NULL for a prepared statement created by a client session. Type of the stored program that created the prepared statement. NEVER NULL
-def performance_schema prepared_statements_instances OWNER_OBJECT_SCHEMA 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL for a prepared statement created by a client session. Schema of the stored program that created the prepared statement. NEVER NULL
-def performance_schema prepared_statements_instances OWNER_OBJECT_NAME 9 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references NULL for a prepared statement created by a client session. Name of the stored program that created the prepared statement. NEVER NULL
+def performance_schema prepared_statements_instances OWNER_OBJECT_TYPE 7 NULL YES enum 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references NULL for a prepared statement created by a client session. Type of the stored program that created the prepared statement. NEVER NULL
+def performance_schema prepared_statements_instances OWNER_OBJECT_SCHEMA 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for a prepared statement created by a client session. Schema of the stored program that created the prepared statement. NEVER NULL
+def performance_schema prepared_statements_instances OWNER_OBJECT_NAME 9 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references NULL for a prepared statement created by a client session. Name of the stored program that created the prepared statement. NEVER NULL
def performance_schema prepared_statements_instances TIMER_PREPARE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The time spent executing the statement preparation itself. NEVER NULL
def performance_schema prepared_statements_instances COUNT_REPREPARE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of times the statement was reprepared internally. NEVER NULL
def performance_schema prepared_statements_instances COUNT_EXECUTE 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total times the prepared statement was executed. NEVER NULL
@@ -853,76 +853,88 @@ def performance_schema prepared_statements_instances SUM_SORT_ROWS 32 NULL NO bi
def performance_schema prepared_statements_instances SUM_SORT_SCAN 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The total number of sorts that were done by scanning the table by the prepared statements. NEVER NULL
def performance_schema prepared_statements_instances SUM_NO_INDEX_USED 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The total number of statements that performed a table scan without using an index. NEVER NULL
def performance_schema prepared_statements_instances SUM_NO_GOOD_INDEX_USED 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The total number of statements where no good index was found. NEVER NULL
-def performance_schema replication_applier_configuration CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references Replication channel name. NEVER NULL
-def performance_schema replication_applier_configuration DESIRED_DELAY 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references Desired replica delay functionality not supported by MariaDB. Always 0. NEVER NULL
-def performance_schema replication_applier_status CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references The replication channel name. NEVER NULL
-def performance_schema replication_applier_status SERVICE_STATE 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('ON','OFF') select,insert,update,references Shows ON when the replication channel's applier threads are active or idle, OFF means that the applier threads are not active. NEVER NULL
-def performance_schema replication_applier_status REMAINING_DELAY 3 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references Desired replica delay functionality not supported by MariaDB. Always 0. NEVER NULL
+def performance_schema replication_applier_configuration CHANNEL_NAME 1 NULL NO varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) select,insert,update,references Replication channel name. NEVER NULL
+def performance_schema replication_applier_configuration DESIRED_DELAY 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references Target number of seconds the replica should be delayed to the master. NEVER NULL
+def performance_schema replication_applier_status CHANNEL_NAME 1 NULL NO varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) select,insert,update,references The replication channel name. NEVER NULL
+def performance_schema replication_applier_status SERVICE_STATE 2 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ON','OFF') select,insert,update,references Shows ON when the replication channel's applier threads are active or idle, OFF means that the applier threads are not active. NEVER NULL
+def performance_schema replication_applier_status REMAINING_DELAY 3 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references Seconds the replica needs to wait to reach the desired delay from master. NEVER NULL
def performance_schema replication_applier_status COUNT_TRANSACTIONS_RETRIES 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of retries that were made because the replication SQL thread failed to apply a transaction. NEVER NULL
-def performance_schema replication_applier_status_by_coordinator CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references Replication channel name. NEVER NULL
+def performance_schema replication_applier_status_by_coordinator CHANNEL_NAME 1 NULL NO varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) select,insert,update,references Replication channel name. NEVER NULL
def performance_schema replication_applier_status_by_coordinator THREAD_ID 2 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The SQL/coordinator thread ID. NEVER NULL
-def performance_schema replication_applier_status_by_coordinator SERVICE_STATE 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('ON','OFF') select,insert,update,references ON (thread exists and is active or idle) or OFF (thread no longer exists). NEVER NULL
+def performance_schema replication_applier_status_by_coordinator SERVICE_STATE 3 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ON','OFF') select,insert,update,references ON (thread exists and is active or idle) or OFF (thread no longer exists). NEVER NULL
def performance_schema replication_applier_status_by_coordinator LAST_ERROR_NUMBER 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references Last error number that caused the SQL/coordinator thread to stop. NEVER NULL
-def performance_schema replication_applier_status_by_coordinator LAST_ERROR_MESSAGE 5 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references Last error message that caused the SQL/coordinator thread to stop. NEVER NULL
+def performance_schema replication_applier_status_by_coordinator LAST_ERROR_MESSAGE 5 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references Last error message that caused the SQL/coordinator thread to stop. NEVER NULL
def performance_schema replication_applier_status_by_coordinator LAST_ERROR_TIMESTAMP 6 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() select,insert,update,references Timestamp that shows when the most recent SQL/coordinator error occured. NEVER NULL
-def performance_schema replication_connection_configuration CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references The replication channel used. NEVER NULL
-def performance_schema replication_connection_configuration HOST 2 NULL NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references The host name of the source that the replica is connected to. NEVER NULL
+def performance_schema replication_applier_status_by_coordinator LAST_SEEN_TRANSACTION 7 NULL NO char 57 171 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(57) select,insert,update,references The transaction the worker has last seen. NEVER NULL
+def performance_schema replication_applier_status_by_coordinator LAST_TRANS_RETRY_COUNT 8 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references Total number of retries attempted by last transaction. NEVER NULL
+def performance_schema replication_applier_status_by_worker CHANNEL_NAME 1 NULL NO varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) select,insert,update,references Name of replication channel through which the transaction is received. NEVER NULL
+def performance_schema replication_applier_status_by_worker THREAD_ID 2 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Thread_Id as displayed in the performance_schema.threads table for thread with name 'thread/sql/rpl_parallel_thread'. THREAD_ID will be NULL when worker threads are stopped due to error/force stop. NEVER NULL
+def performance_schema replication_applier_status_by_worker SERVICE_STATE 3 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('ON','OFF') select,insert,update,references Whether or not the thread is running. NEVER NULL
+def performance_schema replication_applier_status_by_worker LAST_SEEN_TRANSACTION 4 NULL NO char 57 171 NULL NULL NULL utf8mb3 utf8mb3_general_ci char(57) select,insert,update,references Last GTID executed by worker NEVER NULL
+def performance_schema replication_applier_status_by_worker LAST_ERROR_NUMBER 5 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references Last Error that occurred on a particular worker. NEVER NULL
+def performance_schema replication_applier_status_by_worker LAST_ERROR_MESSAGE 6 NULL NO varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references Last error specific message. NEVER NULL
+def performance_schema replication_applier_status_by_worker LAST_ERROR_TIMESTAMP 7 current_timestamp() NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update current_timestamp() select,insert,update,references Time stamp of last error. NEVER NULL
+def performance_schema replication_applier_status_by_worker WORKER_IDLE_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references Total idle time in seconds that the worker thread has spent waiting for work from SQL thread. NEVER NULL
+def performance_schema replication_applier_status_by_worker LAST_TRANS_RETRY_COUNT 9 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references Total number of retries attempted by last transaction. NEVER NULL
+def performance_schema replication_connection_configuration CHANNEL_NAME 1 NULL NO varchar 256 768 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(256) select,insert,update,references The replication channel used. NEVER NULL
+def performance_schema replication_connection_configuration HOST 2 NULL NO char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references The host name of the source that the replica is connected to. NEVER NULL
def performance_schema replication_connection_configuration PORT 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references The port used to connect to the source. NEVER NULL
-def performance_schema replication_connection_configuration USER 4 NULL NO char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references The user name of the replication user account used to connect to the source. NEVER NULL
-def performance_schema replication_connection_configuration NETWORK_INTERFACE 5 NULL NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references The network interface that the replica is bound to, if any. NEVER NULL
-def performance_schema replication_connection_configuration AUTO_POSITION 6 NULL NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('1','0') select,insert,update,references 1 if GTID auto-positioning is in use; otherwise 0. NEVER NULL
-def performance_schema replication_connection_configuration SSL_ALLOWED 7 NULL NO enum 7 21 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO','IGNORED') select,insert,update,references Wether SSL is allowed for the replica connection. NEVER NULL
-def performance_schema replication_connection_configuration SSL_CA_FILE 8 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references Path to the file that contains one or more certificates for trusted Certificate Authorities (CA) to use for TLS. NEVER NULL
-def performance_schema replication_connection_configuration SSL_CA_PATH 9 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references Path to a directory that contains one or more PEM files that contain X509 certificates for a trusted Certificate Authority (CA) to use for TLS. NEVER NULL
-def performance_schema replication_connection_configuration SSL_CERTIFICATE 10 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references Path to the certificate used to authenticate the master. NEVER NULL
-def performance_schema replication_connection_configuration SSL_CIPHER 11 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references Which cipher is used for encription. NEVER NULL
-def performance_schema replication_connection_configuration SSL_KEY 12 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references Path to the private key used for TLS. NEVER NULL
-def performance_schema replication_connection_configuration SSL_VERIFY_SERVER_CERTIFICATE 13 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Wether the server certificate is verified as part of the SSL connection NEVER NULL
-def performance_schema replication_connection_configuration SSL_CRL_FILE 14 NULL NO varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references Path to the PEM file containing one or more revoked X.509 certificates. NEVER NULL
-def performance_schema replication_connection_configuration SSL_CRL_PATH 15 NULL NO varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references PATH to a folder containing PEM files containing one or more revoked X.509 certificates. NEVER NULL
-def performance_schema replication_connection_configuration CONNECTION_RETRY_INTERVAL 16 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references The number of seconds between connect retries. NEVER NULL
-def performance_schema replication_connection_configuration CONNECTION_RETRY_COUNT 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of times the replica can attempt to reconnect to the source in the event of a lost connection. NEVER NULL
-def performance_schema replication_connection_configuration HEARTBEAT_INTERVAL 18 NULL NO double NULL NULL 10 3 NULL NULL NULL double(10,3) unsigned select,insert,update,references Number of seconds after which a heartbeat will be sent. NEVER NULL
-def performance_schema replication_connection_configuration TLS_VERSION 19 NULL NO varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references Not implemented, always blank. NEVER NULL
-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 Instrument name associated with the read write lock NEVER NULL
+def performance_schema replication_connection_configuration USER 4 NULL NO char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references The user name of the replication user account used to connect to the source. NEVER NULL
+def performance_schema replication_connection_configuration USING_GTID 5 NULL NO enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('NO','CURRENT_POS','SLAVE_POS') select,insert,update,references Whether replication is using GTIDs or not NEVER NULL
+def performance_schema replication_connection_configuration SSL_ALLOWED 6 NULL NO enum 7 21 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO','IGNORED') select,insert,update,references Whether SSL is allowed for the replica connection. NEVER NULL
+def performance_schema replication_connection_configuration SSL_CA_FILE 7 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references Path to the file that contains one or more certificates for trusted Certificate Authorities (CA) to use for TLS. NEVER NULL
+def performance_schema replication_connection_configuration SSL_CA_PATH 8 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references Path to a directory that contains one or more PEM files that contain X509 certificates for a trusted Certificate Authority (CA) to use for TLS. NEVER NULL
+def performance_schema replication_connection_configuration SSL_CERTIFICATE 9 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references Path to the certificate used to authenticate the master. NEVER NULL
+def performance_schema replication_connection_configuration SSL_CIPHER 10 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references Which cipher is used for encription. NEVER NULL
+def performance_schema replication_connection_configuration SSL_KEY 11 NULL NO varchar 512 1536 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(512) select,insert,update,references Path to the private key used for TLS. NEVER NULL
+def performance_schema replication_connection_configuration SSL_VERIFY_SERVER_CERTIFICATE 12 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether the server certificate is verified as part of the SSL connection NEVER NULL
+def performance_schema replication_connection_configuration SSL_CRL_FILE 13 NULL NO varchar 255 765 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(255) select,insert,update,references Path to the PEM file containing one or more revoked X.509 certificates. NEVER NULL
+def performance_schema replication_connection_configuration SSL_CRL_PATH 14 NULL NO varchar 255 765 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(255) select,insert,update,references PATH to a folder containing PEM files containing one or more revoked X.509 certificates. NEVER NULL
+def performance_schema replication_connection_configuration CONNECTION_RETRY_INTERVAL 15 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references The number of seconds between connect retries. NEVER NULL
+def performance_schema replication_connection_configuration CONNECTION_RETRY_COUNT 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The number of times the replica can attempt to reconnect to the source in the event of a lost connection. NEVER NULL
+def performance_schema replication_connection_configuration HEARTBEAT_INTERVAL 17 NULL NO double NULL NULL 10 3 NULL NULL NULL double(10,3) unsigned select,insert,update,references Number of seconds after which a heartbeat will be sent. NEVER NULL
+def performance_schema replication_connection_configuration IGNORE_SERVER_IDS 18 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Binary log events from servers (ids) to ignore. NEVER NULL
+def performance_schema replication_connection_configuration REPL_DO_DOMAIN_IDS 19 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Only apply binary logs from these domain ids. NEVER NULL
+def performance_schema replication_connection_configuration REPL_IGNORE_DOMAIN_IDS 20 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Binary log events from domains to ignore. NEVER NULL
+def performance_schema rwlock_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Instrument name associated with the read write lock NEVER NULL
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 Address in memory of the instrumented lock NEVER NULL
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 THREAD_ID of the locking thread if locked in write (exclusive) mode, otherwise NULL. NEVER NULL
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 Count of current read locks held NEVER NULL
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 Session connection identifier. NEVER NULL
-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 Attribute name. NEVER NULL
-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 Attribute value. NEVER NULL
+def performance_schema session_account_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(32) select,insert,update,references Attribute name. NEVER NULL
+def performance_schema session_account_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(1024) select,insert,update,references Attribute value. NEVER NULL
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 Order in which attribute was added to the connection attributes. NEVER NULL
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 Session connection identifier. NEVER NULL
-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 Attribute name. NEVER NULL
-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 Attribute value. NEVER NULL
+def performance_schema session_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(32) select,insert,update,references Attribute name. NEVER NULL
+def performance_schema session_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_bin varchar(1024) select,insert,update,references Attribute value. NEVER NULL
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 Order in which attribute was added to the connection attributes. NEVER NULL
-def performance_schema session_status VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The session status variable name. NEVER NULL
-def performance_schema session_status VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references The session status variable value. NEVER NULL
-def performance_schema setup_actors HOST 1 '%' NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references Host name, either a literal, or the % wildcard representing any host. NEVER NULL
-def performance_schema setup_actors USER 2 '%' NO char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references User name, either a literal or the % wildcard representing any name. NEVER NULL
-def performance_schema setup_actors ROLE 3 '%' NO char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references Unused NEVER NULL
-def performance_schema setup_actors ENABLED 4 'YES' NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Whether to enable instrumentation for foreground threads matched by the row. NEVER NULL
-def performance_schema setup_actors HISTORY 5 'YES' NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Whether to log historical events for foreground threads matched by the row. NEVER NULL
-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 Consumer name NEVER NULL
-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 YES or NO for whether or not the consumer is enabled. You can modify this column to ensure that event information is added, or is not added. NEVER NULL
-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 Instrument name NEVER NULL
-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 Whether or not the instrument is enabled. It can be disabled, and the instrument will produce no events. NEVER NULL
-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 Whether or not the instrument is timed. It can be set, but if disabled, events produced by the instrument will have NULL values for the corresponding TIMER_START, TIMER_END, and TIMER_WAIT values. NEVER NULL
-def performance_schema setup_objects OBJECT_TYPE 1 'TABLE' NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references Type of object to instrument. NEVER NULL
-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 Schema containing the object, either the literal or % for any schema. NEVER NULL
-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 Name of the instrumented object, either the literal or % for any object. NEVER NULL
-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 Whether the object's events are instrumented or not. Can be disabled, in which case monitoring is not enabled for those objects. NEVER NULL
-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 Whether the object's events are timed or not. Can be modified. NEVER NULL
-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 Type of instrument the timer is used for. NEVER NULL
-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 Timer applying to the instrument type. Can be modified. NEVER NULL
-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 NAME from the setup_instruments table, and the name of the wait/io/socket/* instrument that produced the event. NEVER NULL
+def performance_schema session_status VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The session status variable name. NEVER NULL
+def performance_schema session_status VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references The session status variable value. NEVER NULL
+def performance_schema setup_actors HOST 1 '%' NO char 255 765 NULL NULL NULL utf8mb3 utf8mb3_bin char(255) select,insert,update,references Host name, either a literal, or the % wildcard representing any host. NEVER NULL
+def performance_schema setup_actors USER 2 '%' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references User name, either a literal or the % wildcard representing any name. NEVER NULL
+def performance_schema setup_actors ROLE 3 '%' NO char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references Unused NEVER NULL
+def performance_schema setup_actors ENABLED 4 'YES' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether to enable instrumentation for foreground threads matched by the row. NEVER NULL
+def performance_schema setup_actors HISTORY 5 'YES' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether to log historical events for foreground threads matched by the row. NEVER NULL
+def performance_schema setup_consumers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Consumer name NEVER NULL
+def performance_schema setup_consumers ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references YES or NO for whether or not the consumer is enabled. You can modify this column to ensure that event information is added, or is not added. NEVER NULL
+def performance_schema setup_instruments NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Instrument name NEVER NULL
+def performance_schema setup_instruments ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether or not the instrument is enabled. It can be disabled, and the instrument will produce no events. NEVER NULL
+def performance_schema setup_instruments TIMED 3 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether or not the instrument is timed. It can be set, but if disabled, events produced by the instrument will have NULL values for the corresponding TIMER_START, TIMER_END, and TIMER_WAIT values. NEVER NULL
+def performance_schema setup_objects OBJECT_TYPE 1 'TABLE' NO enum 9 27 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references Type of object to instrument. NEVER NULL
+def performance_schema setup_objects OBJECT_SCHEMA 2 '%' YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Schema containing the object, either the literal or % for any schema. NEVER NULL
+def performance_schema setup_objects OBJECT_NAME 3 '%' NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Name of the instrumented object, either the literal or % for any object. NEVER NULL
+def performance_schema setup_objects ENABLED 4 'YES' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether the object's events are instrumented or not. Can be disabled, in which case monitoring is not enabled for those objects. NEVER NULL
+def performance_schema setup_objects TIMED 5 'YES' NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether the object's events are timed or not. Can be modified. NEVER NULL
+def performance_schema setup_timers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Type of instrument the timer is used for. NEVER NULL
+def performance_schema setup_timers TIMER_NAME 2 NULL NO enum 11 33 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references Timer applying to the instrument type. Can be modified. NEVER NULL
+def performance_schema socket_instances EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references NAME from the setup_instruments table, and the name of the wait/io/socket/* instrument that produced the event. NEVER NULL
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 Memory address of the object. NEVER NULL
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 Thread identifier that the server assigns to each socket. NEVER NULL
def performance_schema socket_instances SOCKET_ID 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references The socket's internal file handle. NEVER NULL
-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 Client IP address. Blank for Unix socket file, otherwise an IPv4 or IPv6 address. Together with the PORT identifies the connection. NEVER NULL
+def performance_schema socket_instances IP 5 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Client IP address. Blank for Unix socket file, otherwise an IPv4 or IPv6 address. Together with the PORT identifies the connection. NEVER NULL
def performance_schema socket_instances PORT 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references TCP/IP port number, from 0 to 65535. Together with the IP identifies the connection. NEVER NULL
-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 Socket status, either IDLE if waiting to receive a request from a client, or ACTIVE NEVER NULL
-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 Socket instrument. NEVER NULL
+def performance_schema socket_instances STATE 7 NULL NO enum 6 18 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('IDLE','ACTIVE') select,insert,update,references Socket status, either IDLE if waiting to receive a request from a client, or ACTIVE NEVER NULL
+def performance_schema socket_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Socket instrument. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -945,7 +957,7 @@ def performance_schema socket_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bi
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 Minimum wait time of all miscellaneous operations that are timed. NEVER NULL
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 Average wait time of all miscellaneous operations that are timed. NEVER NULL
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 Maximum wait time of all miscellaneous operations that are timed. NEVER NULL
-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 Socket instrument. NEVER NULL
+def performance_schema socket_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Socket instrument. NEVER NULL
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 Address in memory. NEVER NULL
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 Number of summarized events NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
@@ -969,31 +981,31 @@ def performance_schema socket_summary_by_instance SUM_TIMER_MISC 21 NULL NO bigi
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 Minimum wait time of all miscellaneous operations that are timed. NEVER NULL
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 Average wait time of all miscellaneous operations that are timed. NEVER NULL
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 Maximum wait time of all miscellaneous operations that are timed. NEVER NULL
-def performance_schema status_by_account USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references User for which the status variable is reported. NEVER NULL
-def performance_schema status_by_account HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references Host for which the status variable is reported. NEVER NULL
-def performance_schema status_by_account VARIABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
-def performance_schema status_by_account VARIABLE_VALUE 4 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
-def performance_schema status_by_host HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references Host for which the status variable is reported. NEVER NULL
-def performance_schema status_by_host VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
-def performance_schema status_by_host VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
+def performance_schema status_by_account USER 1 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references User for which the status variable is reported. NEVER NULL
+def performance_schema status_by_account HOST 2 NULL YES char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references Host for which the status variable is reported. NEVER NULL
+def performance_schema status_by_account VARIABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
+def performance_schema status_by_account VARIABLE_VALUE 4 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
+def performance_schema status_by_host HOST 1 NULL YES char 60 180 NULL NULL NULL utf8mb3 utf8mb3_bin char(60) select,insert,update,references Host for which the status variable is reported. NEVER NULL
+def performance_schema status_by_host VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
+def performance_schema status_by_host VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
def performance_schema status_by_thread THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread identifier of the session in which the status variable is defined. NEVER NULL
-def performance_schema status_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
-def performance_schema status_by_thread VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
-def performance_schema status_by_user USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references User for which the status variable is reported. NEVER NULL
-def performance_schema status_by_user VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
-def performance_schema status_by_user VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
-def performance_schema table_handles OBJECT_TYPE 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The table opened by a table handle. NEVER NULL
-def performance_schema table_handles OBJECT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The schema that contains the object. NEVER NULL
-def performance_schema table_handles OBJECT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The name of the instrumented object. NEVER NULL
+def performance_schema status_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
+def performance_schema status_by_thread VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
+def performance_schema status_by_user USER 1 NULL YES char 32 96 NULL NULL NULL utf8mb3 utf8mb3_bin char(32) select,insert,update,references User for which the status variable is reported. NEVER NULL
+def performance_schema status_by_user VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Status variable name. NEVER NULL
+def performance_schema status_by_user VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(1024) select,insert,update,references Aggregated status variable value. NEVER NULL
+def performance_schema table_handles OBJECT_TYPE 1 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The table opened by a table handle. NEVER NULL
+def performance_schema table_handles OBJECT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The schema that contains the object. NEVER NULL
+def performance_schema table_handles OBJECT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The name of the instrumented object. NEVER NULL
def performance_schema table_handles OBJECT_INSTANCE_BEGIN 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The table handle address in memory. NEVER NULL
def performance_schema table_handles OWNER_THREAD_ID 5 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread owning the table handle. NEVER NULL
def performance_schema table_handles OWNER_EVENT_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The event which caused the table handle to be opened. NEVER NULL
-def performance_schema table_handles INTERNAL_LOCK 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The table lock used at the SQL level. NEVER NULL
-def performance_schema table_handles EXTERNAL_LOCK 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The table lock used at the storage engine level. NEVER NULL
-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 TABLE in the case of all indexes. NEVER NULL
-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 Schema name. NEVER NULL
-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 Table name. NEVER NULL
-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 Index name, or PRIMARY for the primary index, NULL for no index (inserts are counted in this case). NEVER NULL
+def performance_schema table_handles INTERNAL_LOCK 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The table lock used at the SQL level. NEVER NULL
+def performance_schema table_handles EXTERNAL_LOCK 8 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The table lock used at the storage engine level. NEVER NULL
+def performance_schema table_io_waits_summary_by_index_usage OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references TABLE in the case of all indexes. NEVER NULL
+def performance_schema table_io_waits_summary_by_index_usage OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Schema name. NEVER NULL
+def performance_schema table_io_waits_summary_by_index_usage OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Table name. NEVER NULL
+def performance_schema table_io_waits_summary_by_index_usage INDEX_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Index name, or PRIMARY for the primary index, NULL for no index (inserts are counted in this case). NEVER NULL
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 Number of summarized events and the sum of the x_READ and x_WRITE columns. NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -1029,9 +1041,9 @@ def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_DELETE 36
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 Minimum wait time of all delete operations that are timed. NEVER NULL
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 Average wait time of all delete operations that are timed. NEVER NULL
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 Maximum wait time of all delete operations that are timed. NEVER NULL
-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 Since this table records waits by table, always set to TABLE. NEVER NULL
-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 Schema name. NEVER NULL
-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 Table name. NEVER NULL
+def performance_schema table_io_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Since this table records waits by table, always set to TABLE. NEVER NULL
+def performance_schema table_io_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Schema name. NEVER NULL
+def performance_schema table_io_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Table name. NEVER NULL
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 Number of summarized events and the sum of the x_READ and x_WRITE columns. NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -1067,9 +1079,9 @@ def performance_schema table_io_waits_summary_by_table SUM_TIMER_DELETE 35 NULL
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 Minimum wait time of all delete operations that are timed. NEVER NULL
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 Average wait time of all delete operations that are timed. NEVER NULL
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 Maximum wait time of all delete operations that are timed. NEVER NULL
-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 Since this table records waits by table, always set to TABLE. NEVER NULL
-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 Schema name. NEVER NULL
-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 Table name. NEVER NULL
+def performance_schema table_lock_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Since this table records waits by table, always set to TABLE. NEVER NULL
+def performance_schema table_lock_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Schema name. NEVER NULL
+def performance_schema table_lock_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Table name. NEVER NULL
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 Number of summarized events and the sum of the x_READ and x_WRITE columns. NEVER NULL
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 Total wait time of the summarized events that are timed. NEVER NULL
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 Minimum wait time of the summarized events that are timed. NEVER NULL
@@ -1141,27 +1153,27 @@ def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_EXTERNA
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 Average wait time of all external write locks that are timed. NEVER NULL
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 Maximum wait time of all external write locks that are timed. NEVER NULL
def performance_schema threads THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references A unique thread identifier. NEVER NULL
-def performance_schema threads NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references Name associated with the server's thread instrumentation code, for example thread/sql/main for the server's main() function, and thread/sql/one_connection for a user connection. NEVER NULL
-def performance_schema threads TYPE 3 NULL NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references FOREGROUND or BACKGROUND, depending on the thread type. User connection threads are FOREGROUND, internal server threads are BACKGROUND. NEVER NULL
+def performance_schema threads NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Name associated with the server's thread instrumentation code, for example thread/sql/main for the server's main() function, and thread/sql/one_connection for a user connection. NEVER NULL
+def performance_schema threads TYPE 3 NULL NO varchar 10 30 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(10) select,insert,update,references FOREGROUND or BACKGROUND, depending on the thread type. User connection threads are FOREGROUND, internal server threads are BACKGROUND. NEVER NULL
def performance_schema threads PROCESSLIST_ID 4 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The PROCESSLIST.ID value for threads displayed in the INFORMATION_SCHEMA.PROCESSLIST table, or 0 for background threads. Also corresponds with the CONNECTION_ID() return value for the thread. NEVER NULL
-def performance_schema threads PROCESSLIST_USER 5 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references Foreground thread user, or NULL for a background thread. NEVER NULL
-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 Foreground thread host, or NULL for a background thread. NEVER NULL
-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 Thread's default database, or NULL if none exists. NEVER NULL
-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 Type of command executed by the thread. These correspond to the the COM_xxx client/server protocol commands, and the Com_xxx status variables. See Thread Command Values. NEVER NULL
+def performance_schema threads PROCESSLIST_USER 5 NULL YES varchar 128 384 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(128) select,insert,update,references Foreground thread user, or NULL for a background thread. NEVER NULL
+def performance_schema threads PROCESSLIST_HOST 6 NULL YES varchar 255 765 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(255) select,insert,update,references Foreground thread host, or NULL for a background thread. NEVER NULL
+def performance_schema threads PROCESSLIST_DB 7 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Thread's default database, or NULL if none exists. NEVER NULL
+def performance_schema threads PROCESSLIST_COMMAND 8 NULL YES varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select,insert,update,references Type of command executed by the thread. These correspond to the the COM_xxx client/server protocol commands, and the Com_xxx status variables. See Thread Command Values. NEVER NULL
def performance_schema threads PROCESSLIST_TIME 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Time in seconds the thread has been in its current state. NEVER NULL
-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 Action, event or state indicating what the thread is doing. NEVER NULL
-def performance_schema threads PROCESSLIST_INFO 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references Statement being executed by the thread, or NULL if a statement is not being executed. If a statement results in calling other statements, such as for a stored procedure, the innermost statement from the stored procedure is shown here. NEVER NULL
+def performance_schema threads PROCESSLIST_STATE 10 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Action, event or state indicating what the thread is doing. NEVER NULL
+def performance_schema threads PROCESSLIST_INFO 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8mb3 utf8mb3_general_ci longtext select,insert,update,references Statement being executed by the thread, or NULL if a statement is not being executed. If a statement results in calling other statements, such as for a stored procedure, the innermost statement from the stored procedure is shown here. NEVER NULL
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 THREAD_ID of the parent thread, if any. Subthreads can for example be spawned as a result of INSERT DELAYED statements. NEVER NULL
-def performance_schema threads ROLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references Unused. NEVER NULL
-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 YES or NO for Whether the thread is instrumented or not. For foreground threads, the initial value is determined by whether there's a user/host match in the setup_actors table. Subthreads are again matched, while for background threads, this will be set to YES by default. To monitor events that the thread executes, INSTRUMENTED must be YES and the thread_instrumentation consumer in the setup_consumers table must also be YES. NEVER NULL
-def performance_schema threads HISTORY 15 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references Whether to log historical events for the thread. NEVER NULL
-def performance_schema threads CONNECTION_TYPE 16 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references The protocol used to establish the connection, or NULL for background threads. NEVER NULL
+def performance_schema threads ROLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references Unused. NEVER NULL
+def performance_schema threads INSTRUMENTED 14 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references YES or NO for Whether the thread is instrumented or not. For foreground threads, the initial value is determined by whether there's a user/host match in the setup_actors table. Subthreads are again matched, while for background threads, this will be set to YES by default. To monitor events that the thread executes, INSTRUMENTED must be YES and the thread_instrumentation consumer in the setup_consumers table must also be YES. NEVER NULL
+def performance_schema threads HISTORY 15 NULL NO enum 3 9 NULL NULL NULL utf8mb3 utf8mb3_general_ci enum('YES','NO') select,insert,update,references Whether to log historical events for the thread. NEVER NULL
+def performance_schema threads CONNECTION_TYPE 16 NULL YES varchar 16 48 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(16) select,insert,update,references The protocol used to establish the connection, or NULL for background threads. NEVER NULL
def performance_schema threads THREAD_OS_ID 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread or task identifier as defined by the underlying operating system, if there is one. NEVER NULL
-def performance_schema users USER 1 NULL YES char 128 384 NULL NULL NULL utf8 utf8_bin char(128) select,insert,update,references The connection's client user name for the connection, or NULL if an internal thread. NEVER NULL
+def performance_schema users USER 1 NULL YES char 128 384 NULL NULL NULL utf8mb3 utf8mb3_bin char(128) select,insert,update,references The connection's client user name for the connection, or NULL if an internal thread. NEVER NULL
def performance_schema users CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Current connections for the user. NEVER NULL
def performance_schema users TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references Total connections for the user. NEVER NULL
def performance_schema user_variables_by_thread THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references The thread identifier of the session in which the variable is defined. NEVER NULL
-def performance_schema user_variables_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references The variable name, without the leading @ character. NEVER NULL
+def performance_schema user_variables_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8mb3 utf8mb3_general_ci varchar(64) select,insert,update,references The variable name, without the leading @ character. NEVER NULL
def performance_schema user_variables_by_thread VARIABLE_VALUE 3 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references The variable value NEVER NULL
select count(*) into @count_byte_columns from information_schema.columns
where table_schema="performance_schema" and data_type = "bigint"
diff --git a/mysql-test/suite/perfschema/t/alter_table_progress.test b/mysql-test/suite/perfschema/t/alter_table_progress.test
index d0a4055ad0e..d4933ac9006 100644
--- a/mysql-test/suite/perfschema/t/alter_table_progress.test
+++ b/mysql-test/suite/perfschema/t/alter_table_progress.test
@@ -52,8 +52,10 @@ SET DEBUG_SYNC='copy_data_between_tables_before SIGNAL found_row WAIT_FOR wait_r
SET DEBUG_SYNC='now WAIT_FOR found_row';
# Find the statement id of the ALTER TABLE
+--enable_prepare_warnings
select event_id from performance_schema.events_statements_current
where thread_id = @con1_thread_id into @con1_stmt_id;
+--disable_prepare_warnings
# completed 0
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
diff --git a/mysql-test/suite/perfschema/t/dml_handler.test b/mysql-test/suite/perfschema/t/dml_handler.test
index 16810fcba82..d289d89ce50 100644
--- a/mysql-test/suite/perfschema/t/dml_handler.test
+++ b/mysql-test/suite/perfschema/t/dml_handler.test
@@ -21,6 +21,8 @@ CREATE TEMPORARY TABLE table_list (id INT AUTO_INCREMENT, PRIMARY KEY (id)) AS
WHERE TABLE_SCHEMA='performance_schema'
ORDER BY TABLE_NAME;
+--enable_prepare_warnings
+
SELECT COUNT(*) FROM table_list INTO @table_count;
let $count=`SELECT @table_count`;
@@ -39,5 +41,6 @@ while ($count > 0)
dec $count;
}
-DROP TEMPORARY TABLE table_list;
+--disable_prepare_warnings
+DROP TEMPORARY TABLE table_list;
diff --git a/mysql-test/suite/perfschema/t/ortho_iter.test b/mysql-test/suite/perfschema/t/ortho_iter.test
index fe1d916b6a0..d577b6dba5b 100644
--- a/mysql-test/suite/perfschema/t/ortho_iter.test
+++ b/mysql-test/suite/perfschema/t/ortho_iter.test
@@ -25,6 +25,8 @@ flush status;
# (select event_name from
# performance_schema.memory_summary_by_account_by_event_name));
+--enable_prepare_warnings
+
delimiter $;
create procedure check_instrument(in instr_name varchar(128))
begin
@@ -274,6 +276,8 @@ end
$
delimiter ;$
+--disable_prepare_warnings
+
# Check the configuration is ok
show global variables like "performance_schema%";
diff --git a/mysql-test/suite/perfschema/t/rpl_threads.test b/mysql-test/suite/perfschema/t/rpl_threads.test
index 984939c21f8..a5ca51a94a4 100644
--- a/mysql-test/suite/perfschema/t/rpl_threads.test
+++ b/mysql-test/suite/perfschema/t/rpl_threads.test
@@ -29,9 +29,11 @@ connection master;
# Read the ID of the binlog dump connection,
# as exposed in PROCESSLIST.
+--enable_prepare_warnings
select ID from INFORMATION_SCHEMA.PROCESSLIST
where COMMAND = "Binlog Dump"
into @master_dump_pid;
+--disable_prepare_warnings
select COMMAND, STATE
from INFORMATION_SCHEMA.PROCESSLIST
@@ -47,9 +49,11 @@ sync_slave_with_master;
# Read the ID of the SLAVE IO thread,
# as exposed in PROCESSLIST.
+--enable_prepare_warnings
select ID from INFORMATION_SCHEMA.PROCESSLIST
where STATE like "Waiting for master to send event%"
into @slave_io_pid;
+--disable_prepare_warnings
select COMMAND, STATE
from INFORMATION_SCHEMA.PROCESSLIST
@@ -62,9 +66,11 @@ select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE
# Read the ID of the SLAVE SQL thread,
# as exposed in PROCESSLIST.
+--enable_prepare_warnings
select ID from INFORMATION_SCHEMA.PROCESSLIST
where STATE like "Slave has read all relay log%"
into @slave_sql_pid;
+--disable_prepare_warnings
select COMMAND, STATE
from INFORMATION_SCHEMA.PROCESSLIST
diff --git a/mysql-test/suite/perfschema/t/selects.test b/mysql-test/suite/perfschema/t/selects.test
index d2d447bd77e..c67cb4b286c 100644
--- a/mysql-test/suite/perfschema/t/selects.test
+++ b/mysql-test/suite/perfschema/t/selects.test
@@ -126,6 +126,7 @@ DROP TRIGGER t_ps_trigger;
--disable_warnings
DROP PROCEDURE IF EXISTS t_ps_proc;
--enable_warnings
+--enable_prepare_warnings
delimiter |;
CREATE PROCEDURE t_ps_proc(IN conid INT, OUT pid INT)
@@ -140,6 +141,7 @@ delimiter ;|
CALL t_ps_proc(connection_id(), @p_id);
+--disable_prepare_warnings
# FUNCTION
--disable_warnings
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 a9cda7a08ed..13005cd1ee4 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-server=utf8_bin -T12 -W2
+-a -Cutf8 -W1
diff --git a/mysql-test/suite/perfschema/t/short_option_1.test b/mysql-test/suite/perfschema/t/short_option_1.test
index 4d00c3729d8..825066830f3 100644
--- a/mysql-test/suite/perfschema/t/short_option_1.test
+++ b/mysql-test/suite/perfschema/t/short_option_1.test
@@ -11,8 +11,4 @@ show global variables like 'sql_mode';
select @@character_set_server;
show global variables like 'character_set_system';
-show global variables like 'general_log';
-
-show global variables like 'new';
-
show global variables like 'log_warnings';
diff --git a/mysql-test/suite/perfschema/t/show_sanity.test b/mysql-test/suite/perfschema/t/show_sanity.test
index 6b20e5b22fc..171bbfa8bd6 100644
--- a/mysql-test/suite/perfschema/t/show_sanity.test
+++ b/mysql-test/suite/perfschema/t/show_sanity.test
@@ -386,7 +386,6 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSH_SYNC"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_HASH_INDEX"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_HASH_INDEX_PARTS"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_MAX_SLEEP_DELAY"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_AUTOEXTEND_INCREMENT"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_AUTOINC_LOCK_MODE"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BACKGROUND_DROP_LIST_EMPTY"),
@@ -396,7 +395,6 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_DUMP_PCT"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_EVICT"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_FILENAME"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_INSTANCES"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_LOAD_ABORT"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_LOAD_AT_STARTUP"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_LOAD_NOW"),
@@ -405,15 +403,12 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHANGE_BUFFERING"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHANGE_BUFFERING_DEBUG"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHANGE_BUFFER_MAX_SIZE"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHECKSUMS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHECKSUM_ALGORITHM"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CMP_PER_INDEX_ENABLED"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMMIT_CONCURRENCY"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESS_DEBUG"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESSION_FAILURE_THRESHOLD_PCT"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESSION_LEVEL"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESSION_PAD_PCT_MAX"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CONCURRENCY_TICKETS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DATA_FILE_PATH"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DATA_HOME_DIR"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DEFAULT_ROW_FORMAT"),
@@ -448,9 +443,6 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOCKS_UNSAFE_FOR_BINLOG"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_BUFFER_SIZE"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_CHECKPOINT_NOW"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_CHECKSUMS"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_COMPRESSED_PAGES"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_FILES_IN_GROUP"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_FILE_SIZE"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_GROUP_HOME_DIR"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_WRITE_AHEAD_SIZE"),
@@ -471,7 +463,6 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ONLINE_ALTER_LOG_MAX_SIZE"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_OPEN_FILES"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_OPTIMIZE_FULLTEXT_ONLY"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PAGE_CLEANERS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PAGE_SIZE"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PRINT_ALL_DEADLOCKS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PURGE_BATCH_SIZE"),
@@ -481,7 +472,6 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_READ_AHEAD_THRESHOLD"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_READ_IO_THREADS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_READ_ONLY"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_REPLICATION_DELAY"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ROLLBACK_ON_TIMEOUT"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ROLLBACK_SEGMENTS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SAVED_PAGE_NUMBER_DEBUG"),
@@ -499,15 +489,11 @@ insert into test.sanity values
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATUS_OUTPUT_LOCKS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SYNC_ARRAY_SIZE"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SYNC_SPIN_LOOPS"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SYNC_DEBUG"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_TEMP_DATA_FILE_PATH"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_THREAD_CONCURRENCY"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_THREAD_SLEEP_DELAY"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_TRX_RSEG_N_SLOTS_DEBUG"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_DIRECTORY"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_LOG_TRUNCATE"),
- ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_LOGS"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_TABLESPACES"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_USE_NATIVE_AIO"),
("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_VERSION"),
diff --git a/mysql-test/suite/perfschema/t/socket_connect.test b/mysql-test/suite/perfschema/t/socket_connect.test
index 4ae9608cd0e..8290e289df1 100644
--- a/mysql-test/suite/perfschema/t/socket_connect.test
+++ b/mysql-test/suite/perfschema/t/socket_connect.test
@@ -237,7 +237,7 @@ WHERE EVENT_NAME LIKE '%client_connection%'
--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'
+eval SELECT COUNT(*) = 2 AS 'Expect 2'
FROM performance_schema.socket_instances
WHERE EVENT_NAME LIKE '%client_connection%'
AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
@@ -246,7 +246,7 @@ WHERE EVENT_NAME LIKE '%client_connection%'
--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'
+eval SELECT COUNT(*) = 2 AS 'Expect 2'
FROM performance_schema.socket_summary_by_instance
WHERE EVENT_NAME LIKE '%client_connection%'
AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
@@ -274,7 +274,7 @@ WHERE EVENT_NAME LIKE '%client_connection%'
--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'
+SELECT COUNT(*) = 0 AS 'Expect 0'
FROM performance_schema.socket_instances
WHERE EVENT_NAME LIKE '%client_connection%'
AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin
@@ -285,7 +285,7 @@ WHERE EVENT_NAME LIKE '%client_connection%'
--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'
+SELECT COUNT(*) = 0 AS 'Expect 0'
FROM performance_schema.socket_summary_by_instance
WHERE EVENT_NAME LIKE '%client_connection%'
AND OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin;
diff --git a/mysql-test/suite/perfschema/t/socket_instances_func.test b/mysql-test/suite/perfschema/t/socket_instances_func.test
index 4cf58d42185..7e8dfe51d2f 100644
--- a/mysql-test/suite/perfschema/t/socket_instances_func.test
+++ b/mysql-test/suite/perfschema/t/socket_instances_func.test
@@ -38,6 +38,10 @@ if($my_socket_debug)
--echo IPV6=$check_ipv6_supported, IPV4_MAPPED=$check_ipv4_mapped_supported, LOCALHOST=$my_localhost
}
+# This test only runs when IPv6 is supported (see include/check_ipv6.inc), so
+# the server will listen on both IPv4 and IPv6 wildcard addresses. That's why
+# the expected number of TCP/IP listeners is always 2.
+
#
# Preserve the current state of SOCKET_INSTANCES
#
@@ -222,17 +226,18 @@ AND PORT = 0 AND THREAD_ID = @thread_id;
--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'.
+--echo # There are two entries with 'wait/io/socket/sql/server_tcpip_socket',
+--echo # for [::] and for 0.0.0.0.
+--echo # They share the same thread id with 'wait/io/socket/sql/server_unix_socket'.
-SELECT COUNT(*) = 1 AS 'Expect 1'
+SELECT COUNT(*) = 2 AS 'Expect 2'
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
+SELECT DISTINCT THREAD_ID INTO @thread_id
FROM performance_schema.socket_instances
WHERE EVENT_NAME = 'wait/io/socket/sql/server_tcpip_socket';
@@ -288,14 +293,14 @@ WHERE EVENT_NAME = 'wait/io/socket/sql/server_unix_socket';
--disable_query_log ONCE
eval SET @thread_id = $server_tcpip_thread_id;
-eval SELECT COUNT(*) = 2 AS 'Expect 1'
+eval SELECT COUNT(*) = 3 AS 'Expect 3'
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'
+eval SELECT COUNT(*) = 3 AS 'Expect 3'
FROM performance_schema.socket_instances
WHERE THREAD_ID = @thread_id;
diff --git a/mysql-test/suite/perfschema/t/sxlock_func.test b/mysql-test/suite/perfschema/t/sxlock_func.test
index f5f38f51c78..c43adc849d2 100644
--- a/mysql-test/suite/perfschema/t/sxlock_func.test
+++ b/mysql-test/suite/perfschema/t/sxlock_func.test
@@ -11,6 +11,13 @@ UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name like 'wait/synch/sxlock/%';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
+WHERE name like 'wait/synch/rwlock/innodb/%';
+
+SELECT DISTINCT name FROM performance_schema.setup_instruments
+WHERE name LIKE 'wait/synch/rwlock/innodb/%'
+AND name!='wait/synch/rwlock/innodb/btr_search_latch' ORDER BY name;
+
TRUNCATE TABLE performance_schema.events_waits_history_long;
TRUNCATE TABLE performance_schema.events_waits_history;
TRUNCATE TABLE performance_schema.events_waits_current;
@@ -20,23 +27,12 @@ select name from performance_schema.setup_instruments
where name like "wait/synch/sxlock/%" order by name;
# Check some SX-locks instances are instrumented
-select name from performance_schema.rwlock_instances
- where name in
- (
- 'wait/synch/sxlock/innodb/btr_search_latch',
- 'wait/synch/sxlock/innodb/checkpoint_lock',
- 'wait/synch/sxlock/innodb/dict_operation_lock',
- 'wait/synch/sxlock/innodb/trx_i_s_cache_lock',
- 'wait/synch/sxlock/innodb/trx_purge_latch'
- )
- order by name;
+SELECT DISTINCT name FROM performance_schema.rwlock_instances
+WHERE name LIKE 'wait/synch/sxlock/innodb/%'
+ORDER BY name;
# Some Innodb payload, to produce data
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
create table t1(a int) engine=innodb;
begin;
insert into t1 values (1), (2), (3);
@@ -45,31 +41,30 @@ insert into t1 values (1), (2), (3);
commit;
drop table t1;
+# Make sure some rw-lock operations have been executed
+# (there will only occasionally be waits on some rw-locks)
+
+SELECT DISTINCT event_name FROM performance_schema.events_waits_history_long
+WHERE event_name LIKE 'wait/synch/rwlock/innodb/%'
+AND event_name NOT IN
+('wait/synch/rwlock/innodb/btr_search_latch',
+ 'wait/synch/rwlock/innodb/dict_operation_lock',
+ 'wait/synch/rwlock/innodb/trx_rseg_latch',
+ 'wait/synch/rwlock/innodb/trx_purge_latch')
+ORDER BY event_name;
+
# Make sure some shared_lock operations have been executed
-select operation from performance_schema.events_waits_history_long
- where event_name like "wait/synch/sxlock/%"
- and operation = "shared_lock" limit 1;
+SELECT event_name FROM performance_schema.events_waits_history_long
+WHERE event_name = 'wait/synch/sxlock/innodb/index_tree_rw_lock'
+AND operation IN ('try_shared_lock','shared_lock') LIMIT 1;
# Make sure some exclusive_lock operations have been executed
-select operation from performance_schema.events_waits_history_long
- where event_name like "wait/synch/sxlock/%"
- and operation = "exclusive_lock" limit 1;
-
-# The following operations are not verified in this test:
-# - shared_exclusive_lock
-# - try_shared_lock
-# - try_shared_exclusive_lock
-# - try_exclusive_lock
-# because to observe them:
-# - there must be an actual code path using the operation
-# (this affects try operations, which are not all used)
-# - there must be a repeatable scenario to trigger the
-# code path, to use as payload in the test script
+SELECT event_name from performance_schema.events_waits_history_long
+WHERE event_name = 'wait/synch/sxlock/innodb/index_tree_rw_lock'
+AND operation IN ('try_exclusive_lock','exclusive_lock') LIMIT 1;
# Cleanup
-
UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
-
diff --git a/mysql-test/suite/period/r/delete.result b/mysql-test/suite/period/r/delete.result
index 1954c0fdf81..d8dae7b2a99 100644
--- a/mysql-test/suite/period/r/delete.result
+++ b/mysql-test/suite/period/r/delete.result
@@ -176,6 +176,10 @@ delete from t for portion of othertime from '2000-01-01' to '2018-01-01';
ERROR HY000: Period `othertime` is not found in table
delete from t for portion of system_time from '2000-01-01' to '2018-01-01';
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 'of system_time from '2000-01-01' to '2018-01-01'' at line 1
+# MDEV-22596 DELETE FOR PORTION does not obey
+# "Expression in FOR PORTION OF must be constant" limitation, data can be easily lost
+delete from t for portion of apptime from s to e;
+ERROR HY000: Expression in FOR PORTION OF must be constant
create or replace table t (id int, str text, s date, e date,
period for apptime(s,e));
insert into t values(1, 'data', '1999-01-01', '2018-12-12');
diff --git a/mysql-test/suite/period/t/delete.test b/mysql-test/suite/period/t/delete.test
index 91670469bab..3750e064ab9 100644
--- a/mysql-test/suite/period/t/delete.test
+++ b/mysql-test/suite/period/t/delete.test
@@ -67,6 +67,11 @@ delete from t for portion of othertime from '2000-01-01' to '2018-01-01';
--error ER_PARSE_ERROR
delete from t for portion of system_time from '2000-01-01' to '2018-01-01';
+--echo # MDEV-22596 DELETE FOR PORTION does not obey
+--echo # "Expression in FOR PORTION OF must be constant" limitation, data can be easily lost
+--error ER_NOT_CONSTANT_EXPRESSION
+delete from t for portion of apptime from s to e;
+
create or replace table t (id int, str text, s date, e date,
period for apptime(s,e));
diff --git a/mysql-test/suite/plugins/r/cassandra.result b/mysql-test/suite/plugins/r/cassandra.result
deleted file mode 100644
index 67ae2cab708..00000000000
--- a/mysql-test/suite/plugins/r/cassandra.result
+++ /dev/null
@@ -1,636 +0,0 @@
-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
deleted file mode 100644
index 32e9db8b817..00000000000
--- a/mysql-test/suite/plugins/r/cassandra_qcache.result
+++ /dev/null
@@ -1,16 +0,0 @@
-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
deleted file mode 100644
index f4874894f70..00000000000
--- a/mysql-test/suite/plugins/r/cassandra_reinstall.result
+++ /dev/null
@@ -1,14 +0,0 @@
-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/feedback_plugin_load.result b/mysql-test/suite/plugins/r/feedback_plugin_load.result
index 4323dcce0a6..f31c7325ca1 100644
--- a/mysql-test/suite/plugins/r/feedback_plugin_load.result
+++ b/mysql-test/suite/plugins/r/feedback_plugin_load.result
@@ -21,22 +21,22 @@ ORDER BY VARIABLE_NAME;
VARIABLE_VALUE>0 VARIABLE_NAME
1 Collation used binary
1 Collation used latin1_swedish_ci
+1 Collation used utf8mb3_bin
+1 Collation used utf8mb3_general_ci
1 Collation used utf8mb4_bin
-1 Collation used utf8_bin
-1 Collation used utf8_general_ci
prepare stmt from "SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK WHERE VARIABLE_NAME LIKE 'Collation used %' ORDER BY VARIABLE_NAME";
execute stmt;
VARIABLE_VALUE>0 VARIABLE_NAME
1 Collation used binary
1 Collation used latin1_swedish_ci
+1 Collation used utf8mb3_bin
+1 Collation used utf8mb3_general_ci
1 Collation used utf8mb4_bin
-1 Collation used utf8_bin
-1 Collation used utf8_general_ci
execute stmt;
VARIABLE_VALUE>0 VARIABLE_NAME
1 Collation used binary
1 Collation used latin1_swedish_ci
+1 Collation used utf8mb3_bin
+1 Collation used utf8mb3_general_ci
1 Collation used utf8mb4_bin
-1 Collation used utf8_bin
-1 Collation used utf8_general_ci
deallocate prepare stmt;
diff --git a/mysql-test/suite/plugins/r/feedback_plugin_send.result b/mysql-test/suite/plugins/r/feedback_plugin_send.result
index 69046e16dd9..b10ea915a4f 100644
--- a/mysql-test/suite/plugins/r/feedback_plugin_send.result
+++ b/mysql-test/suite/plugins/r/feedback_plugin_send.result
@@ -21,24 +21,24 @@ ORDER BY VARIABLE_NAME;
VARIABLE_VALUE>0 VARIABLE_NAME
1 Collation used binary
1 Collation used latin1_swedish_ci
+1 Collation used utf8mb3_bin
+1 Collation used utf8mb3_general_ci
1 Collation used utf8mb4_bin
-1 Collation used utf8_bin
-1 Collation used utf8_general_ci
prepare stmt from "SELECT VARIABLE_VALUE>0, VARIABLE_NAME FROM INFORMATION_SCHEMA.FEEDBACK WHERE VARIABLE_NAME LIKE 'Collation used %' ORDER BY VARIABLE_NAME";
execute stmt;
VARIABLE_VALUE>0 VARIABLE_NAME
1 Collation used binary
1 Collation used latin1_swedish_ci
+1 Collation used utf8mb3_bin
+1 Collation used utf8mb3_general_ci
1 Collation used utf8mb4_bin
-1 Collation used utf8_bin
-1 Collation used utf8_general_ci
execute stmt;
VARIABLE_VALUE>0 VARIABLE_NAME
1 Collation used binary
1 Collation used latin1_swedish_ci
+1 Collation used utf8mb3_bin
+1 Collation used utf8mb3_general_ci
1 Collation used utf8mb4_bin
-1 Collation used utf8_bin
-1 Collation used utf8_general_ci
deallocate prepare stmt;
set global sql_mode=ONLY_FULL_GROUP_BY;
# restart
diff --git a/mysql-test/suite/plugins/suite.pm b/mysql-test/suite/plugins/suite.pm
index 359a5409fa3..9f269fdcda0 100644
--- a/mysql-test/suite/plugins/suite.pm
+++ b/mysql-test/suite/plugins/suite.pm
@@ -11,21 +11,12 @@ if (-d '../sql' && !&::using_extern()) {
eval { symlink $src, $dst } or ::copy $src, $dst;
}
-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_init.inc'} = 'No pam setup for mtr'
unless -e '/etc/pam.d/mariadb_mtr';
$skip{'t/pam_init.inc'} = 'Not run as user owning auth_pam_tool_dir'
unless -o $::plugindir . '/auth_pam_tool_dir';
- $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/cassandra.opt b/mysql-test/suite/plugins/t/cassandra.opt
deleted file mode 100644
index 76639e7d3e2..00000000000
--- a/mysql-test/suite/plugins/t/cassandra.opt
+++ /dev/null
@@ -1 +0,0 @@
---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
deleted file mode 100644
index b12de78e326..00000000000
--- a/mysql-test/suite/plugins/t/cassandra.test
+++ /dev/null
@@ -1,758 +0,0 @@
-#
-# 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
deleted file mode 100644
index 76639e7d3e2..00000000000
--- a/mysql-test/suite/plugins/t/cassandra_qcache.opt
+++ /dev/null
@@ -1 +0,0 @@
---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
deleted file mode 100644
index 5ccce461a2f..00000000000
--- a/mysql-test/suite/plugins/t/cassandra_qcache.test
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# 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
deleted file mode 100644
index 95e4f7b63b6..00000000000
--- a/mysql-test/suite/plugins/t/cassandra_reinstall.test
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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/processlist.test b/mysql-test/suite/plugins/t/processlist.test
index 39b715b867b..17a51e78141 100644
--- a/mysql-test/suite/plugins/t/processlist.test
+++ b/mysql-test/suite/plugins/t/processlist.test
@@ -13,7 +13,7 @@ let $wait_condition=select state='' from information_schema.processlist where id
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`;
+eval select regexp_replace("$s", '(?s)^.*MariaDB thread id $id,.*root([^\n]*)\n.*', '\\\\1') as `state from show engine innodb status, must be empty`;
enable_query_log;
disconnect con2;
connection default;
diff --git a/mysql-test/suite/plugins/t/test_sql_service.test b/mysql-test/suite/plugins/t/test_sql_service.test
index 3384b523bda..9b9e29c6913 100644
--- a/mysql-test/suite/plugins/t/test_sql_service.test
+++ b/mysql-test/suite/plugins/t/test_sql_service.test
@@ -1,4 +1,3 @@
-
--source include/not_embedded.inc
if (!$TEST_SQL_SERVICE_SO) {
diff --git a/mysql-test/suite/roles/set_role-9614.result b/mysql-test/suite/roles/set_role-9614.result
index 7085d2287e2..318d9ced73e 100644
--- a/mysql-test/suite/roles/set_role-9614.result
+++ b/mysql-test/suite/roles/set_role-9614.result
@@ -52,6 +52,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
#
# Try using the database as john.
diff --git a/mysql-test/suite/rpl/include/multisource.inc b/mysql-test/suite/rpl/include/multisource.inc
index bbdf373f794..7a2d9ea79b2 100644
--- a/mysql-test/suite/rpl/include/multisource.inc
+++ b/mysql-test/suite/rpl/include/multisource.inc
@@ -17,6 +17,7 @@
--source include/not_embedded.inc
--source include/have_innodb.inc
+--source include/have_perfschema.inc
--source include/binlog_start_pos.inc
--let $rpl_server_count= 0
@@ -263,6 +264,12 @@ let $condition= = 'Waiting for master to send event';
--let $all_slaves_status=
--echo #
+--echo #
+--echo # MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+--echo #
+--replace_column 2 #
+query_vertical SELECT * FROM performance_schema.replication_applier_status_by_coordinator;
+
--sorted_result
select * from db1.t1;
diff --git a/mysql-test/suite/rpl/include/rpl_deadlock.test b/mysql-test/suite/rpl/include/rpl_deadlock.test
index e9191d5fcd8..53002d255f3 100644
--- a/mysql-test/suite/rpl/include/rpl_deadlock.test
+++ b/mysql-test/suite/rpl/include/rpl_deadlock.test
@@ -8,6 +8,7 @@
# error but not deadlock error; that is ok as code deals with the two
# errors in exactly the same way.
+--source include/have_perfschema.inc
--source include/master-slave.inc
# 0) Prepare tables and data
@@ -59,6 +60,16 @@ let $status_var_comparsion= >;
connection slave;
SELECT COUNT(*) FROM t2;
COMMIT;
+
+--echo
+--echo # Test that the performance schema coulumn shows > 0 values.
+--echo
+
+--let $assert_text= current number of retries should be more than the value saved before deadlock.
+--let $assert_cond= [SELECT COUNT_TRANSACTIONS_RETRIES FROM performance_schema.replication_applier_status, COUNT_TRANSACTIONS_RETRIES, 1] > "$slave_retried_transactions"
+--source include/assert.inc
+
+source include/check_slave_is_running.inc;
sync_with_master;
# Check the data
diff --git a/mysql-test/suite/rpl/include/rpl_parallel_gco_wait_kill.inc b/mysql-test/suite/rpl/include/rpl_parallel_gco_wait_kill.inc
index d918b2ea692..415960e563e 100644
--- a/mysql-test/suite/rpl/include/rpl_parallel_gco_wait_kill.inc
+++ b/mysql-test/suite/rpl/include/rpl_parallel_gco_wait_kill.inc
@@ -26,6 +26,10 @@ CHANGE MASTER TO master_use_gtid=slave_pos;
--connect (con_temp5,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t3 VALUES(100, 100);
+
--save_master_pos
--connection server_2
diff --git a/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc b/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc
index 7a6a758a508..493385f1ae3 100644
--- a/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc
+++ b/mysql-test/suite/rpl/include/rpl_parallel_ignored_errors.inc
@@ -57,6 +57,9 @@ CALL mtr.add_suppression("Commit failed due to failure of an earlier commit on w
--connection server_1
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(1);
--source include/save_master_gtid.inc
--connection server_2
diff --git a/mysql-test/suite/rpl/include/rpl_parallel_slave_bgc_kill.inc b/mysql-test/suite/rpl/include/rpl_parallel_slave_bgc_kill.inc
index a78dbad052f..efb998b0443 100644
--- a/mysql-test/suite/rpl/include/rpl_parallel_slave_bgc_kill.inc
+++ b/mysql-test/suite/rpl/include/rpl_parallel_slave_bgc_kill.inc
@@ -25,6 +25,10 @@ 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;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t2 VALUES(100);
+INSERT INTO t3 VALUES(100, 100);
--save_master_pos
--connection server_2
diff --git a/mysql-test/suite/rpl/include/rpl_parallel_stop_slave.inc b/mysql-test/suite/rpl/include/rpl_parallel_stop_slave.inc
index 4eeddc927e0..35879e98e66 100644
--- a/mysql-test/suite/rpl/include/rpl_parallel_stop_slave.inc
+++ b/mysql-test/suite/rpl/include/rpl_parallel_stop_slave.inc
@@ -23,6 +23,10 @@ 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;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t2 VALUES(100);
+INSERT INTO t3 VALUES(100, 100);
--save_master_pos
--connection server_2
diff --git a/mysql-test/suite/rpl/r/parallel_backup.result b/mysql-test/suite/rpl/r/parallel_backup.result
index d87c61f2d0f..9d394a220d5 100644
--- a/mysql-test/suite/rpl/r/parallel_backup.result
+++ b/mysql-test/suite/rpl/r/parallel_backup.result
@@ -6,6 +6,7 @@ include/master-slave.inc
#
connection master;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = innodb;
+INSERT INTO t1 VALUES(100);
connection slave;
include/stop_slave.inc
SET @old_parallel_threads= @@GLOBAL.slave_parallel_threads;
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_corruption.result b/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
index 8cd06acc49e..5c141eed596 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
+++ b/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
@@ -11,7 +11,7 @@ Setting up fake replication from MYSQL_TEST_DIR/std_data/bug40482-bin.000001
==== Test ====
START SLAVE SQL_THREAD;
include/wait_for_slave_sql_error.inc [errno=1594]
-Last_SQL_Error = Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
+Last_SQL_Error = Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MariaDB code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
==== Clean up ====
include/cleanup_fake_relay_log.inc
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result b/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result
index 52da842d855..64e555e96e1 100644
--- a/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result
+++ b/mysql-test/suite/rpl/r/rpl_blackhole_row_annotate.result
@@ -196,7 +196,7 @@ ROLLBACK/*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
use `test`/*!*/;
SET TIMESTAMP=1000000000/*!*/;
SET @@session.pseudo_thread_id=#/*!*/;
@@ -213,7 +213,7 @@ CREATE TABLE t1 (a INT, b INT, c INT)
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-2 ddl
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t2 (a INT, b INT, c INT)
/*!*/;
@@ -222,7 +222,7 @@ CREATE TABLE t2 (a INT, b INT, c INT)
/*!100001 SET @@session.server_id=2*//*!*/;
/*!100001 SET @@session.gtid_seq_no=3*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
ALTER TABLE t1 ENGINE=BLACKHOLE
/*!*/;
@@ -241,7 +241,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
# Number of rows: 4
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -259,7 +259,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
# Number of rows: 4
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -277,7 +277,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -295,7 +295,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -313,7 +313,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
# Number of rows: 4
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -321,7 +321,7 @@ COMMIT
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-8 ddl
/*!100001 SET @@session.gtid_seq_no=8*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
ALTER TABLE t1 ADD PRIMARY KEY pk_t1 (a,b)
/*!*/;
@@ -339,7 +339,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
# Number of rows: 4
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -357,7 +357,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -375,7 +375,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -383,7 +383,7 @@ COMMIT
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-12 ddl
/*!100001 SET @@session.gtid_seq_no=12*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
ALTER TABLE t1 DROP PRIMARY KEY, ADD KEY key_t1 (a)
/*!*/;
@@ -401,7 +401,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
# Number of rows: 4
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -419,7 +419,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -437,7 +437,7 @@ START TRANSACTION
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
# Number of rows: 2
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
@@ -445,7 +445,7 @@ COMMIT
#010909 4:46:40 server id # end_log_pos # CRC32 XXX GTID 0-1-16 ddl
/*!100001 SET @@session.gtid_seq_no=16*//*!*/;
# at #
-#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
+#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0 xid=<xid>
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE IF EXISTS `t1`,`t2` /* generated by server */
/*!*/;
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 f50f6993bdf..4ec1e2512d2 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
@@ -17,6 +17,7 @@ SET auto_increment_offset= 1;
connection server_1;
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=MyISAM;
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
+INSERT INTO t2 (b,c) VALUES('MDEV-515', 100);
include/rpl_sync.inc
connection server_4;
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");
diff --git a/mysql-test/suite/rpl/r/rpl_circular_semi_sync.result b/mysql-test/suite/rpl/r/rpl_circular_semi_sync.result
new file mode 100644
index 00000000000..dcced9833ca
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_circular_semi_sync.result
@@ -0,0 +1,76 @@
+include/master-slave.inc
+[connection master]
+# Master server_1 and Slave server_2 initialiation ...
+connection server_2;
+include/stop_slave.inc
+connection server_1;
+set @@sql_log_bin = off;
+call mtr.add_suppression("Slave: An attempt was made to binlog GTID 10-1-1 which would create an out-of-order sequence number with existing GTID");
+set @@sql_log_bin = on;
+RESET MASTER;
+set @@session.gtid_domain_id=10;
+set @@global.rpl_semi_sync_master_enabled = 1;
+set @@global.rpl_semi_sync_master_wait_point=AFTER_SYNC;
+connection server_2;
+RESET MASTER;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+set @@session.gtid_domain_id=20;
+set @@global.rpl_semi_sync_slave_enabled = 1;
+# a 1948 warning is expected
+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-1. If MASTER_GTID_POS=CURRENT_POS is used, the binlog position will override the new value of @@gtid_slave_pos
+CHANGE MASTER TO master_use_gtid= slave_pos;
+include/start_slave.inc
+# ... server_1 -> server_2 is set up
+connection server_1;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=Innodb;
+INSERT INTO t1 VALUES (1);
+connection server_2;
+# Circular configuration server_2 -> server_1 initialiation ...
+connection server_1;
+# A. ... first when server_1 is in gtid strict mode...
+set @@global.gtid_strict_mode = true;
+set @@global.rpl_semi_sync_slave_enabled = 1;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_2, master_user='root', master_use_gtid=SLAVE_POS;
+# ... only for it to fail 'cos if its inconsistent (empty) slave's gtid state:
+SELECT @@global.gtid_slave_pos;
+@@global.gtid_slave_pos
+
+START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1950]
+# B. ... Resume on the circular setup with the server_id now in the non-strict mode ...
+set @@global.gtid_strict_mode = false;
+include/start_slave.inc
+# ... to have succeeded.
+connection server_2;
+INSERT INTO t1 VALUES (2);
+connection server_1;
+INSERT INTO t1 VALUES (3);
+connection server_2;
+# The gtid states on server_2 must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-1,10-1-3,20-2-1
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-2-1,10-1-3,20-2-1
+connection server_1;
+# ... the gtid states on server_1
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-2-1,10-1-3,20-2-1
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-1,10-1-3,20-2-1
+# Cleanup
+connection server_1;
+include/stop_slave.inc
+set @@global.rpl_semi_sync_master_enabled = default;
+set @@global.rpl_semi_sync_slave_enabled = default;
+set @@global.rpl_semi_sync_master_wait_point=default;
+DROP TABLE t1;
+connection server_2;
+set @@global.rpl_semi_sync_master_enabled = default;
+set @@global.rpl_semi_sync_slave_enabled = default;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ctype_latin1.result b/mysql-test/suite/rpl/r/rpl_ctype_latin1.result
index 5399581ac26..333e701de0e 100644
--- a/mysql-test/suite/rpl/r/rpl_ctype_latin1.result
+++ b/mysql-test/suite/rpl/r/rpl_ctype_latin1.result
@@ -23,7 +23,7 @@ hex(table_name)
select hex(table_name) from information_schema.tables where table_schema="test" and table_name like "v%";
hex(table_name)
76C391E28098
-SHOW PROCEDURE STATUS LIKE 'p%';
+SHOW PROCEDURE STATUS WHERE Name LIKE 'p%' and Db = 'test';
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
test pё PROCEDURE root@localhost ts ts DEFINER latin1 latin1_swedish_ci latin1_swedish_ci
connection master;
diff --git a/mysql-test/suite/rpl/r/rpl_ddl.result b/mysql-test/suite/rpl/r/rpl_ddl.result
index 22ce9a288c1..27d84fea1e4 100644
--- a/mysql-test/suite/rpl/r/rpl_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_ddl.result
@@ -790,10 +790,10 @@ MAX(f1)
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
connection master;
SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
connection slave;
SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
connection master;
######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
@@ -833,12 +833,12 @@ MAX(f1)
TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
connection master;
SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE NO
connection slave;
SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t5 1 my_idx5 1 f1 A NULL NULL NULL YES BTREE NO
connection master;
######## DROP DATABASE mysqltest2 ########
diff --git a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
index bb8c45ae4eb..fd50e98414f 100644
--- a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
@@ -46,6 +46,11 @@ SELECT COUNT(*) FROM t2;
COUNT(*)
0
COMMIT;
+
+# Test that the performance schema coulumn shows > 0 values.
+
+include/assert.inc [current number of retries should be more than the value saved before deadlock.]
+include/check_slave_is_running.inc
SELECT * FROM t1;
a
1
diff --git a/mysql-test/suite/rpl/r/rpl_empty_string_is_null.result b/mysql-test/suite/rpl/r/rpl_empty_string_is_null.result
index 5f35b56c559..15b75bccb5d 100644
--- a/mysql-test/suite/rpl/r/rpl_empty_string_is_null.result
+++ b/mysql-test/suite/rpl/r/rpl_empty_string_is_null.result
@@ -9,7 +9,7 @@ connection slave;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `TABLE_NAME` varchar(64) CHARACTER SET utf8 NOT NULL
+ `TABLE_NAME` varchar(64) CHARACTER SET utf8mb3 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
connection master;
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
index deea7caa12a..a686f15bb87 100644
--- a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
+++ b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
@@ -2,8 +2,9 @@ include/master-slave.inc
[connection master]
connection slave;
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: .*");
-call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
-call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
+call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to server at 'reading initial communication packet'");
+call mtr.add_suppression("Fatal error: The slave I/O thread stops because
+master and slave have equal MariaDB server ids; .*");
call mtr.add_suppression("Slave I/O thread .* register on master");
SET @saved_dbug = @@GLOBAL.debug_dbug;
connection slave;
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_m.result b/mysql-test/suite/rpl/r/rpl_loaddata_m.result
index 8e2bc2f0b1c..fdb5ca31e94 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_m.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_m.result
@@ -23,6 +23,7 @@ mtr
mysql
mysqltest
performance_schema
+sys
test
USE test;
SHOW TABLES;
diff --git a/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result b/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result
index d384422f88a..ac846ac6c00 100644
--- a/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result
+++ b/mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result
@@ -78,6 +78,7 @@ slave-relay-bin.000007 # Query # # COMMIT
*** MDEV-5754: MySQL 5.5 slaves cannot replicate from MariaDB 10.0 ***
connection master;
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(100);
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';
INSERT INTO t2 VALUES (1);
@@ -112,6 +113,7 @@ SELECT * FROM t2 ORDER BY a;
a
1
2
+100
# Test that slave which cannot tolerate holes in binlog stream but
# knows the event does not get dummy event
include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result b/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
index 35e5de7b15a..730e87c63da 100644
--- a/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
+++ b/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
@@ -35,7 +35,7 @@ slow_log CREATE TABLE `slow_log` (
`insert_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`sql_text` mediumtext NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
connection master;
connection master;
Master position has been changed
@@ -57,7 +57,7 @@ slow_log CREATE TABLE `slow_log` (
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`rows_affected` int(11) NOT NULL
-) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
+) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log'
SET GLOBAL general_log = 'OFF';
SET GLOBAL slow_query_log = 'OFF';
truncate mysql.slow_log;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_charset.result b/mysql-test/suite/rpl/r/rpl_parallel_charset.result
index d4c4738704f..d85876ff2c6 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_charset.result
@@ -11,7 +11,7 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
- `b` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
+ `b` varchar(100) CHARACTER SET utf8mb3 DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SET character_set_client=latin1;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_gco_wait_kill.result b/mysql-test/suite/rpl/r/rpl_parallel_gco_wait_kill.result
index 4472550c4f2..f12d19442f1 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_gco_wait_kill.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_gco_wait_kill.result
@@ -20,6 +20,7 @@ connect con_temp4,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
connect con_temp5,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t3 VALUES(100, 100);
connection server_2;
connection server_1;
SET sql_log_bin=0;
@@ -136,6 +137,7 @@ a b
68 68
69 69
70 70
+100 100
SET debug_sync='RESET';
connection server_2;
SET debug_sync='now SIGNAL d0_cont';
@@ -161,6 +163,7 @@ a b
68 68
69 69
70 70
+100 100
SET debug_sync='RESET';
SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
@@ -190,6 +193,7 @@ a b
68 68
69 69
70 70
+100 100
SET sql_log_bin=0;
DROP FUNCTION foo;
CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
@@ -225,6 +229,7 @@ SELECT * FROM t3 WHERE a >= 80 ORDER BY a;
a b
80 0
81 10000
+100 100
connection server_2;
SET debug_sync='now WAIT_FOR wait_queue_ready';
KILL THD_ID;
@@ -244,6 +249,7 @@ a b
80 0
81 10000
82 0
+100 100
connection server_2;
include/stop_slave.inc
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result b/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result
index 3dd5a3ea83c..ce11b814d44 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_ignored_errors.result
@@ -13,6 +13,7 @@ include/start_slave.inc
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);
include/save_master_gtid.inc
connection server_2;
include/sync_with_master_gtid.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
index e966023c30f..6e324be9ebb 100644
--- 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
@@ -35,6 +35,7 @@ SET sql_log_bin=1;
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;
+SET debug_dbug='+d,row_ins_row_level';
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'));
@@ -43,6 +44,7 @@ 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;
+SET debug_dbug='+d,row_ins_row_level';
BEGIN;
INSERT INTO t3 VALUES (32, foo(32,
'ha_write_row_end SIGNAL t2_query WAIT_FOR t2_cont',
@@ -56,6 +58,7 @@ 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;
+SET debug_dbug='+d,row_ins_row_level';
INSERT INTO t3 VALUES (34, foo(34,
'',
''));
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_retry.result b/mysql-test/suite/rpl/r/rpl_parallel_retry.result
index b43556815d1..2cc4044a2cd 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_retry.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_retry.result
@@ -49,8 +49,7 @@ 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
+include/assert.inc [Performance Schema retries should match with actual retries]
SELECT * FROM t1 ORDER BY a;
a b
1 2
@@ -82,8 +81,7 @@ 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
+include/assert.inc [Performance Schema retries should match with actual retries]
SELECT * FROM t1 ORDER BY a;
a b
1 3
@@ -129,6 +127,7 @@ include/wait_for_slave_sql_error.inc [errno=1213]
SET GLOBAL debug_dbug=@old_dbug;
retries
10
+include/assert.inc [Performance Schema retries should match with actual retries]
SELECT * FROM t1 ORDER BY a;
a b
1 3
@@ -179,8 +178,7 @@ 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
+include/assert.inc [Performance Schema retries should match with actual retries]
SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
a b
10 4
@@ -224,8 +222,7 @@ 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
+include/assert.inc [Performance Schema retries should match with actual retries]
SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
a b
100 0
@@ -259,6 +256,7 @@ 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;
+INSERT INTO t4 VALUES(100, 100);
SET @old_format= @@SESSION.binlog_format;
SET binlog_format='statement';
connection server_2;
@@ -322,8 +320,7 @@ 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
+include/assert.inc [Performance Schema retries should match with actual retries]
SELECT * FROM t3 ORDER BY a;
a b
1 NULL
@@ -344,6 +341,7 @@ DROP function foo;
connection server_2;
connection server_1;
CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(100, 100);
connection server_2;
include/stop_slave.inc
SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result b/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result
index 320bf0e49f8..ba131ea094f 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_slave_bgc_kill.result
@@ -17,6 +17,8 @@ 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;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(100);
+INSERT INTO t3 VALUES(100, 100);
connection server_2;
connection server_1;
SET sql_log_bin=0;
@@ -80,6 +82,7 @@ a b
32 32
33 33
34 34
+100 100
SET debug_sync='RESET';
connection server_2;
SET sql_log_bin=0;
@@ -98,6 +101,7 @@ STOP SLAVE IO_THREAD;
SELECT * FROM t3 WHERE a >= 30 ORDER BY a;
a b
31 31
+100 100
SET debug_sync='RESET';
SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
@@ -121,6 +125,7 @@ a b
33 33
34 34
39 0
+100 100
SET sql_log_bin=0;
DROP FUNCTION foo;
CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
@@ -179,6 +184,7 @@ a b
42 42
43 43
44 44
+100 100
SET debug_sync='RESET';
connection server_2;
SET debug_sync='now WAIT_FOR t2_query';
@@ -211,6 +217,7 @@ a b
43 43
44 44
49 0
+100 100
SET sql_log_bin=0;
DROP FUNCTION foo;
CREATE FUNCTION foo(x INT, d1 VARCHAR(500), d2 VARCHAR(500))
@@ -274,6 +281,7 @@ a b
52 52
53 53
54 54
+100 100
SET debug_sync='RESET';
connection server_2;
SET debug_sync='now WAIT_FOR t2_query';
@@ -286,6 +294,7 @@ include/wait_for_slave_sql_error.inc [errno=1317,1927,1964]
SELECT * FROM t3 WHERE a >= 50 ORDER BY a;
a b
51 51
+100 100
SET debug_sync='RESET';
SET GLOBAL slave_parallel_threads=0;
SET GLOBAL slave_parallel_threads=10;
@@ -309,6 +318,7 @@ a b
53 53
54 54
59 0
+100 100
connection server_2;
include/stop_slave.inc
CHANGE MASTER TO master_use_gtid=slave_pos;
diff --git a/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result b/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result
index 6c9fd168e73..0c810d2a3f4 100644
--- a/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_parallel_stop_slave.result
@@ -16,6 +16,8 @@ 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;
CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES(100);
+INSERT INTO t3 VALUES(100, 100);
connection server_2;
include/stop_slave.inc
connection server_1;
@@ -55,9 +57,11 @@ SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
a
20
21
+100
SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
a b
20 20
+100 100
include/start_slave.inc
SELECT * FROM t1 WHERE a >= 20 ORDER BY a;
a
@@ -66,11 +70,13 @@ SELECT * FROM t2 WHERE a >= 20 ORDER BY a;
a
20
21
+100
SELECT * FROM t3 WHERE a >= 20 ORDER BY a;
a b
20 20
21 21
22 22
+100 100
connection server_2;
include/stop_slave.inc
SET GLOBAL slave_parallel_mode=@old_parallel_mode;
diff --git a/mysql-test/suite/rpl/r/rpl_password_boundaries.result b/mysql-test/suite/rpl/r/rpl_password_boundaries.result
index 8370213ad0e..ed05ebbfd68 100644
--- a/mysql-test/suite/rpl/r/rpl_password_boundaries.result
+++ b/mysql-test/suite/rpl/r/rpl_password_boundaries.result
@@ -27,8 +27,8 @@ change master to master_user='rpl33',master_password='0123456789abcdef0123456789
ERROR HY000: String '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012...' is too long for MASTER_PASSWORD (should be no longer than 96)
change master to master_user='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
ERROR HY000: String 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' is too long for MASTER_USER (should be no longer than 128)
-change master to master_host='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';
-ERROR HY000: String 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbb...' is too long for MASTER_HOST (should be no longer than 60)
+change master to master_host='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddE';
+ERROR HY000: String 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbb...' is too long for MASTER_HOST (should be no longer than 255)
connection master;
set sql_log_bin=0;
grant replication slave on *.* to rpl16cyr@127.0.0.1 identified by 'воттакойужпарольвоттакойужпарольвоттакойужпароль';
diff --git a/mysql-test/suite/rpl/r/rpl_perfschema_applier_config.result b/mysql-test/suite/rpl/r/rpl_perfschema_applier_config.result
new file mode 100644
index 00000000000..a910bbc834d
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_perfschema_applier_config.result
@@ -0,0 +1,35 @@
+include/master-slave.inc
+[connection master]
+include/assert.inc [On master, the table should return an empty set.]
+connection slave;
+
+# Verify that SELECT works and produces an output similar to
+# the corresponding field in SHOW SLAVE STATUS(SSS) in all scenarios.
+
+
+# Verify that output is same as SSS on a fresh slave.
+
+include/assert.inc [Value returned by SSS and PS table for Desired_Delay should be same.]
+
+# Verify that the value of this field is correct after STOP SLAVE.
+
+include/stop_slave.inc
+include/assert.inc [Value returned by SSS and PS table for Desired_Delay should be same.]
+
+# Verify that, when desired delay is set, the value is shown corectly.
+
+change master to master_delay= 2;
+include/start_slave.inc
+include/assert.inc [Value returned by SSS and PS table for Desired_Delay should be same.]
+
+# Verify that the value is preserved after STOP SLAVE.
+
+include/stop_slave.inc
+include/assert.inc [Value returned by SSS and PS table for Desired_Delay should be same.]
+
+# Verify that, when desired delay is reset, the value is shown corectly.
+
+change master to master_delay= 0;
+include/start_slave.inc
+include/assert.inc [Value returned by SSS and PS table for Desired_Delay should be same.]
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_perfschema_applier_status.result b/mysql-test/suite/rpl/r/rpl_perfschema_applier_status.result
new file mode 100644
index 00000000000..fafdc4f01fd
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_perfschema_applier_status.result
@@ -0,0 +1,21 @@
+include/master-slave.inc
+[connection master]
+include/assert.inc [On master, the table should return an empty set.]
+connection slave;
+
+# Verify that SELECT works and produces an output similar to
+# the corresponding field in SHOW SLAVE STATUS(SSS) in all scenarios.
+
+
+# Verify that output is same as SSS on a fresh slave.
+
+include/assert.inc [SSS shows Slave_SQL_Running as "Yes". So, Service_State from this PS table should be "ON".]
+include/assert.inc [COUNT_TRANSACTION_RETRIES should be equal to Slave_retried_transactions.]
+
+# Verify that the fields show the correct values after STOP SLAVE.
+
+include/stop_slave.inc
+include/assert.inc [SSS shows Slave_SQL_Running as "No". So, Service_State from this PS table should be "OFF".]
+include/assert.inc [COUNT_TRANSACTION_RETRIES should be equal to Slave_retried_transactions.]
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_coordinator.result b/mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_coordinator.result
new file mode 100644
index 00000000000..88e1848d46e
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_coordinator.result
@@ -0,0 +1,114 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Error 'Table 'test.t' doesn't exist' on query.");
+include/assert.inc [On master, the table should return an empty set.]
+connection slave;
+include/wait_for_slave_param.inc [Slave_SQL_Running_State]
+
+# Testing on fresh slave.
+
+include/assert.inc [thread_name should should indicate sql thread.]
+include/assert.inc [SSS shows Slave_IO_Running as "Yes". So, Service_State from this PS table should be "ON".]
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Message should be same.]
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Timestamp should be 0000-00-00 00:00:00.]
+include/assert.inc [Last_trans_retry_count should be 0.]
+
+# Cause an error in the SQL thread and check for the correctness of
+# values in error number, message and timestamp fields.
+
+connection master;
+use test;
+create table t(a int primary key);
+include/sync_slave_sql_with_master.inc
+drop table t;
+connection master;
+insert into t values(1);
+connection slave;
+include/wait_for_slave_sql_error.inc [errno=1146]
+
+# Extract the error related fields from SSS and PS table and compare
+# them for correctness.
+
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+Value returned by SSS and PS table for Last_Error_Message is same.
+
+# Verify that the error fields are preserved after STOP SLAVE, thread_id
+# changes to NULL and service_state changes to "Off".
+
+
+# 1. Verify that thread_id changes to NULL and service_state to "off" on
+# STOP SLAVE.
+
+include/assert.inc [After STOP SLAVE, thread_id should be NULL]
+include/assert.inc [SSS shows Slave_SQL_Running as "No". So, Service_State from this PS table should be "OFF".]
+
+# 2. Extract the error related fields from SSS and PS table and compare
+# them. These fields should preserve their values.
+
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+Value returned by SSS and PS table for Last_Error_Message is same.
+connection master;
+drop table t;
+reset master;
+connection slave;
+include/stop_slave.inc
+reset slave;
+reset master;
+set @saved_slave_trans_retry_interval= @@GLOBAL.slave_transaction_retry_interval;
+set global slave_transaction_retry_interval=1;
+include/start_slave.inc
+#
+# Test Last_Trans_Retry_Count value.
+#
+connection master;
+create table t1 (f int primary key) engine=innodb;
+insert into t1 values (10);
+connection slave;
+connect slave2,127.0.0.1,root,,test,$SLAVE_MYPORT,;
+connection slave2;
+begin;
+update t1 set f=40 where f=10;
+connection master;
+begin;
+update t1 set f=60 where f=10;
+commit;
+connection slave;
+connection slave2;
+rollback;
+include/assert.inc [Value returned by PS table for Last_Trans_Retry_Count should be > 0.]
+connection master;
+drop table t1;
+connection slave;
+disconnect slave2;
+set global slave_transaction_retry_interval=@saved_slave_trans_retry_interval;
+include/stop_slave.inc
+
+# Restarting servers and setting up MTS now. Since, SQL thread and
+# coordinator are the same and follow same code path, we can skip
+# testing for coordinator thread in all scenarios. Testing for one
+# scenario is enough.
+
+include/rpl_restart_server.inc [server_number=1]
+include/rpl_restart_server.inc [server_number=2]
+connection slave;
+change master to
+master_host='127.0.0.1',
+master_port=MASTER_MYPORT,
+master_user='root';
+SET @save.slave_parallel_workers=@@global.slave_parallel_workers;
+SET @@global.slave_parallel_workers=1;
+set @save.slave_transaction_retries= @@global.slave_transaction_retries;
+include/start_slave.inc
+include/wait_for_slave_param.inc [Slave_SQL_Running_State]
+include/assert.inc [thread_name should should indicate sql thread.]
+include/assert.inc [SSS shows Slave_SQL_Running as "Yes". So, Service_State from this PS table should be "ON".]
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+
+# Cleanup.
+
+include/stop_slave.inc
+set @@global.slave_parallel_workers= @save.slave_parallel_workers;
+set @@global.slave_transaction_retries= @save.slave_transaction_retries;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_worker.result b/mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_worker.result
new file mode 100644
index 00000000000..268ab0104a6
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_perfschema_applier_status_by_worker.result
@@ -0,0 +1,101 @@
+include/master-slave.inc
+[connection master]
+include/assert.inc [On master, the table should return an empty set.]
+
+# Setup MTS and perform testing on a fresh slave.
+
+connection slave;
+call mtr.add_suppression("Error 'Table 'test.t' doesn't exist' on query.");
+include/stop_slave.inc
+set @save_slave_parallel_workers= @@global.slave_parallel_workers;
+set @save_slave_transaction_retries= @@global.slave_transaction_retries;
+RESET SLAVE ALL;
+CHANGE MASTER 'slave1' TO MASTER_USER='root',MASTER_PORT=$MASTER_MYPORT, MASTER_HOST='127.0.0.1', MASTER_USE_GTID=slave_pos;
+SET default_master_connection='slave1';
+SET @@global.slave_parallel_workers=1;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+START SLAVE 'slave1';
+include/wait_for_slave_to_start.inc
+include/assert.inc [Channel_name will be empty for a worker when it has not processed any transaction]
+include/assert.inc [thread_name should should indicate worker thread.]
+include/assert.inc [Service_State should be "ON" on a fresh slave server.]
+include/assert.inc [Last_Seen_Transaction should show "" if no transaction applierd]
+connection master;
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+include/save_master_gtid.inc
+connection slave;
+include/sync_with_master_gtid.inc
+include/assert.inc [Channel_name must be slave1]
+include/assert.inc [Last_Seen_Transaction should show 0-1-1]
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Message should both be empty.]
+include/assert.inc [Value returned by PS table for Last_Error_Timestamp should be 0000-00-00 00:00:00.]
+connection master;
+connection slave;
+include/assert.inc [Value returned by PS table for worker_idle_time should be >= 1]
+connection master;
+DROP TABLE t1;
+connection slave;
+STOP SLAVE 'slave1';
+include/wait_for_slave_to_stop.inc
+RESET SLAVE ALL;
+SET default_master_connection='';
+CHANGE MASTER TO MASTER_USER='root', MASTER_HOST='127.0.0.1',MASTER_PORT=$MASTER_MYPORT;
+include/start_slave.inc
+
+# Introduce an error in the worker thread and check for the correctness
+# of error number, message and timestamp fields.
+
+connection master;
+use test;
+create table t(a int primary key);
+connection slave;
+drop table t;
+connection master;
+insert into t values(1);
+connection slave;
+include/wait_for_slave_sql_error.inc [errno=1146]
+
+# Extract the error related fields from SSS and PS table and compare
+# them for correctness.
+
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+Last_Error_Message
+Error 'Table 'test.t' doesn't exist' on query. Default database: 'test'. Query: 'insert into t values(1)'
+
+# Verify that the error fields are preserved after STOP SLAVE.
+
+
+# 1. Verify that thread_id changes to NULL and service_state to "off" on
+# STOP SLAVE.
+
+include/assert.inc [After STOP SLAVE, thread_id should be NULL]
+include/assert.inc [So, Service_State after STOP SLAVE should be "OFF".]
+
+# 2. Extract the worker_id and the error related fields from SSS and PS
+# table and compare them. These fields should preserve their values.
+
+include/assert.inc [Value returned by SSS and PS table for Last_Error_Number should be same.]
+Last_Error_Message
+Error 'Table 'test.t' doesn't exist' on query. Default database: 'test'. Query: 'insert into t values(1)'
+include/stop_slave.inc
+RESET SLAVE;
+connection master;
+DROP TABLE t;
+RESET MASTER;
+
+# Verify that number of rows in 'replication_applier_status_by_worker' table match with
+# number of slave_parallel_workers.
+
+connection slave;
+SET @@global.slave_parallel_workers=4;
+include/start_slave.inc
+include/assert.inc [On slave, the table should return 4 rows.]
+include/stop_slave.inc
+
+# Cleanup.
+
+set @@global.slave_parallel_workers= @save_slave_parallel_workers;
+set @@global.slave_transaction_retries= @save_slave_transaction_retries;
+include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result b/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result
new file mode 100644
index 00000000000..4ace84ffac4
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_perfschema_connect_config.result
@@ -0,0 +1,124 @@
+include/master-slave.inc
+[connection master]
+# Asserted this: On master, the table should return an empty set.
+connection slave;
+
+# Verify that SELECT works for every field and produces an output
+# similar to the corresponding field in SHOW SLAVE STATUS(SSS).
+
+include/assert.inc [Value returned by SSS and PS table for Host should be same.]
+include/assert.inc [Value returned by SSS and PS table for Port should be same.]
+include/assert.inc [Value returned by SSS and PS table for User should be same.]
+include/assert.inc [Value returned by SSS and PS table for Using_Gtid should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Allowed should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_CA_File should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_CA_Path should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Certificate should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Cipher should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Key should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Verify_Server_Certificate should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Crl_File should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Crl_Path should be same.]
+include/assert.inc [Value returned by SSS and PS table for Connection_Retry_Interval should be same.]
+include/assert.inc [Value returned by PS table for Connection_Retry_Count should be 10.]
+
+# Heartbeat_Interval is part of I_S and P_S. We will compare the
+# two to make sure both match.
+
+include/assert.inc [Value returned by IS and PS table for Heartbeat_Interval should be same.]
+
+# Change configuration parameters and verify that these changes
+# are shown correctly by SELECTs from PS table.
+
+connection master;
+create user replssl@localhost;
+grant replication slave on *.* to replssl@localhost require ssl;
+include/sync_slave_sql_with_master.inc
+include/stop_slave.inc
+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';
+include/start_slave.inc
+connection slave;
+
+# Checking SSL parameters, they were empty in tests done in the
+# previous section.
+
+include/assert.inc [Value returned by SSS and PS table for SSL_Allowed should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_CA_File should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_CA_Path should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Certificate should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Cipher should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Key should be same.]
+include/assert.inc [Value returned by SSS and PS table for SSL_Verify_Server_Certificate should be same.]
+connection master;
+drop user replssl@localhost;
+connection slave;
+include/stop_slave.inc
+CHANGE MASTER TO
+master_host= '127.0.0.1',
+master_user= 'root',
+master_password= '',
+master_ssl_ca= '',
+master_ssl_cert= '',
+master_ssl_key= '',
+master_ssl_verify_server_cert=0,
+master_ssl=0,
+master_use_gtid=no;
+include/start_slave.inc
+
+# Test with different MASTER_USE_GTID values
+
+
+# 1) Test for MASTER_USE_GTID=NO
+
+include/stop_slave.inc
+change master to
+master_user = 'root',
+master_use_gtid = NO;
+include/assert.inc [Value returned by SSS and PS table for Using_Gtid should be same.]
+
+# 2) Test for Auto_position= CURRENT_POS.
+
+change master to
+master_user = 'root',
+master_use_gtid= CURRENT_POS;
+include/assert.inc [Value returned by SSS and PS table for Using_Gtid should be same.]
+
+# 3) Test for Auto_position= SLAVE_POS
+
+change master to
+master_user = 'root',
+master_use_gtid= SLAVE_POS;
+include/assert.inc [Value returned by SSS and PS table for Using_Gtid should be same.]
+
+# Test INOGRE_SERVER_IDS
+
+
+# 1) Test for IGNORE_SERVER_IDS= (10, 100);
+
+connection slave;
+change master to IGNORE_SERVER_IDS= (10, 100);
+include/assert.inc [Value returned by SSS and PS table for Ignore_server_ids should be same.]
+CHANGE MASTER TO IGNORE_SERVER_IDS=();
+
+# 2) Test for IGNORE_DOMAIN_IDS(2)
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(2), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+include/assert.inc [Value returned by SSS and PS table for Replicate_Ignore_Domain_Ids should be same.]
+include/stop_slave.inc
+
+# 3) Test for DO_DOMAIN_IDS(1)
+
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+include/start_slave.inc
+include/assert.inc [Value returned by SSS and PS table for Replicate_Do_Domain_Ids should be same.]
+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_rbr_monitor.result b/mysql-test/suite/rpl/r/rpl_rbr_monitor.result
new file mode 100644
index 00000000000..e8ac6277233
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_rbr_monitor.result
@@ -0,0 +1,43 @@
+include/master-slave.inc
+[connection master]
+connection master;
+create table t1(a int primary key) engine=innodb;
+connection slave;
+connection slave1;
+begin;
+insert into t1(a) values(1);
+connection master;
+select * from t1;
+a
+insert into t1(a) values(1);
+#monitoring write rows
+connection slave;
+#monitoring update rows
+connection slave1;
+rollback;
+begin;
+select a from t1 for update;
+a
+1
+connection master;
+update t1 set a = a + 1 ;
+connection slave;
+#monitoring delete rows
+connection slave1;
+rollback;
+begin;
+select * from t1 for update;
+a
+2
+connection master;
+delete from t1;
+connection slave;
+select * from t1;
+a
+2
+connection slave1;
+rollback;
+connection master;
+drop table t1;
+connection slave;
+include/rpl_end.inc
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 2778ac1bf61..2ef096b6207 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
@@ -8,6 +8,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
test_ignore
USE test;
@@ -43,6 +44,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE test;
SHOW TABLES;
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 98e95e8cc77..0fc957ec260 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
@@ -560,7 +560,7 @@ INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
connection slave;
include/wait_for_slave_sql_error.inc [errno=1677]
-Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(765 octets)' to type 'char(48 octets) character set utf8''
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(765 octets)' to type 'char(48 octets) character set utf8mb3''
include/rpl_reset.inc
[expecting slave to stop]
connection master;
@@ -568,7 +568,7 @@ INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
connection slave;
include/wait_for_slave_sql_error.inc [errno=1677]
-Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(765 octets)' to type 'char(384 octets) character set utf8''
+Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(765 octets)' to type 'char(384 octets) character set utf8mb3''
include/rpl_reset.inc
[expecting slave to replicate correctly]
connection master;
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 3203d5394df..3cc5a0e2fae 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
@@ -565,7 +565,7 @@ INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
connection slave;
include/wait_for_slave_sql_error.inc [errno=1677]
-Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(765 octets)' to type 'char(48 octets) character set utf8''
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(765 octets)' to type 'char(48 octets) character set utf8mb3''
include/rpl_reset.inc
[expecting slave to stop]
connection master;
@@ -573,7 +573,7 @@ INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
connection slave;
include/wait_for_slave_sql_error.inc [errno=1677]
-Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(765 octets)' to type 'char(384 octets) character set utf8''
+Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(765 octets)' to type 'char(384 octets) character set utf8mb3''
include/rpl_reset.inc
[expecting slave to replicate correctly]
connection master;
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 7ed8338bbfb..0760d5b6e86 100644
--- a/mysql-test/suite/rpl/r/rpl_row_create_table.result
+++ b/mysql-test/suite/rpl/r/rpl_row_create_table.result
@@ -41,7 +41,7 @@ Table t3
Create Table CREATE TABLE `t3` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
connection slave;
SHOW CREATE TABLE t1;
Table t1
@@ -60,7 +60,7 @@ Table t3
Create Table CREATE TABLE `t3` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=utf8
+) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3
connection master;
CREATE TABLE t5 (b INT, c INT) SELECT * FROM t3;
CREATE TEMPORARY TABLE tt3 (a INT, b INT);
@@ -188,7 +188,7 @@ Table t8
Create Table CREATE TABLE `t8` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE t9;
Table t9
Create Table CREATE TABLE `t9` (
@@ -210,7 +210,7 @@ Table t8
Create Table CREATE TABLE `t8` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8mb3
SHOW CREATE TABLE t9;
Table t9
Create Table CREATE TABLE `t9` (
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result b/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result
new file mode 100644
index 00000000000..1c15b10da96
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_fail_over.result
@@ -0,0 +1,256 @@
+include/master-slave.inc
+[connection master]
+connection server_2;
+include/stop_slave.inc
+connection server_1;
+RESET MASTER;
+SET @@global.max_binlog_size= 4096;
+connection server_2;
+RESET MASTER;
+SET @@global.max_binlog_size= 4096;
+set @@global.rpl_semi_sync_slave_enabled = 1;
+set @@global.gtid_slave_pos = "";
+CHANGE MASTER TO master_use_gtid= slave_pos;
+include/start_slave.inc
+connection server_1;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+set @@global.rpl_semi_sync_master_enabled = 1;
+set @@global.rpl_semi_sync_master_wait_point=AFTER_SYNC;
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+INSERT INTO t1 VALUES (1, 'dummy1');
+connection server_2;
+connection server_1;
+#
+# Case:1
+#
+# CRASH the original master, and FAILOVER to the new
+# INSERT INTO t1 VALUES (2, REPEAT("x", 4100))
+# Row - 2 will be in master's binlog but not committed, gets replicated
+# to slave and applied. On crash master should have 1 row and slave
+# should have 2 rows.
+#
+# Expected State post crash:
+#=================================================================
+# Master | Slave |
+# 0-1-4 (Not committed) | 0-1-4 (Received through semi-sync |
+# | replication and applied) |
+#=================================================================
+connect conn_client,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
+SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync SIGNAL con1_ready WAIT_FOR con1_go";
+INSERT INTO t1 VALUES (2, REPEAT("x", 4100));
+connection server_1;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+# Kill the server
+connection server_2;
+include/wait_for_slave_param.inc [Slave_SQL_Running_State]
+include/stop_slave.inc
+include/assert.inc [Table t1 should have 2 rows.]
+SELECT @@GLOBAL.gtid_current_pos;
+@@GLOBAL.gtid_current_pos
+0-1-4
+# restart: --skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
+connection server_1;
+include/assert.inc [Table t1 should have 1 rows.]
+FOUND 1 /truncated binlog file:.*master.*000001/ in mysqld.1.err
+disconnect conn_client;
+connection server_2;
+set global rpl_semi_sync_master_enabled = 1;
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+connection server_1;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=$new_master_port, master_user='root', master_use_gtid=SLAVE_POS;
+set global rpl_semi_sync_slave_enabled = 1;
+set @@global.gtid_slave_pos=@@global.gtid_binlog_pos;
+include/start_slave.inc
+#
+# Server_2 promoted as master will send 0-1-4 to new slave Server_1
+#
+connection server_2;
+INSERT INTO t1 VALUES (3, 'dummy3');
+# The gtid state on current master must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-5
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-1-4
+connection server_1;
+SELECT COUNT(*) = 3 as 'true' FROM t1;
+true
+1
+# ... the gtid states on the slave:
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-2-5
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-5
+connection server_2;
+#
+# Case:2
+#
+# CRASH the new master, and FAILOVER back to the original
+# INSERT INTO t1 VALUES (4, REPEAT("x", 4100))
+# INSERT INTO t1 VALUES (5, REPEAT("x", 4100))
+# Rows 4 and 5 will be in master's binlog but not committed, they get
+# replicated to slave and applied. On crash master should have 3 rows
+# and slave should have 5 rows.
+#
+# Expected State post crash:
+#=================================================================
+# Master | Slave |
+# 0-2-6 (Not commited) | 0-2-6 (Received through semi-sync |
+# | replication and applied) |
+# 0-2-7 (Not commited) | 0-2-7 (Received through semi-sync |
+# | replication and applied) |
+#=================================================================
+connect conn_client,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+INSERT INTO t1 VALUES (4, REPEAT("x", 4100));
+connect conn_client_2,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+SET GLOBAL debug_dbug="d,Notify_binlog_EOF";
+INSERT INTO t1 VALUES (5, REPEAT("x", 4100));
+connection server_2;
+SET DEBUG_SYNC= "now WAIT_FOR eof_reached";
+# Kill the server
+connection server_1;
+include/wait_for_slave_param.inc [Slave_SQL_Running_State]
+include/stop_slave.inc
+include/assert.inc [Table t1 should have 5 rows.]
+SELECT @@GLOBAL.gtid_current_pos;
+@@GLOBAL.gtid_current_pos
+0-2-7
+# restart: --skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
+connection server_2;
+include/assert.inc [Table t1 should have 3 rows.]
+FOUND 1 /truncated binlog file:.*slave.*000002/ in mysqld.2.err
+disconnect conn_client;
+connection server_1;
+set global rpl_semi_sync_master_enabled = 1;
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+connection server_2;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=$new_master_port, master_user='root', master_use_gtid=SLAVE_POS;
+set global rpl_semi_sync_slave_enabled = 1;
+set @@global.gtid_slave_pos=@@global.gtid_binlog_pos;
+include/start_slave.inc
+#
+# Server_1 promoted as master will send 0-2-6 and 0-2-7 to slave Server_2
+#
+connection server_1;
+INSERT INTO t1 VALUES (6, 'dummy6');
+# The gtid state on current master must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-1-8
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-2-7
+connection server_2;
+SELECT COUNT(*) = 6 as 'true' FROM t1;
+true
+1
+# ... the gtid states on the slave:
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-1-8
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-1-8
+include/diff_tables.inc [server_1:t1, server_2:t1]
+connection server_1;
+#
+# Case:3
+#
+# CRASH the master and FAILOVER to slave
+# INSERT INTO t1 VALUES (7, REPEAT("x", 4100))
+# INSERT INTO t1 VALUES (8, REPEAT("x", 4100))
+# Rows 7 and 8 will be in master's binlog but not committed, only 7
+# gets replicated to slave and applied. On crash master should have 6
+# rows and slave should have 7 rows.
+#
+# Expected State post crash:
+#=================================================================
+# Master | Slave |
+# 0-1-9 (Not commited) | 0-1-9 (Received through semi-sync |
+# | replication and applied) |
+# 0-1-10 (Not commited - | |
+# never sent to slave) | |
+#=================================================================
+connect conn_client,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
+SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+INSERT INTO t1 VALUES (7, REPEAT("x", 4100));
+connect conn_client_3,127.0.0.1,root,,test,$SERVER_MYPORT_1,;
+SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+SET DEBUG_SYNC= "commit_before_update_binlog_end_pos SIGNAL con3_ready WAIT_FOR con1_go";
+INSERT INTO t1 VALUES (8, REPEAT("x", 4100));
+connection server_1;
+SET DEBUG_SYNC= "now WAIT_FOR con3_ready";
+# Kill the server
+connection server_2;
+include/wait_for_slave_param.inc [Slave_SQL_Running_State]
+include/stop_slave.inc
+include/assert.inc [Table t1 should have 7 rows.]
+SELECT @@GLOBAL.gtid_current_pos;
+@@GLOBAL.gtid_current_pos
+0-1-9
+# restart: --skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
+connection server_1;
+include/assert.inc [Table t1 should have 6 rows.]
+NOT FOUND /truncated binlog file:.*master.*000003/ in mysqld.1.err
+disconnect conn_client;
+connection server_2;
+set global rpl_semi_sync_master_enabled = 1;
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+connection server_1;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=$new_master_port, master_user='root', master_use_gtid=SLAVE_POS;
+set global rpl_semi_sync_slave_enabled = 1;
+set @@global.gtid_slave_pos=@@global.gtid_binlog_pos;
+include/start_slave.inc
+#
+# Server_2 promoted as master will send 0-1-9 to slave Server_1
+#
+connection server_2;
+INSERT INTO t1 VALUES (8, 'Done');
+include/save_master_gtid.inc
+# The gtid state on current master must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-10
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-1-9
+connection server_1;
+include/sync_with_master_gtid.inc
+SELECT COUNT(*) = 8 as 'true' FROM t1;
+true
+1
+# ... the gtid states on the slave:
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+Variable_name Value
+gtid_slave_pos 0-2-10
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+Variable_name Value
+gtid_binlog_pos 0-2-10
+#
+# Cleanup
+#
+include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 0;
+set global rpl_semi_sync_master_enabled = 0;
+set global rpl_semi_sync_master_wait_point=default;
+RESET MASTER;
+RESET SLAVE;
+connection server_2;
+RESET MASTER;
+RESET SLAVE;
+set @@global.rpl_semi_sync_master_enabled = 0;
+set @@global.rpl_semi_sync_slave_enabled = 0;
+set @@global.rpl_semi_sync_master_wait_point=default;
+CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_use_gtid=SLAVE_POS;
+set @@global.gtid_slave_pos=@@global.gtid_binlog_pos;
+include/start_slave.inc
+connection server_1;
+DROP TABLE t1;
+connection server_2;
+connection default;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semisync_ali_issues.result b/mysql-test/suite/rpl/r/rpl_semisync_ali_issues.result
index 9607e8a7998..36a2bac5838 100644
--- a/mysql-test/suite/rpl/r/rpl_semisync_ali_issues.result
+++ b/mysql-test/suite/rpl/r/rpl_semisync_ali_issues.result
@@ -74,6 +74,7 @@ select * from t1;
a
1
truncate table t1;
+INSERT INTO t1 VALUES (100);
connection slave;
connection con1;
SET DEBUG_SYNC= 'reset';
@@ -107,6 +108,7 @@ SET DEBUG_SYNC= "now WAIT_FOR after_commit_done";
connection slave;
select * from t1;
a
+100
1
2
3
@@ -114,6 +116,7 @@ a
connection con2;
select * from t1;
a
+100
1
2
3
@@ -123,6 +126,7 @@ connection con1;
connection con1;
select * from t1;
a
+100
1
2
3
diff --git a/mysql-test/suite/rpl/r/rpl_server_id1.result b/mysql-test/suite/rpl/r/rpl_server_id1.result
index 5978e33f6d9..def337e6056 100644
--- a/mysql-test/suite/rpl/r/rpl_server_id1.result
+++ b/mysql-test/suite/rpl/r/rpl_server_id1.result
@@ -2,7 +2,7 @@ include/rpl_init.inc [topology=2->2]
connection server_2;
START SLAVE;
include/wait_for_slave_io_error.inc [errno=1593]
-Last_IO_Error = 'Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).'
+Last_IO_Error = 'Fatal error: The slave I/O thread stops because master and slave have equal MariaDB server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).'
include/stop_slave_sql.inc
RESET SLAVE;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sp.result b/mysql-test/suite/rpl/r/rpl_sp.result
index 2fc2f5ba236..dad89db8135 100644
--- a/mysql-test/suite/rpl/r/rpl_sp.result
+++ b/mysql-test/suite/rpl/r/rpl_sp.result
@@ -188,7 +188,7 @@ select * from t2;
a
23
connection master;
-drop function fn1;
+drop function fn1|
create function fn1()
returns int
no sql
diff --git a/mysql-test/suite/rpl/r/rpl_sync.result b/mysql-test/suite/rpl/r/rpl_sync.result
index 1240c446164..5fa3a07a4e7 100644
--- a/mysql-test/suite/rpl/r/rpl_sync.result
+++ b/mysql-test/suite/rpl/r/rpl_sync.result
@@ -22,7 +22,7 @@ connection 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
+ERROR HY000: Lost connection to server during query
include/rpl_reconnect.inc
=====Dumping and comparing tables=======;
include/start_slave.inc
@@ -40,7 +40,7 @@ insert into t1(a) values(9);
connection slave;
SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
FLUSH LOGS;
-ERROR HY000: Lost connection to MySQL server during query
+ERROR HY000: Lost connection to server during query
include/rpl_reconnect.inc
=====Dumping and comparing tables=======;
include/start_slave.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 24d7d6cebf7..b9c636fa582 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
@@ -26,7 +26,8 @@ connection slave;
include/rpl_reset.inc
connection master;
CREATE TABLE t1 (a int) engine=innodb;
-CREATE TABLE t2 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) );
+CREATE TABLE t2 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) )
+engine=innodb;
CREATE TABLE t3 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) );
CREATE TRIGGER tr1 AFTER DELETE ON t2 FOR EACH ROW INSERT INTO t3 () VALUES ();
CREATE TEMPORARY TABLE t1_tmp (i1 int);
@@ -59,6 +60,7 @@ 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) )
+engine=innodb
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 #-#-#
@@ -74,7 +76,7 @@ slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Annotate_rows # # INSERT INTO t2 (i1) select * from t1
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 # Xid # # COMMIT /* XID */
slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # DROP TEMPORARY TABLE IF EXISTS `test`.`t1_tmp` /* generated by server */
slave-bin.000001 # Gtid # # GTID #-#-#
diff --git a/mysql-test/suite/rpl/r/rpl_unsafe_statements.result b/mysql-test/suite/rpl/r/rpl_unsafe_statements.result
index ca790f5d148..941984bf329 100644
--- a/mysql-test/suite/rpl/r/rpl_unsafe_statements.result
+++ b/mysql-test/suite/rpl/r/rpl_unsafe_statements.result
@@ -58,4 +58,33 @@ connection slave;
include/diff_tables.inc [master:t1, slave:t1]
connection master;
DROP TABLE t1;
+CREATE TABLE t1(i INT,PRIMARY KEY(i)) ENGINE=INNODB;
+CREATE TABLE t2(i INT,PRIMARY KEY(i)) ENGINE=INNODB;
+INSERT INTO t1 (i) VALUES (1),(2),(3),(4),(5);
+connect con1, localhost, root,;
+START TRANSACTION;
+SELECT i FROM t1 WHERE i=3 FOR UPDATE;
+i
+3
+connection master;
+INSERT INTO t2 SELECT i FROM t1 LOCK IN SHARE MODE SKIP LOCKED;
+CREATE TABLE t3 AS SELECT i FROM t1 LOCK IN SHARE MODE SKIP LOCKED;
+SELECT * FROM t2 ORDER BY i;
+i
+1
+2
+4
+5
+SELECT * FROM t3 ORDER BY i;
+i
+1
+2
+4
+5
+connection slave;
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t3, slave:t3]
+disconnect con1;
+connection master;
+DROP TABLE t1, t2, t3;
include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect.result b/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect.result
index 0ee7b497077..3ab263b7f35 100644
--- a/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect.result
+++ b/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect.result
@@ -7,6 +7,7 @@ CREATE DATABASE d1;
CREATE DATABASE d2;
CREATE TABLE d1.t (a INT) ENGINE=innodb;
CREATE TABLE d2.t (a INT) ENGINE=innodb;
+INSERT INTO d1.t VALUES(100);
connect master_conn1, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@session.binlog_format= statement;
XA START '1-stmt';
@@ -45,6 +46,9 @@ master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE d1.t (a INT) ENGINE=innodb
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE d2.t (a INT) ENGINE=innodb
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO d1.t VALUES(100)
+master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Gtid # # XA START X'312d73746d74',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO d1.t VALUES (1)
master-bin.000001 # Query # # XA END X'312d73746d74',X'',1
@@ -90,6 +94,7 @@ connection master2;
XA START '4';
SELECT * FROM d1.t;
a
+100
1
2
XA END '4';
diff --git a/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect_lsu_off.result b/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect_lsu_off.result
index 0ee7b497077..3ab263b7f35 100644
--- a/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect_lsu_off.result
+++ b/mysql-test/suite/rpl/r/rpl_xa_survive_disconnect_lsu_off.result
@@ -7,6 +7,7 @@ CREATE DATABASE d1;
CREATE DATABASE d2;
CREATE TABLE d1.t (a INT) ENGINE=innodb;
CREATE TABLE d2.t (a INT) ENGINE=innodb;
+INSERT INTO d1.t VALUES(100);
connect master_conn1, 127.0.0.1,root,,test,$MASTER_MYPORT,;
SET @@session.binlog_format= statement;
XA START '1-stmt';
@@ -45,6 +46,9 @@ master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE d1.t (a INT) ENGINE=innodb
master-bin.000001 # Gtid # # GTID #-#-#
master-bin.000001 # Query # # use `test`; CREATE TABLE d2.t (a INT) ENGINE=innodb
+master-bin.000001 # Gtid # # BEGIN GTID #-#-#
+master-bin.000001 # Query # # use `test`; INSERT INTO d1.t VALUES(100)
+master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Gtid # # XA START X'312d73746d74',X'',1 GTID #-#-#
master-bin.000001 # Query # # use `test`; INSERT INTO d1.t VALUES (1)
master-bin.000001 # Query # # XA END X'312d73746d74',X'',1
@@ -90,6 +94,7 @@ connection master2;
XA START '4';
SELECT * FROM d1.t;
a
+100
1
2
XA END '4';
diff --git a/mysql-test/suite/rpl/t/parallel_backup.test b/mysql-test/suite/rpl/t/parallel_backup.test
index 6ed182c024b..964e2a30309 100644
--- a/mysql-test/suite/rpl/t/parallel_backup.test
+++ b/mysql-test/suite/rpl/t/parallel_backup.test
@@ -10,6 +10,9 @@
--connection master
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = innodb;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(100);
--sync_slave_with_master
--source include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test
index afc8e25766a..07fc1e558cb 100644
--- a/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test
+++ b/mysql-test/suite/rpl/t/rpl_blackhole_row_annotate.test
@@ -43,7 +43,7 @@ FLUSH LOGS;
--eval show binlog events in 'slave-bin.000001' from $binlog_start_pos
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 #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
+--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 #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows $MYSQLD_DATADIR/slave-bin.000001
source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_bug31076.test b/mysql-test/suite/rpl/t/rpl_bug31076.test
index 4e9517fbf2a..5ef2b345eab 100644
--- a/mysql-test/suite/rpl/t/rpl_bug31076.test
+++ b/mysql-test/suite/rpl/t/rpl_bug31076.test
@@ -1,3 +1,8 @@
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Need regular protocol but ps-protocol was specified
+}
+
source include/have_binlog_format_mixed_or_row.inc;
source include/master-slave.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 8d610a87b89..aeb849b893e 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
@@ -39,6 +39,9 @@ while ($_rpl_server)
--connection server_1
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=MyISAM;
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table. So it won't allow
+# concurrent DML to happen at the same time
+INSERT INTO t2 (b,c) VALUES('MDEV-515', 100);
--source include/rpl_sync.inc
--connection server_4
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");
diff --git a/mysql-test/suite/rpl/t/rpl_circular_semi_sync.cnf b/mysql-test/suite/rpl/t/rpl_circular_semi_sync.cnf
new file mode 100644
index 00000000000..be39fea91d8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_circular_semi_sync.cnf
@@ -0,0 +1,11 @@
+!include suite/rpl/rpl_1slave_base.cnf
+!include include/default_client.cnf
+
+
+[mysqld.1]
+log-slave-updates
+sync-binlog=1
+
+[mysqld.2]
+log-slave-updates
+sync-binlog=1
diff --git a/mysql-test/suite/rpl/t/rpl_circular_semi_sync.test b/mysql-test/suite/rpl/t/rpl_circular_semi_sync.test
new file mode 100644
index 00000000000..51fa5a242ea
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_circular_semi_sync.test
@@ -0,0 +1,115 @@
+# ==== References ====
+#
+# MDEV-27760 event may non stop replicate in circular semisync setup
+#
+--source include/have_innodb.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+# The following tests prove
+# A. out-of-order gtid error when the stict gtid mode semisync slave
+# receives the same server-id gtid event inconsistent
+# (rpl_semi_sync_fail_over tests the consistent case) with its state;
+# B. in the non-strict mode the same server-id events remains ignored
+# by default as usual.
+#
+--echo # Master server_1 and Slave server_2 initialiation ...
+--connection server_2
+--source include/stop_slave.inc
+
+# Initial master
+--connection server_1
+set @@sql_log_bin = off;
+call mtr.add_suppression("Slave: An attempt was made to binlog GTID 10-1-1 which would create an out-of-order sequence number with existing GTID");
+set @@sql_log_bin = on;
+
+RESET MASTER;
+
+set @@session.gtid_domain_id=10;
+
+set @@global.rpl_semi_sync_master_enabled = 1;
+set @@global.rpl_semi_sync_master_wait_point=AFTER_SYNC;
+
+--connection server_2
+RESET MASTER;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+
+set @@session.gtid_domain_id=20;
+
+set @@global.rpl_semi_sync_slave_enabled = 1;
+--echo # a 1948 warning is expected
+set @@global.gtid_slave_pos = "";
+CHANGE MASTER TO master_use_gtid= slave_pos;
+--source include/start_slave.inc
+--echo # ... server_1 -> server_2 is set up
+
+--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 # Circular configuration server_2 -> server_1 initialiation ...
+--connection server_1
+--echo # A. ... first when server_1 is in gtid strict mode...
+set @@global.gtid_strict_mode = true;
+set @@global.rpl_semi_sync_slave_enabled = 1;
+
+evalp CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_2, master_user='root', master_use_gtid=SLAVE_POS;
+
+--echo # ... only for it to fail 'cos if its inconsistent (empty) slave's gtid state:
+SELECT @@global.gtid_slave_pos;
+START SLAVE;
+# ER_GTID_STRICT_OUT_OF_ORDER
+--let $slave_sql_errno = 1950
+--source include/wait_for_slave_sql_error.inc
+
+--echo # B. ... Resume on the circular setup with the server_id now in the non-strict mode ...
+set @@global.gtid_strict_mode = false;
+--source include/start_slave.inc
+
+--echo # ... to have succeeded.
+
+--connection server_2
+INSERT INTO t1 VALUES (2);
+--save_master_pos
+
+--connection server_1
+--sync_with_master
+
+INSERT INTO t1 VALUES (3);
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+--echo # The gtid states on server_2 must be equal to ...
+--let $wait_condition=select @@gtid_slave_pos=@@gtid_binlog_pos
+--source include/wait_condition.inc
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+
+--connection server_1
+--echo # ... the gtid states on server_1
+--let $wait_condition=select @@gtid_slave_pos=@@gtid_binlog_pos
+--source include/wait_condition.inc
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+
+--echo # Cleanup
+--connection server_1
+--source include/stop_slave.inc
+set @@global.rpl_semi_sync_master_enabled = default;
+set @@global.rpl_semi_sync_slave_enabled = default;
+set @@global.rpl_semi_sync_master_wait_point=default;
+
+DROP TABLE t1;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+set @@global.rpl_semi_sync_master_enabled = default;
+set @@global.rpl_semi_sync_slave_enabled = default;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ctype_latin1.test b/mysql-test/suite/rpl/t/rpl_ctype_latin1.test
index a85254214d2..4c3535a18a1 100644
--- a/mysql-test/suite/rpl/t/rpl_ctype_latin1.test
+++ b/mysql-test/suite/rpl/t/rpl_ctype_latin1.test
@@ -33,7 +33,7 @@ select hex(table_name) from information_schema.tables where table_schema="test"
select hex(table_name) from information_schema.tables where table_schema="test" and table_name like "t%";
select hex(table_name) from information_schema.tables where table_schema="test" and table_name like "v%";
--replace_column 5 ts 6 ts
-SHOW PROCEDURE STATUS LIKE 'p%';
+SHOW PROCEDURE STATUS WHERE Name LIKE 'p%' and Db = 'test';
--connection master
DROP TABLE `tё`;
diff --git a/mysql-test/suite/rpl/t/rpl_drop_db.test b/mysql-test/suite/rpl/t/rpl_drop_db.test
index 372afaa63c6..f67f422c36f 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_db.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_db.test
@@ -10,7 +10,9 @@ drop database if exists mysqltest1;
create database mysqltest1;
create table mysqltest1.t1 (n int);
insert into mysqltest1.t1 values (1);
+--enable_prepare_warnings
select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt';
+--disable_prepare_warnings
create table mysqltest1.t2 (n int);
create table mysqltest1.t3 (n int);
--replace_result \\ / 66 39 93 39 17 39 247 39 41 39 "File exists" "Directory not empty"
diff --git a/mysql-test/suite/rpl/t/rpl_events.test b/mysql-test/suite/rpl/t/rpl_events.test
index 3e73fc7a3ee..1d66c327633 100644
--- a/mysql-test/suite/rpl/t/rpl_events.test
+++ b/mysql-test/suite/rpl/t/rpl_events.test
@@ -4,6 +4,11 @@
# Purpose: To test that event effects are replicated. #
##################################################################
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Need regular protocol but ps-protocol was specified
+}
+
--source include/master-slave.inc
SET @old_event_scheduler = @@global.event_scheduler;
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 c44bfa80ad4..e3d049f0cde 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
@@ -22,8 +22,9 @@ source include/have_binlog_format_mixed.inc;
connection slave;
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: .*");
-call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
-call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
+call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to server at 'reading initial communication packet'");
+call mtr.add_suppression("Fatal error: The slave I/O thread stops because
+master and slave have equal MariaDB server ids; .*");
call mtr.add_suppression("Slave I/O thread .* register on master");
#Test case 1: Try to get the value of the UNIX_TIMESTAMP from master under network disconnection
diff --git a/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
index fd4cdf71f6f..4a192230859 100644
--- a/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
+++ b/mysql-test/suite/rpl/t/rpl_gtid_stop_start.test
@@ -1,3 +1,7 @@
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Test temporarily disabled for ps-protocol
+}
--let $rpl_topology=1->2
--source include/rpl_init.inc
--source include/have_innodb.inc
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat.test b/mysql-test/suite/rpl/t/rpl_heartbeat.test
index 77c05a60c0a..e4753b7be07 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat.test
@@ -21,6 +21,7 @@ set @restore_slave_net_timeout= @@global.slave_net_timeout;
set @@global.slave_net_timeout= 10;
--enable_warnings
+--enable_prepare_warnings
###
### Checking the range
###
@@ -167,6 +168,8 @@ drop table t1;
sync_slave_with_master;
set @@global.slave_net_timeout= @restore_slave_net_timeout;
+--disable_prepare_warnings
+
--source include/stop_slave.inc
--echo End of tests
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
index f12c5921ba2..45b5d48c13b 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
@@ -18,6 +18,8 @@
--source include/have_binlog_format_mixed.inc
--echo
+--enable_prepare_warnings
+
# Set number of retries to connect to master
let $connect_retry= 20;
@@ -561,5 +563,7 @@ DROP TABLE t1;
--sync_slave_with_master
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
+--disable_prepare_warnings
+
#--let $rpl_only_running_threads= 1
--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 19797b89013..b78ad90aebe 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_table.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_table.test
@@ -1,4 +1,4 @@
-let collation=utf8_unicode_ci;
+let collation=utf8mb3_unicode_ci;
source include/have_collation.inc;
source include/master-slave.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
index 12698263da4..0b8fb751726 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
@@ -5,7 +5,7 @@
--source include/master-slave.inc
# Set the default connection to 'master'
-
+--enable_prepare_warnings
--vertical_results
let $engine_type= 'innodb';
@@ -151,7 +151,7 @@ SELECT count(*) "Slave bykey" FROM test.bykey_tbl;
SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
###### CLEAN UP SECTION ##############
-
+--disable_prepare_warnings
connection master;
DROP PROCEDURE test.proc_norm;
DROP PROCEDURE test.proc_bykey;
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test b/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
index 9bfce61804b..a18b09981ef 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
@@ -19,6 +19,7 @@ eval CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
######## Create SPs, Functions, Views and Triggers Section ##############
+--enable_prepare_warnings
delimiter |;
CREATE PROCEDURE test.proc_norm()
BEGIN
@@ -46,7 +47,7 @@ BEGIN
END|
delimiter ;|
-
+--disable_prepare_warnings
############ Finish Setup Section ###################
diff --git a/mysql-test/suite/rpl/t/rpl_ipv6.cnf b/mysql-test/suite/rpl/t/rpl_ipv6.cnf
index c657e7c5115..6bf97a94a4e 100644
--- a/mysql-test/suite/rpl/t/rpl_ipv6.cnf
+++ b/mysql-test/suite/rpl/t/rpl_ipv6.cnf
@@ -12,7 +12,7 @@ log-bin= master-bin
loose-innodb
skip-name-resolve
-bind-address= ::
+bind-address= *
[mysqld.2]
@@ -38,7 +38,7 @@ report-user= root
skip-slave-start
skip-name-resolve
-bind-address= ::
+bind-address= *
# Directory where slaves find the dumps generated by "load data"
# on the server. The path need to have constant length otherwise
diff --git a/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test b/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test
index 046a65f77db..19f2db32cb7 100644
--- a/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test
+++ b/mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test
@@ -84,6 +84,9 @@ let $binlog_limit=7,5;
--connection master
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t2 VALUES(100);
let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
diff --git a/mysql-test/suite/rpl/t/rpl_mdev12179.test b/mysql-test/suite/rpl/t/rpl_mdev12179.test
index e3caccde6b4..2afcbf7b1e1 100644
--- a/mysql-test/suite/rpl/t/rpl_mdev12179.test
+++ b/mysql-test/suite/rpl/t/rpl_mdev12179.test
@@ -285,8 +285,10 @@ EOF
--connection server_2
--enable_reconnect
+--enable_prepare_warnings
--source include/wait_until_connected_again.inc
SELECT max(seq_no) FROM mysql.gtid_slave_pos_InnoDB into @seq_no;
+--disable_prepare_warnings
--connection server_1
INSERT INTO t2(a) SELECT 1+MAX(a) FROM t2;
diff --git a/mysql-test/suite/rpl/t/rpl_misc_functions.test b/mysql-test/suite/rpl/t/rpl_misc_functions.test
index 7189e5c44ba..4b140c9588a 100644
--- a/mysql-test/suite/rpl/t/rpl_misc_functions.test
+++ b/mysql-test/suite/rpl/t/rpl_misc_functions.test
@@ -89,8 +89,10 @@ INSERT INTO t1 (col_a) VALUES (test_replication_sf());
--sync_slave_with_master
+--enable_prepare_warnings
# Dump table on slave
select * from t1 into outfile "../../tmp/t1_slave.txt";
+--disable_prepare_warnings
# Load data from slave into temp table on master
connection master;
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
index 75db619d225..2e4c57953fe 100644
--- 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
@@ -57,6 +57,8 @@ SET sql_log_bin=1;
--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;
+
+SET debug_dbug='+d,row_ins_row_level';
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'));
@@ -67,6 +69,7 @@ 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;
+SET debug_dbug='+d,row_ins_row_level';
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.
@@ -86,6 +89,7 @@ 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;
+SET debug_dbug='+d,row_ins_row_level';
send INSERT INTO t3 VALUES (34, foo(34,
'',
''));
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_retry.test b/mysql-test/suite/rpl/t/rpl_parallel_retry.test
index 97a3a709eb5..8b2affed571 100644
--- a/mysql-test/suite/rpl/t/rpl_parallel_retry.test
+++ b/mysql-test/suite/rpl/t/rpl_parallel_retry.test
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
+--source include/have_perfschema.inc
--source include/have_debug.inc
--source include/have_debug_sync.inc
--let $rpl_topology=1->2
@@ -68,9 +69,13 @@ let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', V
--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
+let $ps_value= query_get_value(select last_trans_retry_count from
+ performance_schema.replication_applier_status_by_worker where
+ last_trans_retry_count > 0, last_trans_retry_count, 1);
+let $assert_text= Performance Schema retries should match with actual retries;
+let $assert_cond= "$ps_value" = $new_retry - $old_retry;
+source include/assert.inc;
+
SELECT * FROM t1 ORDER BY a;
@@ -100,9 +105,12 @@ let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', V
--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
+let $ps_value= query_get_value(select last_trans_retry_count from
+ performance_schema.replication_applier_status_by_worker where
+ last_trans_retry_count > 0, last_trans_retry_count, 1);
+let $assert_text= Performance Schema retries should match with actual retries;
+let $assert_cond= "$ps_value" = $new_retry - $old_retry;
+source include/assert.inc;
SELECT * FROM t1 ORDER BY a;
@@ -142,6 +150,12 @@ let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', V
--disable_query_log
eval SELECT $new_retry - $old_retry AS retries;
--enable_query_log
+let $ps_value= query_get_value(select last_trans_retry_count from
+ performance_schema.replication_applier_status_by_worker where
+ last_trans_retry_count > 0, last_trans_retry_count, 1);
+let $assert_text= Performance Schema retries should match with actual retries;
+let $assert_cond= "$ps_value" = $new_retry - $old_retry;
+source include/assert.inc;
SELECT * FROM t1 ORDER BY a;
STOP SLAVE IO_THREAD;
@@ -187,9 +201,12 @@ let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', V
--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
+let $ps_value= query_get_value(select last_trans_retry_count from
+ performance_schema.replication_applier_status_by_worker where
+ last_trans_retry_count > 0, last_trans_retry_count, 1);
+let $assert_text= Performance Schema retries should match with actual retries;
+let $assert_cond= "$ps_value" = $new_retry - $old_retry;
+source include/assert.inc;
SELECT * FROM t1 WHERE a >= 10 ORDER BY a;
SELECT a, LENGTH(b) FROM t2 ORDER BY a;
@@ -235,9 +252,12 @@ let $old_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', V
--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
+let $ps_value= query_get_value(select last_trans_retry_count from
+ performance_schema.replication_applier_status_by_worker where
+ last_trans_retry_count > 0, last_trans_retry_count, 1);
+let $assert_text= Performance Schema retries should match with actual retries;
+let $assert_cond= "$ps_value" = $new_retry - $old_retry;
+source include/assert.inc;
SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
# Stop the SQL thread. When the bug was there to give the incorrect relay log
@@ -266,6 +286,9 @@ SELECT * FROM t1 WHERE a >= 100 ORDER BY a;
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;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t4 VALUES(100, 100);
# We need statement binlog format to be able to inject debug_sync statements
# on the slave with calls to foo().
@@ -362,9 +385,12 @@ SET debug_sync='now SIGNAL t1_start';
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
+let $ps_value= query_get_value(select last_trans_retry_count from
+ performance_schema.replication_applier_status_by_worker where
+ last_trans_retry_count > 0, last_trans_retry_count, 1);
+let $assert_text= Performance Schema retries should match with actual retries;
+let $assert_cond= "$ps_value" = $new_retry - $old_retry;
+source include/assert.inc;
SELECT * FROM t3 ORDER BY a;
@@ -390,7 +416,9 @@ DROP function foo;
--connection server_1
CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;
-
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(100, 100);
# Replicate create-t1 and prepare to re-start slave in optimistic mode
--sync_slave_with_master server_2
diff --git a/mysql-test/suite/rpl/t/rpl_password_boundaries.test b/mysql-test/suite/rpl/t/rpl_password_boundaries.test
index 9e9685943f7..567fe35e6db 100644
--- a/mysql-test/suite/rpl/t/rpl_password_boundaries.test
+++ b/mysql-test/suite/rpl/t/rpl_password_boundaries.test
@@ -47,10 +47,13 @@ source include/stop_slave.inc;
change master to master_user='rpl33',master_password='0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef!';
# Check also master_user and master_host
+
--error ER_WRONG_STRING_LENGTH
change master to master_user='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
+
+# One more char to the master host naturally max ends up with
--error ER_WRONG_STRING_LENGTH
-change master to master_host='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';
+change master to master_host='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddE';
# 48-character cyrillic password should work all right
connection master;
diff --git a/mysql-test/suite/rpl/t/rpl_perfschema_applier_config.test b/mysql-test/suite/rpl/t/rpl_perfschema_applier_config.test
new file mode 100644
index 00000000000..5e7b1104ed5
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_perfschema_applier_config.test
@@ -0,0 +1,97 @@
+# ==== Purpose ====
+#
+# This test script serves as the functionality testing for the table
+# performance_schema.replication_applier_configuration. Test for ddl and dml
+# operations is a part of the perfschema suite. The ddl/dml tests are named:
+# 1) ddl_replication_applier_configuration.test and
+# 2) dml_replication_applier_configuration.test.
+#
+# The follwing scenarios are tested in this script:
+#
+# - Verify that output is same as SSS on a fresh slave.
+# - Verify that the value of this field is correct after STOP SLAVE.
+# - Verify that, when desired delay is set, the value is shown corectly.
+# - Verify that the value is preserved after STOP SLAVE.
+# - Verify that, when desired delay is reset, the value is shown corectly.
+#
+# ==== Related Worklog ====
+#
+# MDEV-16437: merge 5.7 P_S replication instrumentation and tables
+#
+
+source include/have_perfschema.inc;
+source include/have_binlog_format_mixed.inc;
+source include/master-slave.inc;
+
+let $assert_text= On master, the table should return an empty set.;
+let $assert_cond= count(*) = 0 from performance_schema.replication_applier_configuration;
+source include/assert.inc;
+
+--connection slave
+
+--echo
+--echo # Verify that SELECT works and produces an output similar to
+--echo # the corresponding field in SHOW SLAVE STATUS(SSS) in all scenarios.
+--echo
+
+--echo
+--echo # Verify that output is same as SSS on a fresh slave.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, SQL_Delay, 1);
+let $ps_value= query_get_value(select Desired_Delay from performance_schema.replication_applier_configuration, Desired_Delay, 1);
+let $assert_text= Value returned by SSS and PS table for Desired_Delay should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # Verify that the value of this field is correct after STOP SLAVE.
+--echo
+
+source include/stop_slave.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, SQL_Delay, 1);
+let $ps_value= query_get_value(select Desired_Delay from performance_schema.replication_applier_configuration, Desired_Delay, 1);
+let $assert_text= Value returned by SSS and PS table for Desired_Delay should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # Verify that, when desired delay is set, the value is shown corectly.
+--echo
+
+eval change master to master_delay= 2;
+source include/start_slave.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, SQL_Delay, 1);
+let $ps_value= query_get_value(select Desired_Delay from performance_schema.replication_applier_configuration, Desired_Delay, 1);
+let $assert_text= Value returned by SSS and PS table for Desired_Delay should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # Verify that the value is preserved after STOP SLAVE.
+--echo
+
+source include/stop_slave.inc;
+
+let $ss_value= query_get_value(SHOW SLAVE STATUS, SQL_Delay, 1);
+let $ps_value= query_get_value(select Desired_Delay from performance_schema.replication_applier_configuration, Desired_Delay, 1);
+let $assert_text= Value returned by SSS and PS table for Desired_Delay should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # Verify that, when desired delay is reset, the value is shown corectly.
+--echo
+
+eval change master to master_delay= 0;
+source include/start_slave.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, SQL_Delay, 1);
+let $ps_value= query_get_value(select Desired_Delay from performance_schema.replication_applier_configuration, Desired_Delay, 1);
+let $assert_text= Value returned by SSS and PS table for Desired_Delay should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_perfschema_applier_status.test b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status.test
new file mode 100644
index 00000000000..7a0e9cf9290
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status.test
@@ -0,0 +1,73 @@
+# ==== Purpose ====
+#
+# This test script serves as the functionality testing for the table
+# performance_schema.replication_applier_status. Test for ddl and dml
+# operations is a part of the perfschema suite. The ddl/dml tests are named:
+# 1) ddl_replication_applier_status.test and
+# 2) dml_replication_applier_status.test.
+#
+# The follwing scenarios are tested in this script:
+#
+# - Verify that output is same as SSS on a fresh slave.
+# - Verify that the value of this field is correct after STOP SLAVE.
+# - Remaining delay is not tested.
+# - Count_trnsaction is partially tested here making sure it can be queried.
+# More testing in rpl/include/rpl_deadlock.test
+#
+# ==== Related Worklog ====
+#
+# MDEV-16437: merge 5.7 P_S replication instrumentation and tables
+#
+
+source include/have_perfschema.inc;
+source include/have_binlog_format_mixed.inc;
+source include/master-slave.inc;
+
+let $assert_text= On master, the table should return an empty set.;
+let $assert_cond= count(*) = 0 from performance_schema.replication_applier_status;
+source include/assert.inc;
+
+--connection slave
+
+--echo
+--echo # Verify that SELECT works and produces an output similar to
+--echo # the corresponding field in SHOW SLAVE STATUS(SSS) in all scenarios.
+--echo
+
+--echo
+--echo # Verify that output is same as SSS on a fresh slave.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
+let $ps_value= query_get_value(select Service_State from performance_schema.replication_applier_status, Service_State, 1);
+let $assert_text= SSS shows Slave_SQL_Running as "Yes". So, Service_State from this PS table should be "ON".;
+let $assert_cond= "$sss_value" = "Yes" AND "$ps_value"= "ON";
+source include/assert.inc;
+
+let $ss_value= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+let $ps_value= query_get_value(select count_transactions_retries from performance_schema.replication_applier_status, count_transactions_retries, 1);
+let $assert_text= COUNT_TRANSACTION_RETRIES should be equal to Slave_retried_transactions.;
+let $assert_cond= "$ps_value"= "$ss_value";
+source include/assert.inc;
+
+--echo
+--echo # Verify that the fields show the correct values after STOP SLAVE.
+--echo
+
+source include/stop_slave.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
+let $ps_value= query_get_value(select Service_State from performance_schema.replication_applier_status, Service_State, 1);
+let $assert_text= SSS shows Slave_SQL_Running as "No". So, Service_State from this PS table should be "OFF".;
+let $assert_cond= "$sss_value" = "No" AND "$ps_value"= "OFF";
+source include/assert.inc;
+
+let $ss_value= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
+let $ps_value= query_get_value(select count_transactions_retries from performance_schema.replication_applier_status, count_transactions_retries, 1);
+let $assert_text= COUNT_TRANSACTION_RETRIES should be equal to Slave_retried_transactions.;
+let $assert_cond= "$ps_value"= "$ss_value";
+source include/assert.inc;
+
+source include/start_slave.inc;
+source include/rpl_end.inc;
+
diff --git a/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator-slave.opt b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator-slave.opt
new file mode 100644
index 00000000000..3f82baff598
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator-slave.opt
@@ -0,0 +1 @@
+--loose-innodb-lock-wait-timeout=1
diff --git a/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator.test b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator.test
new file mode 100644
index 00000000000..d4f185812e0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_coordinator.test
@@ -0,0 +1,317 @@
+# ==== Purpose ====
+#
+# This test script serves as the functionality testing for the table
+# performance_schema.replication_applier_status_by_coordinator. Test
+# for ddl and dml operations is a part of the perfschema suite.
+# The ddl/dml tests are named:
+# 1) ddl_replication_connection_configuration.test and
+# 2) dml_replication_connection_configuration.test.
+#
+# This test script does the following:
+
+# - Verify that SELECT works for every field in the table.
+# - The SELECT per field produces an output similar to the corresponding field
+# in SHOW SLAVE STATUS(SSS), if there is one.
+# - If there is no matching field in SSS, we resort to other method of testing
+# those fields.
+# - We perform all the testing on connection "slave". On master, the table
+# returns an empty set.
+#
+# The follwing scenarios are tested in this test script:
+#
+# - Test each field in STS on a fresh replication setup.
+# - Change configuration parameters using CHANGE MASTER TO and verify that
+# these changes are seen in SELECTs from PS table.
+# - Verify that, the change in values are correctly shown by the table.
+# - Verify that the values are preserved after STOP SLAVE, thread_id
+# changes to NULL and service_state changes to "Off".
+# - A priliminary test for Multi-threaded slave(MTS) mode.
+#
+# ==== Reference ====
+#
+# MDEV:16437: merge 5.7 P_S replication instrumentation and tables
+#
+--source include/have_innodb.inc
+--source include/have_binlog_format_mixed.inc
+--source include/have_perfschema.inc
+--source include/master-slave.inc
+
+call mtr.add_suppression("Error 'Table 'test.t' doesn't exist' on query.");
+
+let $assert_text= On master, the table should return an empty set.;
+let $assert_cond= count(*) = 0 from performance_schema.replication_applier_status_by_coordinator;
+source include/assert.inc;
+
+--connection slave
+
+--let $slave_param= Slave_SQL_Running_State
+--let $slave_param_value= Slave has read all relay log; waiting for more updates
+source include/wait_for_slave_param.inc;
+
+--echo
+--echo # Testing on fresh slave.
+--echo
+
+# To verify the correctness of thread_id field, we check for the name of
+# the thread.
+let $thread_name= `select name from performance_schema.threads where thread_id= (select Thread_Id from performance_schema.replication_applier_status_by_coordinator)`;
+let $assert_text= thread_name should should indicate sql thread.;
+let $assert_cond= "$thread_name" = "thread/sql/slave_sql";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
+let $ps_value= query_get_value(select Service_State from performance_schema.replication_applier_status_by_coordinator, Service_State, 1);
+let $assert_text= SSS shows Slave_IO_Running as "Yes". So, Service_State from this PS table should be "ON".;
+let $assert_cond= "$sss_value" = "Yes" AND "$ps_value"= "ON";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_coordinator, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
+let $ps_value= query_get_value(select Last_Error_Message from performance_schema.replication_applier_status_by_coordinator, Last_Error_Message, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Message should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Last_Error_Timestamp from performance_schema.replication_applier_status_by_coordinator, Last_Error_Timestamp, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Timestamp should be 0000-00-00 00:00:00.;
+let $assert_cond= "$ps_value" = "0000-00-00 00:00:00";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Last_Trans_Retry_Count from performance_schema.replication_applier_status_by_coordinator, Last_Trans_Retry_Count, 1);
+let $assert_text= Last_trans_retry_count should be 0.;
+let $assert_cond= "$ps_value"= 0;
+source include/assert.inc;
+
+--echo
+--echo # Cause an error in the SQL thread and check for the correctness of
+--echo # values in error number, message and timestamp fields.
+--echo
+
+# Cause an error in SQL thread.
+# 1) Ceate a table 't' at master, replicate at slave.
+# 2) Drop table 't' at slave only.
+# 3) Insert a value in table 't' on master and replicate on slave.
+# Since slave doesnt have table 't' anymore, SQL thread will show an error.
+
+--connection master
+use test;
+create table t(a int primary key);
+--source include/sync_slave_sql_with_master.inc
+drop table t;
+--connection master
+insert into t values(1);
+--connection slave
+let $slave_sql_errno=1146;
+source include/wait_for_slave_sql_error.inc;
+
+--echo
+--echo # Extract the error related fields from SSS and PS table and compare
+--echo # them for correctness.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_coordinator, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+# Availability of special characters like single quote and backtick character
+# makes it difficult use the assert.inc or mysql functionstrcmp().
+# So, the equality of error messages is checked using the below perl code.
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
+let $ps_value= query_get_value(select Last_Error_Message from performance_schema.replication_applier_status_by_coordinator, Last_Error_Message, 1);
+
+let PS_VALUE= $ps_value;
+let SSS_VALUE= $sss_value;
+
+perl;
+use strict;
+my $ps_value= $ENV{'PS_VALUE'};
+my $sss_value= $ENV{'SSS_VALUE'};
+
+if ($ps_value eq $sss_value)
+{
+ print "Value returned by SSS and PS table for Last_Error_Message is same.\n";
+}
+else
+{
+ print "Value returned by SSS and PS table for Last_Error_Message is NOT same\n";
+}
+EOF
+
+--echo
+--echo # Verify that the error fields are preserved after STOP SLAVE, thread_id
+--echo # changes to NULL and service_state changes to "Off".
+--echo
+
+--echo
+--echo # 1. Verify that thread_id changes to NULL and service_state to "off" on
+--echo # STOP SLAVE.
+--echo
+
+let $ps_value= query_get_value(select thread_id from performance_schema.replication_applier_status_by_coordinator, thread_id, 1);
+let $assert_text= After STOP SLAVE, thread_id should be NULL;
+let $assert_cond= "$ps_value" = "NULL";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
+let $ps_value= query_get_value(select Service_State from performance_schema.replication_applier_status_by_coordinator, Service_State, 1);
+let $assert_text= SSS shows Slave_SQL_Running as "No". So, Service_State from this PS table should be "OFF".;
+let $assert_cond= "$sss_value" = "No" AND "$ps_value"= "OFF";
+source include/assert.inc;
+
+--echo
+--echo # 2. Extract the error related fields from SSS and PS table and compare
+--echo # them. These fields should preserve their values.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_coordinator, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+# Availability of special characters like single quote and backtick character
+# makes it difficult use the assert.inc or mysql functionstrcmp().
+# So, the equality of error messages is checked using the below perl code.
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
+let $ps_value= query_get_value(select Last_Error_Message from performance_schema.replication_applier_status_by_coordinator, Last_Error_Message, 1);
+
+let PS_VALUE= $ps_value;
+let SSS_VALUE= $sss_value;
+
+perl;
+use strict;
+my $ps_value= $ENV{'PS_VALUE'};
+my $sss_value= $ENV{'SSS_VALUE'};
+
+if ($ps_value eq $sss_value)
+{
+ print "Value returned by SSS and PS table for Last_Error_Message is same.\n";
+}
+else
+{
+ print "Value returned by SSS and PS table for Last_Error_Message is NOT same\n";
+}
+EOF
+
+# End of perl code for testing the error message.
+
+--connection master
+drop table t;
+reset master;
+
+--connection slave
+--source include/stop_slave.inc
+reset slave;
+reset master;
+set @saved_slave_trans_retry_interval= @@GLOBAL.slave_transaction_retry_interval;
+set global slave_transaction_retry_interval=1;
+--source include/start_slave.inc
+# End of perl code for testing error message.
+
+
+--echo #
+--echo # Test Last_Trans_Retry_Count value.
+--echo #
+
+--connection master
+create table t1 (f int primary key) engine=innodb;
+insert into t1 values (10);
+--sync_slave_with_master
+connect (slave2,127.0.0.1,root,,test,$SLAVE_MYPORT,);
+--connection slave2
+begin;
+update t1 set f=40 where f=10;
+
+--connection master
+begin;
+update t1 set f=60 where f=10;
+commit;
+
+--connection slave
+--let $wait_condition= SELECT COUNT(*) > 0 FROM information_schema.processlist WHERE Info = "update t1 set f=60 where f=10"
+--source include/wait_condition.inc
+sleep 4 ;
+--connection slave2
+rollback;
+
+let $ps_value= query_get_value(select Last_Trans_Retry_Count from performance_schema.replication_applier_status_by_coordinator, Last_Trans_Retry_Count, 1);
+let $assert_text= Value returned by PS table for Last_Trans_Retry_Count should be > 0.;
+let $assert_cond= "$ps_value" > 0;
+source include/assert.inc;
+
+--connection master
+drop table t1;
+--sync_slave_with_master
+--disconnect slave2
+set global slave_transaction_retry_interval=@saved_slave_trans_retry_interval;
+
+source include/stop_slave.inc;
+
+--echo
+--echo # Restarting servers and setting up MTS now. Since, SQL thread and
+--echo # coordinator are the same and follow same code path, we can skip
+--echo # testing for coordinator thread in all scenarios. Testing for one
+--echo # scenario is enough.
+--echo
+
+--let $rpl_server_number= 1
+--source include/rpl_restart_server.inc
+
+--let $rpl_server_number= 2
+--source include/rpl_restart_server.inc
+
+--connection slave
+replace_result $MASTER_MYPORT MASTER_MYPORT;
+replace_column 2 ###;
+eval change master to
+ master_host='127.0.0.1',
+ master_port=$MASTER_MYPORT,
+ master_user='root';
+SET @save.slave_parallel_workers=@@global.slave_parallel_workers;
+SET @@global.slave_parallel_workers=1;
+# to avoid warnings
+set @save.slave_transaction_retries= @@global.slave_transaction_retries;
+source include/start_slave.inc;
+
+--let $slave_param= Slave_SQL_Running_State
+--let $slave_param_value= Slave has read all relay log; waiting for more updates
+source include/wait_for_slave_param.inc;
+
+# To verify the correctness of thread_id field, we check for the name of
+# the thread.
+let $thread_name= `select name from performance_schema.threads where thread_id= (select Thread_Id from performance_schema.replication_applier_status_by_coordinator)`;
+let $assert_text= thread_name should should indicate sql thread.;
+let $assert_cond= "$thread_name" = "thread/sql/slave_sql";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
+let $ps_value= query_get_value(select Service_State from performance_schema.replication_applier_status_by_coordinator, Service_State, 1);
+let $assert_text= SSS shows Slave_SQL_Running as "Yes". So, Service_State from this PS table should be "ON".;
+let $assert_cond= "$sss_value" = "Yes" AND "$ps_value"= "ON";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_coordinator, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # Cleanup.
+--echo
+
+source include/stop_slave.inc;
+set @@global.slave_parallel_workers= @save.slave_parallel_workers;
+set @@global.slave_transaction_retries= @save.slave_transaction_retries;
+source include/start_slave.inc;
+
+source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_worker.test b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_worker.test
new file mode 100644
index 00000000000..857979d00c4
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_perfschema_applier_status_by_worker.test
@@ -0,0 +1,257 @@
+# ==== Purpose ====
+#
+# This test script serves as the functionality testing for the table
+# performance_schema.replication_applier_status_by_worker. Test
+# for ddl and dml operations is a part of the perfschema suite.
+# The ddl/dml tests are named:
+# 1) ddl_replication_applier_status_by_worker.test and
+# 2) dml_replication_applier_status_by_worker.test.
+#
+# This test script does the following:
+
+# - Verify that SELECT works for every field in the table.
+# - The SELECT per field produces an output similar to the corresponding field
+# in SHOW SLAVE STATUS(SSS), if there is one.
+# - If there is no matching field in SSS, we resort to other method of testing
+# those fields.
+# - We perform all the testing on connection "slave". On master, the table
+# returns an empty set.
+#
+# The follwing scenarios are tested in this test script:
+#
+# - Test each field on a fresh replication setup.
+# - Introduce error in worker thread and check for the correctness of error
+# error number, message and timestamp.
+# - Verify that, the change in values are correctly shown by the table.
+# - Verify that the values are preserved after STOP SLAVE.
+# - Set up replication in gtid-mode=on and test 'Last_Seen_Transaction' field.
+# - Verify that the value in 'Last_Seen_Transaction' field is preserved after
+# STOP SLAVE.
+#
+# ==== Related Bugs and Worklogs ====
+#
+# MDEV-20220: Merge 5.7 P_S replication table 'replication_applier_status_by_worker
+#
+--source include/have_perfschema.inc
+--source include/have_binlog_format_mixed.inc
+--source include/have_innodb.inc
+--source include/master-slave.inc
+
+
+let $assert_text= On master, the table should return an empty set.;
+let $assert_cond= count(*) = 0 from performance_schema.replication_applier_status_by_worker;
+source include/assert.inc;
+
+--echo
+--echo # Setup MTS and perform testing on a fresh slave.
+--echo
+--connection slave
+call mtr.add_suppression("Error 'Table 'test.t' doesn't exist' on query.");
+source include/stop_slave.inc;
+set @save_slave_parallel_workers= @@global.slave_parallel_workers;
+# to avoid warnings
+set @save_slave_transaction_retries= @@global.slave_transaction_retries;
+RESET SLAVE ALL;
+evalp CHANGE MASTER 'slave1' TO MASTER_USER='root',MASTER_PORT=$MASTER_MYPORT, MASTER_HOST='127.0.0.1', MASTER_USE_GTID=slave_pos;
+SET default_master_connection='slave1';
+SET @@global.slave_parallel_workers=1;
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+START SLAVE 'slave1';
+--source include/wait_for_slave_to_start.inc
+
+let $ps_value= query_get_value(select channel_name from performance_schema.replication_applier_status_by_worker, channel_name, 1);
+let $assert_text= Channel_name will be empty for a worker when it has not processed any transaction;
+let $assert_cond= "$ps_value"= "";
+source include/assert.inc;
+
+# To verify the correctness of thread_id field, we check for the name of
+# the thread.
+let $thread_name= `select name from performance_schema.threads where thread_id= (select Thread_Id from performance_schema.replication_applier_status_by_worker)`;
+let $assert_text= thread_name should should indicate worker thread.;
+let $assert_cond= "$thread_name" = "thread/sql/rpl_parallel_thread";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Service_State from performance_schema.replication_applier_status_by_worker, Service_State, 1);
+let $assert_text= Service_State should be "ON" on a fresh slave server.;
+let $assert_cond= "$ps_value"= "ON";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Last_Seen_Transaction from performance_schema.replication_applier_status_by_worker, Last_Seen_Transaction, 1);
+let $assert_text= Last_Seen_Transaction should show "" if no transaction applierd;
+let $assert_cond= "$ps_value" = "";
+source include/assert.inc;
+
+--connection master
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+--source include/save_master_gtid.inc
+
+connection slave;
+--source include/sync_with_master_gtid.inc
+
+let $ps_value= query_get_value(select channel_name from performance_schema.replication_applier_status_by_worker, channel_name, 1);
+let $assert_text= Channel_name must be slave1;
+let $assert_cond= "$ps_value"= "slave1";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Last_Seen_Transaction from performance_schema.replication_applier_status_by_worker, Last_Seen_Transaction, 1);
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Gtid_IO_Pos, 1);
+let $assert_text= Last_Seen_Transaction should show $sss_value;
+let $assert_cond= "$ps_value" = "$sss_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_worker, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
+let $ps_value= query_get_value(select Last_Error_Message from performance_schema.replication_applier_status_by_worker, Last_Error_Message, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Message should both be empty.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Last_Error_Timestamp from performance_schema.replication_applier_status_by_worker, Last_Error_Timestamp, 1);
+let $assert_text= Value returned by PS table for Last_Error_Timestamp should be 0000-00-00 00:00:00.;
+let $assert_cond= "$ps_value" = "0000-00-00 00:00:00";
+source include/assert.inc;
+
+--connection master
+sleep 1;
+--connection slave
+let $ps_value= query_get_value(select worker_idle_time from performance_schema.replication_applier_status_by_worker, worker_idle_time, 1);
+let $assert_text= Value returned by PS table for worker_idle_time should be >= 1;
+let $assert_cond= "$ps_value" >= "1";
+source include/assert.inc;
+
+--connection master
+DROP TABLE t1;
+--save_master_pos
+
+--connection slave
+--sync_with_master 0,'slave1'
+
+STOP SLAVE 'slave1';
+--source include/wait_for_slave_to_stop.inc
+RESET SLAVE ALL;
+SET default_master_connection='';
+evalp CHANGE MASTER TO MASTER_USER='root', MASTER_HOST='127.0.0.1',MASTER_PORT=$MASTER_MYPORT;
+--source include/start_slave.inc
+
+--echo
+--echo # Introduce an error in the worker thread and check for the correctness
+--echo # of error number, message and timestamp fields.
+--echo
+
+# Cause an error in Worker thread.
+# 1) Create a table 't' at master, replicate at slave.
+# 2) Drop table 't' at slave only.
+# 3) Insert a value in table 't' on master and replicate on slave.
+# Since slave doesnt have table 't' anymore, worker thread will report an error.
+
+--connection master
+use test;
+create table t(a int primary key);
+sync_slave_with_master;
+drop table t;
+--connection master
+insert into t values(1);
+--connection slave
+let $slave_sql_errno=1146;
+source include/wait_for_slave_sql_error.inc;
+
+--echo
+--echo # Extract the error related fields from SSS and PS table and compare
+--echo # them for correctness.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_worker, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--disable_query_log
+--replace_regex /master-bin.[0-9]+/FILENAME/ /end_log_pos [0-9]+/end_log_pos POSITION/
+select Last_Error_Message from performance_schema.replication_applier_status_by_worker;
+--enable_query_log
+
+--echo
+--echo # Verify that the error fields are preserved after STOP SLAVE.
+--echo
+
+--echo
+--echo # 1. Verify that thread_id changes to NULL and service_state to "off" on
+--echo # STOP SLAVE.
+--echo
+
+let $ps_value= query_get_value(select thread_id from performance_schema.replication_applier_status_by_worker, thread_id, 1);
+let $assert_text= After STOP SLAVE, thread_id should be NULL;
+let $assert_cond= "$ps_value" = "NULL";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select service_state from performance_schema.replication_applier_status_by_worker, service_state, 1);
+let $assert_text= So, Service_State after STOP SLAVE should be "OFF".;
+let $assert_cond= "$ps_value"= "OFF";
+source include/assert.inc;
+
+--echo
+--echo # 2. Extract the worker_id and the error related fields from SSS and PS
+--echo # table and compare them. These fields should preserve their values.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+let $ps_value= query_get_value(select Last_Error_Number from performance_schema.replication_applier_status_by_worker, Last_Error_Number, 1);
+let $assert_text= Value returned by SSS and PS table for Last_Error_Number should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--disable_query_log
+--replace_regex /master-bin.[0-9]+/FILENAME/ /end_log_pos [0-9]+/end_log_pos POSITION/
+select Last_Error_Message from performance_schema.replication_applier_status_by_worker;
+--enable_query_log
+
+# The timestamp format is slightly different in SSS and PS.
+# SSS => YYMMDD HH:MM:SS
+# PS => YYYY-MM-DD HH:MM:SS
+# To match the two, we get rid of hyphons from PS output and first two digits
+# the year field so that it can be matched directly.
+
+#--- TODO: Can we include Last_SQL_Error_Timestamp as part of SSS
+
+#let $sss_value= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error_Timestamp, 1);
+#let $ps_value= query_get_value(select Last_Error_Timestamp from performance_schema.replication_applier_status_by_worker, Last_Error_Timestamp, 1);
+#let $ps_value_without_hyphons= `SELECT REPLACE("$ps_value", '-', '')`;
+#let $ps_value_in_sss_format= `select substring("$ps_value_without_hyphons", 3)`;
+#let $assert_text= Value returned by SSS and PS table for Last_Error_Timestamp should be same.;
+#let $assert_cond= "$sss_value" = "$ps_value_in_sss_format";
+#source include/assert.inc;
+
+--source include/stop_slave.inc
+RESET SLAVE;
+--connection master
+DROP TABLE t;
+RESET MASTER;
+
+--echo
+--echo # Verify that number of rows in 'replication_applier_status_by_worker' table match with
+--echo # number of slave_parallel_workers.
+--echo
+
+--connection slave
+SET @@global.slave_parallel_workers=4;
+--source include/start_slave.inc
+--let $assert_text= On slave, the table should return 4 rows.
+--let $assert_cond= count(*) = 4 from performance_schema.replication_applier_status_by_worker
+--source include/assert.inc
+--source include/stop_slave.inc
+
+--echo
+--echo # Cleanup.
+--echo
+
+set @@global.slave_parallel_workers= @save_slave_parallel_workers;
+set @@global.slave_transaction_retries= @save_slave_transaction_retries;
+source include/start_slave.inc;
+
+source include/rpl_end.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_perfschema_connect_config.test b/mysql-test/suite/rpl/t/rpl_perfschema_connect_config.test
new file mode 100644
index 00000000000..7b2bf8d57d0
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_perfschema_connect_config.test
@@ -0,0 +1,331 @@
+# ==== Purpose ====
+#
+# This test script serves as the functionality testing for the table
+# performance_schema.replication_connection_configuration. Test for ddl and dml
+# operations is a part of the perfschema suite. The ddl/dml tests are named:
+# 1) ddl_replication_connection_configuration.test and
+# 2) dml_replication_connection_configuration.test.
+#
+# This test script does the following:
+
+# - On master, the table returns an empty set.
+# - We perform all other testing on connection "slave". So, the below points
+# are checked on slave only.
+# - Verify that SELECT works for every field in the table.
+# - The SELECT per field produces an output similar to the corresponding field
+# in SHOW SLAVE STATUS(SSS), if there is one.
+# - If there is no matching field in SSS, we resort to other method of testing
+# those fields.
+#
+# The follwing scenarios are tested:
+#
+# - Test each field on a fresh replication setup.
+# - Change configuration parameters using CHANGE MASTER TO and verify that
+# these changes are seen in SELECTs from PS table.
+# - Verify that, the change in values are correctly shown by the table.
+# - Verify different values for MASTER_USE_GTID are present in table.
+# - Verify IGNORE_SERVER_IDS, DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS
+#
+# ==== Related Worklog ====
+#
+# MDEV-16437: merge 5.7 P_S replication instrumentation and tables
+#
+
+source include/have_ssl_communication.inc;
+source include/have_binlog_format_mixed.inc;
+source include/have_perfschema.inc;
+source include/master-slave.inc;
+
+--let $assert_text= On master, the table should return an empty set.
+--let $assert_cond= count(*) = 0 from performance_schema.replication_connection_configuration
+--source include/rpl_assert.inc
+
+--connection slave
+
+--echo
+--echo # Verify that SELECT works for every field and produces an output
+--echo # similar to the corresponding field in SHOW SLAVE STATUS(SSS).
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
+let $ps_value= query_get_value(select Host from performance_schema.replication_connection_configuration, Host, 1);
+let $assert_text= Value returned by SSS and PS table for Host should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_Port, 1);
+let $ps_value= query_get_value(select Port from performance_schema.replication_connection_configuration, Port, 1);
+let $assert_text= Value returned by SSS and PS table for Port should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_User, 1);
+let $ps_value= query_get_value(select User from performance_schema.replication_connection_configuration, User, 1);
+let $assert_text= Value returned by SSS and PS table for User should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Using_Gtid, 1);
+let $ps_value= query_get_value(select Using_Gtid from performance_schema.replication_connection_configuration, Using_Gtid, 1);
+let $assert_text= Value returned by SSS and PS table for Using_Gtid should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Allowed, 1);
+let $ps_value= query_get_value(select SSL_Allowed from performance_schema.replication_connection_configuration, SSL_Allowed, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Allowed should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_CA_File, 1);
+let $ps_value= query_get_value(select SSL_CA_File from performance_schema.replication_connection_configuration, SSL_CA_File, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_CA_File should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_CA_Path, 1);
+let $ps_value= query_get_value(select SSL_CA_Path from performance_schema.replication_connection_configuration, SSL_CA_Path, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_CA_Path should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Cert, 1);
+let $ps_value= query_get_value(select SSL_Certificate from performance_schema.replication_connection_configuration, SSL_Certificate, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Certificate should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Cipher, 1);
+let $ps_value= query_get_value(select SSL_Cipher from performance_schema.replication_connection_configuration, SSL_Cipher, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Cipher should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Key, 1);
+let $ps_value= query_get_value(select SSL_Key from performance_schema.replication_connection_configuration, SSL_Key, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Key should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Verify_Server_Cert, 1);
+let $ps_value= query_get_value(select SSL_Verify_Server_Certificate from performance_schema.replication_connection_configuration, SSL_Verify_Server_Certificate, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Verify_Server_Certificate should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Crl, 1);
+let $ps_value= query_get_value(select SSL_Crl_File from performance_schema.replication_connection_configuration, SSL_Crl_File, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Crl_File should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Crlpath, 1);
+let $ps_value= query_get_value(select SSL_Crl_Path from performance_schema.replication_connection_configuration, SSL_Crl_Path, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Crl_Path should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Connect_Retry, 1);
+let $ps_value= query_get_value(select Connection_Retry_Interval from performance_schema.replication_connection_configuration, Connection_Retry_Interval, 1);
+let $assert_text= Value returned by SSS and PS table for Connection_Retry_Interval should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $ps_value= query_get_value(select Connection_Retry_Count from performance_schema.replication_connection_configuration, Connection_Retry_Count, 1);
+let $assert_text= Value returned by PS table for Connection_Retry_Count should be 10.; # master-retry-count=10, as part of default my.cnf used by MTR
+let $assert_cond= "$ps_value" = 10;
+source include/assert.inc;
+
+--echo
+--echo # Heartbeat_Interval is part of I_S and P_S. We will compare the
+--echo # two to make sure both match.
+--echo
+
+let $is_value= query_get_value(select Variable_Value from information_schema.GLOBAL_STATUS where variable_name= 'Slave_heartbeat_period', Variable_Value, 1);
+let $ps_value= query_get_value(select Heartbeat_Interval from performance_schema.replication_connection_configuration, Heartbeat_Interval, 1);
+let $assert_text= Value returned by IS and PS table for Heartbeat_Interval should be same.;
+let $assert_cond= $is_value = $ps_value;
+source include/assert.inc;
+
+--echo
+--echo # Change configuration parameters and verify that these changes
+--echo # are shown correctly by SELECTs from PS table.
+--echo
+
+# create a user for replication that requires ssl encryption
+--connection master
+create user replssl@localhost;
+grant replication slave on *.* to replssl@localhost require ssl;
+--source include/sync_slave_sql_with_master.inc
+
+# Setup slave to use SSL for connection to master
+--source include/stop_slave.inc
+replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR;
+replace_column 2 ####;
+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';
+--source include/start_slave.inc
+
+--connection slave
+--echo
+--echo # Checking SSL parameters, they were empty in tests done in the
+--echo # previous section.
+--echo
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Allowed, 1);
+let $ps_value= query_get_value(select SSL_Allowed from performance_schema.replication_connection_configuration, SSL_Allowed, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Allowed should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_CA_File, 1);
+let $ps_value= query_get_value(select SSL_CA_File from performance_schema.replication_connection_configuration, SSL_CA_File, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_CA_File should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_CA_Path, 1);
+let $ps_value= query_get_value(select SSL_CA_Path from performance_schema.replication_connection_configuration, SSL_CA_Path, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_CA_Path should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Cert, 1);
+let $ps_value= query_get_value(select SSL_Certificate from performance_schema.replication_connection_configuration, SSL_Certificate, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Certificate should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Cipher, 1);
+let $ps_value= query_get_value(select SSL_Cipher from performance_schema.replication_connection_configuration, SSL_Cipher, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Cipher should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Key, 1);
+let $ps_value= query_get_value(select SSL_Key from performance_schema.replication_connection_configuration, SSL_Key, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Key should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Master_SSL_Verify_Server_Cert, 1);
+let $ps_value= query_get_value(select SSL_Verify_Server_Certificate from performance_schema.replication_connection_configuration, SSL_Verify_Server_Certificate, 1);
+let $assert_text= Value returned by SSS and PS table for SSL_Verify_Server_Certificate should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--connection master
+drop user replssl@localhost;
+--sync_slave_with_master
+--source include/stop_slave.inc
+
+CHANGE MASTER TO
+ master_host= '127.0.0.1',
+ master_user= 'root',
+ master_password= '',
+ master_ssl_ca= '',
+ master_ssl_cert= '',
+ master_ssl_key= '',
+ master_ssl_verify_server_cert=0,
+ master_ssl=0,
+ master_use_gtid=no;
+--source include/start_slave.inc
+
+--echo
+--echo # Test with different MASTER_USE_GTID values
+--echo
+
+--echo
+--echo # 1) Test for MASTER_USE_GTID=NO
+--echo
+--source include/stop_slave.inc
+replace_column 2 ####;
+change master to
+ master_user = 'root',
+ master_use_gtid = NO;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Using_Gtid, 1);
+let $ps_value= query_get_value(select Using_Gtid from performance_schema.replication_connection_configuration, Using_Gtid, 1);
+let $assert_text= Value returned by SSS and PS table for Using_Gtid should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # 2) Test for Auto_position= CURRENT_POS.
+--echo
+replace_column 2 ####;
+change master to
+ master_user = 'root',
+ master_use_gtid= CURRENT_POS;
+
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Using_Gtid, 1);
+let $ps_value= query_get_value(select Using_Gtid from performance_schema.replication_connection_configuration, Using_Gtid, 1);
+let $assert_text= Value returned by SSS and PS table for Using_Gtid should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # 3) Test for Auto_position= SLAVE_POS
+--echo
+replace_column 2 ####;
+change master to
+ master_user = 'root',
+ master_use_gtid= SLAVE_POS;
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Using_Gtid, 1);
+let $ps_value= query_get_value(select Using_Gtid from performance_schema.replication_connection_configuration, Using_Gtid, 1);
+let $assert_text= Value returned by SSS and PS table for Using_Gtid should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+
+--echo
+--echo # Test INOGRE_SERVER_IDS
+--echo
+
+--echo
+--echo # 1) Test for IGNORE_SERVER_IDS= (10, 100);
+--echo
+
+--connection slave
+change master to IGNORE_SERVER_IDS= (10, 100);
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Server_Ids, 1);
+let $ps_value= query_get_value(select Ignore_Server_Ids from performance_schema.replication_connection_configuration, Ignore_Server_Ids, 1);
+let $assert_text= Value returned by SSS and PS table for Ignore_server_ids should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+CHANGE MASTER TO IGNORE_SERVER_IDS=();
+
+--echo
+--echo # 2) Test for IGNORE_DOMAIN_IDS(2)
+--echo
+
+CHANGE MASTER TO IGNORE_DOMAIN_IDS=(2), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1);
+let $ps_value= query_get_value(select Repl_Ignore_Domain_Ids from performance_schema.replication_connection_configuration, Repl_Ignore_Domain_Ids, 1);
+let $assert_text= Value returned by SSS and PS table for Replicate_Ignore_Domain_Ids should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.inc;
+--source include/stop_slave.inc
+
+--echo
+--echo # 3) Test for DO_DOMAIN_IDS(1)
+--echo
+
+CHANGE MASTER TO DO_DOMAIN_IDS=(1), IGNORE_DOMAIN_IDS=(), MASTER_USE_GTID=slave_pos;
+--source include/start_slave.inc
+let $sss_value= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
+let $ps_value= query_get_value(select Repl_Do_Domain_Ids from performance_schema.replication_connection_configuration, Repl_Do_Domain_Ids, 1);
+let $assert_text= Value returned by SSS and PS table for Replicate_Do_Domain_Ids should be same.;
+let $assert_cond= "$sss_value" = "$ps_value";
+source include/assert.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_rbr_monitor.test b/mysql-test/suite/rpl/t/rpl_rbr_monitor.test
new file mode 100644
index 00000000000..2bc1f9cd482
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_rbr_monitor.test
@@ -0,0 +1,76 @@
+#
+# Mdev-7409 On RBR, extend the PROCESSLIST info to include at least the name of
+# the recently used table
+# This testcase create Write_rows_log_event , Update_rows_log_event and
+# Delete_rows_log_event which is blocked on slave and we will check whether
+# whether processinfo includes table name or not.
+--source include/have_innodb.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+--enable_connect_log
+
+--connection master
+create table t1(a int primary key) engine=innodb;
+
+--sync_slave_with_master
+--connection slave1
+begin;
+insert into t1(a) values(1);
+--connection master
+select * from t1;
+
+insert into t1(a) values(1);
+--save_master_pos
+
+--echo #monitoring write rows
+--connection slave
+
+
+let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE DB = 'test' AND STATE LIKE "Write_rows_log_event::write_row(%) on table %";
+--source include/wait_condition.inc
+
+
+--echo #monitoring update rows
+--connection slave1
+rollback;
+--sync_with_master
+begin;
+select a from t1 for update;
+
+--connection master
+update t1 set a = a + 1 ;
+--save_master_pos
+
+--connection slave
+let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE DB = 'test' AND STATE LIKE "Update_rows_log_event::find_row(%) on table %";
+--source include/wait_condition.inc
+
+--echo #monitoring delete rows
+--connection slave1
+rollback;
+--sync_with_master
+begin;
+select * from t1 for update;
+
+--connection master
+delete from t1;
+--save_master_pos
+
+--connection slave
+select * from t1;
+let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE DB = 'test' AND STATE LIKE "Delete_rows_log_event::find_row(%) on table %";
+--source include/wait_condition.inc
+
+#CleanUp
+--connection slave1
+rollback;
+--sync_with_master
+
+--connection master
+drop table t1;
+--sync_slave_with_master
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc b/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc
new file mode 100644
index 00000000000..01b0d0e5050
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_crash.inc
@@ -0,0 +1,112 @@
+if ($failover_to_slave)
+{
+ --let $server_to_crash=1
+ --let $server_to_promote=2
+ --let $new_master_port=$SERVER_MYPORT_2
+ --let $client_port=$SERVER_MYPORT_1
+
+ --connect (conn_client,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+}
+if (!$failover_to_slave)
+{
+ --let $server_to_crash=2
+ --let $server_to_promote=1
+ --let $new_master_port=$SERVER_MYPORT_1
+ --let $client_port=$SERVER_MYPORT_2
+
+ --connect (conn_client,127.0.0.1,root,,test,$SERVER_MYPORT_2,)
+}
+
+
+# Hold insert after write to binlog and before "run_commit_ordered" in engine
+
+
+if ($case == 1)
+{
+ SET DEBUG_SYNC= "commit_after_release_LOCK_after_binlog_sync SIGNAL con1_ready WAIT_FOR con1_go";
+ --send_eval $query_to_crash
+ --connection server_$server_to_crash
+ SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+ --source include/kill_mysqld.inc
+}
+
+# complicate recovery with an extra binlog file
+if ($case == 2)
+{
+ SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+ --send_eval $query_to_crash
+ --connect (conn_client_2,127.0.0.1,root,,test,$SERVER_MYPORT_2,)
+ # use the same signal with $query_to_crash
+ SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+ SET GLOBAL debug_dbug="d,Notify_binlog_EOF";
+ --send_eval $query2_to_crash
+ --connection server_$server_to_crash
+ SET DEBUG_SYNC= "now WAIT_FOR eof_reached";
+ --source include/kill_mysqld.inc
+}
+
+# complicate recovery with an extra binlog file
+if ($case == 3)
+{
+ SET DEBUG_SYNC= "commit_before_get_LOCK_commit_ordered SIGNAL con1_ready WAIT_FOR con1_go";
+ --send_eval $query_to_crash
+ --connect (conn_client_3,127.0.0.1,root,,test,$SERVER_MYPORT_1,)
+ SET DEBUG_SYNC= "now WAIT_FOR con1_ready";
+ # use the same signal with $query_to_crash
+ SET DEBUG_SYNC= "commit_before_update_binlog_end_pos SIGNAL con3_ready WAIT_FOR con1_go";
+ --send_eval $query2_to_crash
+ --connection server_$server_to_crash
+ SET DEBUG_SYNC= "now WAIT_FOR con3_ready";
+ --source include/kill_mysqld.inc
+}
+
+--connection server_$server_to_promote
+--let $slave_param= Slave_SQL_Running_State
+--let $slave_param_value= Slave has read all relay log; waiting for more updates
+source include/wait_for_slave_param.inc;
+
+--error 2003
+--source include/stop_slave.inc
+
+--let $assert_cond= COUNT(*) = $expected_rows_on_slave FROM t1
+--let $assert_text= Table t1 should have $expected_rows_on_slave rows.
+--source include/assert.inc
+
+SELECT @@GLOBAL.gtid_current_pos;
+
+--let $restart_parameters=--skip-slave-start=1 --rpl-semi-sync-slave-enabled=1
+--let $allow_rpl_inited=1
+--source include/start_mysqld.inc
+--connection server_$server_to_crash
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+
+--let $assert_cond= COUNT(*) = $expected_rows_on_master FROM t1
+--let $assert_text= Table t1 should have $expected_rows_on_master rows.
+--source include/assert.inc
+
+# Check error log for correct messages.
+let $log_error_ = $MYSQLTEST_VARDIR/log/mysqld.$server_to_crash.err;
+--let SEARCH_FILE=$log_error_
+--let SEARCH_PATTERN=$log_search_pattern
+--source include/search_pattern_in_file.inc
+
+--disconnect conn_client
+
+#
+# FAIL OVER now to new master
+#
+--connection server_$server_to_promote
+set global rpl_semi_sync_master_enabled = 1;
+set global rpl_semi_sync_master_wait_point=AFTER_SYNC;
+
+--connection server_$server_to_crash
+--let $master_port=$SERVER_MYPORT_2
+if (`select $server_to_crash = 2`)
+{
+ --let $master_port=$SERVER_MYPORT_1
+}
+evalp CHANGE MASTER TO master_host='127.0.0.1', master_port=$new_master_port, master_user='root', master_use_gtid=SLAVE_POS;
+set global rpl_semi_sync_slave_enabled = 1;
+set @@global.gtid_slave_pos=@@global.gtid_binlog_pos;
+--source include/start_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.cnf b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.cnf
new file mode 100644
index 00000000000..8c5e63624c8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.cnf
@@ -0,0 +1,13 @@
+!include suite/rpl/rpl_1slave_base.cnf
+!include include/default_client.cnf
+
+
+[mysqld.1]
+log-slave-updates
+gtid-strict-mode=1
+sync-binlog=1
+
+[mysqld.2]
+log-slave-updates
+gtid-strict-mode=1
+sync-binlog=1
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test
new file mode 100644
index 00000000000..0505e88d758
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_fail_over.test
@@ -0,0 +1,212 @@
+# ==== References ====
+#
+# MDEV-21117: recovery for --rpl-semi-sync-slave-enabled server
+#
+
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+# Initial slave
+--connection server_2
+--source include/stop_slave.inc
+
+# Initial master
+--connection server_1
+RESET MASTER;
+SET @@global.max_binlog_size= 4096;
+
+--connection server_2
+RESET MASTER;
+SET @@global.max_binlog_size= 4096;
+set @@global.rpl_semi_sync_slave_enabled = 1;
+set @@global.gtid_slave_pos = "";
+CHANGE MASTER TO master_use_gtid= slave_pos;
+--source include/start_slave.inc
+
+--connection server_1
+ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
+set @@global.rpl_semi_sync_master_enabled = 1;
+set @@global.rpl_semi_sync_master_wait_point=AFTER_SYNC;
+
+CREATE TABLE t1 (a INT PRIMARY KEY, b MEDIUMTEXT) ENGINE=Innodb;
+INSERT INTO t1 VALUES (1, 'dummy1');
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+--connection server_1
+--let $case = 1
+--echo #
+--echo # Case:$case
+--echo #
+--echo # CRASH the original master, and FAILOVER to the new
+# value 1 for server id 1 -> 2 failover
+--let $failover_to_slave=1
+--let $query_to_crash= INSERT INTO t1 VALUES (2, REPEAT("x", 4100))
+--echo # $query_to_crash
+--echo # Row - 2 will be in master's binlog but not committed, gets replicated
+--echo # to slave and applied. On crash master should have 1 row and slave
+--echo # should have 2 rows.
+--echo #
+--echo # Expected State post crash:
+--echo #=================================================================
+--echo # Master | Slave |
+--echo # 0-1-4 (Not committed) | 0-1-4 (Received through semi-sync |
+--echo # | replication and applied) |
+--echo #=================================================================
+--let $log_search_pattern=truncated binlog file:.*master.*000001
+--let $expected_rows_on_master= 1
+--let $expected_rows_on_slave= 2
+--source rpl_semi_sync_crash.inc
+
+--echo #
+--echo # Server_2 promoted as master will send 0-1-4 to new slave Server_1
+--echo #
+--connection server_2
+--let $rows_so_far=3
+--eval INSERT INTO t1 VALUES ($rows_so_far, 'dummy3')
+--save_master_pos
+--echo # The gtid state on current master must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+
+--connection server_1
+--sync_with_master
+--eval SELECT COUNT(*) = $rows_so_far as 'true' FROM t1
+--echo # ... the gtid states on the slave:
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+
+--connection server_2
+--let $case = 2
+--echo #
+--echo # Case:$case
+--echo #
+--echo # CRASH the new master, and FAILOVER back to the original
+# value 0 for the reverse server id 2 -> 1 failover
+--let $failover_to_slave=0
+--let $query_to_crash = INSERT INTO t1 VALUES (4, REPEAT("x", 4100))
+--let $query2_to_crash= INSERT INTO t1 VALUES (5, REPEAT("x", 4100))
+--echo # $query_to_crash
+--echo # $query2_to_crash
+--echo # Rows 4 and 5 will be in master's binlog but not committed, they get
+--echo # replicated to slave and applied. On crash master should have 3 rows
+--echo # and slave should have 5 rows.
+--echo #
+--echo # Expected State post crash:
+--echo #=================================================================
+--echo # Master | Slave |
+--echo # 0-2-6 (Not commited) | 0-2-6 (Received through semi-sync |
+--echo # | replication and applied) |
+--echo # 0-2-7 (Not commited) | 0-2-7 (Received through semi-sync |
+--echo # | replication and applied) |
+--echo #=================================================================
+--let $log_search_pattern=truncated binlog file:.*slave.*000002
+--let $expected_rows_on_master= 3
+--let $expected_rows_on_slave= 5
+--source rpl_semi_sync_crash.inc
+
+--echo #
+--echo # Server_1 promoted as master will send 0-2-6 and 0-2-7 to slave Server_2
+--echo #
+--connection server_1
+--let $rows_so_far=6
+--eval INSERT INTO t1 VALUES ($rows_so_far, 'dummy6')
+--save_master_pos
+--echo # The gtid state on current master must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+
+--connection server_2
+--sync_with_master
+--eval SELECT COUNT(*) = $rows_so_far as 'true' FROM t1
+--echo # ... the gtid states on the slave:
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+
+--let $diff_tables=server_1:t1, server_2:t1
+--source include/diff_tables.inc
+
+--connection server_1
+--let $case = 3
+--echo #
+--echo # Case:$case
+--echo #
+--echo # CRASH the master and FAILOVER to slave
+--let $failover_to_slave=1
+--let $query_to_crash = INSERT INTO t1 VALUES (7, REPEAT("x", 4100))
+--let $query2_to_crash= INSERT INTO t1 VALUES (8, REPEAT("x", 4100))
+--echo # $query_to_crash
+--echo # $query2_to_crash
+--echo # Rows 7 and 8 will be in master's binlog but not committed, only 7
+--echo # gets replicated to slave and applied. On crash master should have 6
+--echo # rows and slave should have 7 rows.
+--echo #
+--echo # Expected State post crash:
+--echo #=================================================================
+--echo # Master | Slave |
+--echo # 0-1-9 (Not commited) | 0-1-9 (Received through semi-sync |
+--echo # | replication and applied) |
+--echo # 0-1-10 (Not commited - | |
+--echo # never sent to slave) | |
+--echo #=================================================================
+--let $log_search_pattern=truncated binlog file:.*master.*000003
+--let $expected_rows_on_master= 6
+--let $expected_rows_on_slave= 7
+--source rpl_semi_sync_crash.inc
+
+--echo #
+--echo # Server_2 promoted as master will send 0-1-9 to slave Server_1
+--echo #
+--connection server_2
+--let $rows_so_far=8
+--eval INSERT INTO t1 VALUES ($rows_so_far, 'Done')
+--source include/save_master_gtid.inc
+--echo # The gtid state on current master must be equal to ...
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+
+--connection server_1
+--source include/sync_with_master_gtid.inc
+--eval SELECT COUNT(*) = $rows_so_far as 'true' FROM t1
+--echo # ... the gtid states on the slave:
+SHOW VARIABLES LIKE 'gtid_slave_pos';
+SHOW VARIABLES LIKE 'gtid_binlog_pos';
+
+--echo #
+--echo # Cleanup
+--echo #
+
+--source include/stop_slave.inc
+set global rpl_semi_sync_slave_enabled = 0;
+set global rpl_semi_sync_master_enabled = 0;
+set global rpl_semi_sync_master_wait_point=default;
+RESET MASTER;
+RESET SLAVE;
+
+--connection server_2
+RESET MASTER;
+RESET SLAVE;
+set @@global.rpl_semi_sync_master_enabled = 0;
+set @@global.rpl_semi_sync_slave_enabled = 0;
+set @@global.rpl_semi_sync_master_wait_point=default;
+evalp CHANGE MASTER TO master_host='127.0.0.1', master_port=$SERVER_MYPORT_1, master_user='root', master_use_gtid=SLAVE_POS;
+set @@global.gtid_slave_pos=@@global.gtid_binlog_pos;
+--source include/start_slave.inc
+
+--connection server_1
+DROP TABLE t1;
+--save_master_pos
+
+--connection server_2
+--sync_with_master
+
+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_semisync_ali_issues.test b/mysql-test/suite/rpl/t/rpl_semisync_ali_issues.test
index f67c6e2ac0a..5e6f350b191 100644
--- a/mysql-test/suite/rpl/t/rpl_semisync_ali_issues.test
+++ b/mysql-test/suite/rpl/t/rpl_semisync_ali_issues.test
@@ -81,6 +81,10 @@ connection con1;
select * from t1;
truncate table t1;
+# MDEV-515 takes X-lock on the table
+# So concurrent DML won't happen on the table
+INSERT INTO t1 VALUES (100);
+
sync_slave_with_master;
# Test more threads in one semisync queue
diff --git a/mysql-test/suite/rpl/t/rpl_sp.test b/mysql-test/suite/rpl/t/rpl_sp.test
index 637dda47489..c68c76caf41 100644
--- a/mysql-test/suite/rpl/t/rpl_sp.test
+++ b/mysql-test/suite/rpl/t/rpl_sp.test
@@ -208,7 +208,7 @@ select * from t2;
connection master;
delimiter |;
-drop function fn1;
+drop function fn1|
create function fn1()
returns int
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 cbbf4c5ffa7..d864e615f7a 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
@@ -91,7 +91,8 @@ sync_slave_with_master;
# action: setup environment
CREATE TABLE t1 (a int) engine=innodb;
-CREATE TABLE t2 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) );
+CREATE TABLE t2 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) )
+ engine=innodb;
CREATE TABLE t3 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) );
CREATE TRIGGER tr1 AFTER DELETE ON t2 FOR EACH ROW INSERT INTO t3 () VALUES ();
diff --git a/mysql-test/suite/rpl/t/rpl_unsafe_statements.test b/mysql-test/suite/rpl/t/rpl_unsafe_statements.test
index cbb4b54a220..40c9b9bb25f 100644
--- a/mysql-test/suite/rpl/t/rpl_unsafe_statements.test
+++ b/mysql-test/suite/rpl/t/rpl_unsafe_statements.test
@@ -19,6 +19,7 @@
# Case-2: BINLOG_STMT_UNSAFE_WRITE_AUTOINC_SELECT
# Case-3: BINLOG_STMT_UNSAFE_AUTOINC_NOT_FIRST
# Case-4: BINLOG_STMT_UNSAFE_INSERT_TWO_KEYS
+# Case-5: BINLOG_STMT_UNSAFE_SKIP_LOCKED
################################################################################
--source include/have_innodb.inc
@@ -173,4 +174,42 @@ COMMIT;
--connection master
DROP TABLE t1;
+# Case-5: BINLOG_STMT_UNSAFE_SKIP_LOCKED
+# INSERT... ON KEY UPDATE SKIP LOCKED is unsafe Statement
+
+# Step-5.1: Create a table some index
+CREATE TABLE t1(i INT,PRIMARY KEY(i)) ENGINE=INNODB;
+CREATE TABLE t2(i INT,PRIMARY KEY(i)) ENGINE=INNODB;
+
+# Step-5.2: Inserting some values
+INSERT INTO t1 (i) VALUES (1),(2),(3),(4),(5);
+
+# Step-5.3: Lock one of the values
+connect (con1, localhost, root,);
+START TRANSACTION;
+SELECT i FROM t1 WHERE i=3 FOR UPDATE;
+
+# Step-5.4: Create non-deterministic inserts/tables
+--connection master
+INSERT INTO t2 SELECT i FROM t1 LOCK IN SHARE MODE SKIP LOCKED;
+CREATE TABLE t3 AS SELECT i FROM t1 LOCK IN SHARE MODE SKIP LOCKED;
+SELECT * FROM t2 ORDER BY i;
+SELECT * FROM t3 ORDER BY i;
+
+# Step-5.5: Sync slave with master
+--sync_slave_with_master
+
+# Step-5.6: Diff master-replica tables insert statements are in sync
+--let $diff_tables=master:t2, slave:t2
+--source include/diff_tables.inc
+
+# Step-5.7: Diff master-replica tables create select table is in sync
+--let $diff_tables=master:t3, slave:t3
+--source include/diff_tables.inc
+
+# Step-5.8: Cleanup
+--disconnect con1
+--connection master
+DROP TABLE t1, t2, t3;
+
--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_xa_survive_disconnect.test b/mysql-test/suite/rpl/t/rpl_xa_survive_disconnect.test
index 28d189364d6..e4193a35583 100644
--- a/mysql-test/suite/rpl/t/rpl_xa_survive_disconnect.test
+++ b/mysql-test/suite/rpl/t/rpl_xa_survive_disconnect.test
@@ -30,6 +30,10 @@ CREATE DATABASE d2;
CREATE TABLE d1.t (a INT) ENGINE=innodb;
CREATE TABLE d2.t (a INT) ENGINE=innodb;
+# MDEV-515 takes X-lock on the table for the first insert.
+# So concurrent DML won't happen on the table
+INSERT INTO d1.t VALUES(100);
+
connect (master_conn1, 127.0.0.1,root,,test,$MASTER_MYPORT,);
--let $conn_id=`SELECT connection_id()`
SET @@session.binlog_format= statement;
diff --git a/mysql-test/suite/s3/alter.result b/mysql-test/suite/s3/alter.result
index da9ddb11ea7..c6f79e8b0f9 100644
--- a/mysql-test/suite/s3/alter.result
+++ b/mysql-test/suite/s3/alter.result
@@ -102,7 +102,9 @@ drop table t1;
create table t1 (a int, b int) engine=aria select seq as a,seq+10 as b from seq_1_to_10;
lock table t1 write;
alter table t1 add column c int, engine=s3;
-ERROR HY000: Table 't1' is read only
+Warnings:
+Warning 1036 Table 't1' is read only
+Warning 1213 Deadlock found when trying to get lock; try restarting transaction
unlock tables;
select count(*), sum(a), sum(b), sum(c) from t1;
count(*) sum(a) sum(b) sum(c)
diff --git a/mysql-test/suite/s3/alter.test b/mysql-test/suite/s3/alter.test
index 4504804c91a..7882d14e7b4 100644
--- a/mysql-test/suite/s3/alter.test
+++ b/mysql-test/suite/s3/alter.test
@@ -69,7 +69,6 @@ drop table t1;
create table t1 (a int, b int) engine=aria select seq as a,seq+10 as b from seq_1_to_10;
lock table t1 write;
---error ER_OPEN_AS_READONLY
alter table t1 add column c int, engine=s3;
unlock tables;
select count(*), sum(a), sum(b), sum(c) from t1;
diff --git a/mysql-test/suite/s3/mysqldump.result b/mysql-test/suite/s3/mysqldump.result
index 947fdc20506..af9882615c3 100644
--- a/mysql-test/suite/s3/mysqldump.result
+++ b/mysql-test/suite/s3/mysqldump.result
@@ -34,7 +34,7 @@ ALTER TABLE `t1` ENGINE=S3;
<table_structure name="t1">
<field Field="pk" Type="int(11)" Null="NO" Key="PRI" Extra="" Comment="" />
<field Field="a" Type="int(11)" Null="YES" Key="" Default="NULL" Extra="" Comment="" />
- <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="pk" Collation="A" Cardinality="4" Null="" Index_type="BTREE" Comment="" Index_comment="" />
+ <key Table="t1" Non_unique="0" Key_name="PRIMARY" Seq_in_index="1" Column_name="pk" Collation="A" Cardinality="4" Null="" Index_type="BTREE" Comment="" Index_comment="" Ignored="NO" />
<options Name="t1" Engine="Aria" Version="10" Row_format="Page" Rows="4" Avg_row_length="4096" Data_length="16384" Max_data_length="17592186011648" Index_length="16384" Data_free="0" Create_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" Max_index_length="9007199254732800" Temporary="N" />
</table_structure>
<table_data name="t1">
diff --git a/mysql-test/suite/s3/partition.result b/mysql-test/suite/s3/partition.result
index 86a70b3c694..818316bc89d 100644
--- a/mysql-test/suite/s3/partition.result
+++ b/mysql-test/suite/s3/partition.result
@@ -18,8 +18,6 @@ ERROR 42000: Table 't1' uses an extension that doesn't exist in this MariaDB ver
SHOW WARNINGS;
Level Code Message
Error 1112 Table 't1' uses an extension that doesn't exist in this MariaDB version
-Error 6 Error on delete of './s3/t1#P#p0#TMP#.MAI' (Errcode: 2 "No such file or directory")
-Error 6 Error on delete of './s3/t1#P#p0#TMP#.MAD' (Errcode: 2 "No such file or directory")
ALTER TABLE t1 ADD PARTITION PARTITIONS 6;
SELECT count(*) FROM t1;
count(*)
diff --git a/mysql-test/suite/sql_sequence/create.result b/mysql-test/suite/sql_sequence/create.result
index 15cf5cb77de..add23c1ad2d 100644
--- a/mysql-test/suite/sql_sequence/create.result
+++ b/mysql-test/suite/sql_sequence/create.result
@@ -713,6 +713,6 @@ DROP TEMPORARY TABLE s1;
# Task 6:
CREATE SEQUENCE seq1 START WITH 2;
CREATE TRIGGER s1 BEFORE UPDATE ON seq1 FOR EACH ROW SET @a= 5;
-ERROR HY000: Trigger's 'seq1' is view, temporary table or sequence
+ERROR HY000: Trigger's 'seq1' is a view, temporary table or sequence
DROP SEQUENCE seq1;
# End of 10.4 test
diff --git a/mysql-test/suite/storage_engine/repair_table.inc b/mysql-test/suite/storage_engine/repair_table.inc
index a295b4c19f2..908839e3f79 100644
--- a/mysql-test/suite/storage_engine/repair_table.inc
+++ b/mysql-test/suite/storage_engine/repair_table.inc
@@ -87,7 +87,7 @@ DROP TABLE t1, t2;
if ($have_default_index)
{
call mtr.add_suppression("Got an error from thread_id=.*");
- call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
+ call mtr.add_suppression("MariaDB thread id .*, query id .* localhost.*root Checking table");
call mtr.add_suppression(" '\..test.t1'");
call mtr.add_suppression("Couldn't repair table: test.t1");
diff --git a/mysql-test/suite/stress/r/deadlock_drop_table.result b/mysql-test/suite/stress/r/deadlock_drop_table.result
new file mode 100644
index 00000000000..326f694e8d9
--- /dev/null
+++ b/mysql-test/suite/stress/r/deadlock_drop_table.result
@@ -0,0 +1,32 @@
+create or replace table t1 (a int primary key, b int, c int, key(b),key(c)) engine=myisam;
+insert into t1 (a) values(1);
+set debug_sync='RESET';
+connect con1, localhost, root,,;
+connect con2, localhost, root,,;
+connection default;
+backup stage start;
+backup stage flush;
+select * from t1;
+a b c
+1 NULL NULL
+set debug_sync='after_purge_tables SIGNAL parked WAIT_FOR go';
+set debug_sync='before_tc_release_table SIGNAL parked2 WAIT_FOR go2';
+backup stage BLOCK_DDL;
+connection con1;
+set debug_sync='now WAIT_FOR parked';
+select * from t1;
+a b c
+1 NULL NULL
+set debug_sync='now SIGNAL go';
+set debug_sync='now WAIT_FOR parked2';
+set debug_sync='before_wait_for_refs SIGNAL waiting WAIT_FOR go2';
+drop table t1;;
+connection con2;
+set debug_sync='now WAIT_FOR waiting';
+set debug_sync='now SIGNAL go2';
+connection default;
+connection con1;
+connection default;
+disconnect con1;
+disconnect con2;
+set debug_sync='RESET';
diff --git a/mysql-test/suite/stress/t/deadlock_drop_table.test b/mysql-test/suite/stress/t/deadlock_drop_table.test
new file mode 100644
index 00000000000..b49ca0b9fb7
--- /dev/null
+++ b/mysql-test/suite/stress/t/deadlock_drop_table.test
@@ -0,0 +1,39 @@
+--source include/have_debug.inc
+
+create or replace table t1 (a int primary key, b int, c int, key(b),key(c)) engine=myisam;
+insert into t1 (a) values(1);
+
+set debug_sync='RESET';
+connect (con1, localhost, root,,);
+connect (con2, localhost, root,,);
+connection default;
+
+backup stage start;
+backup stage flush;
+select * from t1;
+set debug_sync='after_purge_tables SIGNAL parked WAIT_FOR go';
+set debug_sync='before_tc_release_table SIGNAL parked2 WAIT_FOR go2';
+--send backup stage BLOCK_DDL
+--connection con1
+set debug_sync='now WAIT_FOR parked';
+select * from t1;
+set debug_sync='now SIGNAL go';
+set debug_sync='now WAIT_FOR parked2';
+set debug_sync='before_wait_for_refs SIGNAL waiting WAIT_FOR go2';
+--send drop table t1;
+--connection con2
+set debug_sync='now WAIT_FOR waiting';
+set debug_sync='now SIGNAL go2';
+
+# Write out show processlist if the debug sync point times out
+let $wait_condition= select count(*)=0 from information_schema.processlist where state like "%debug%";
+source include/wait_condition.inc;
+
+--connection default
+--reap
+--connection con1
+--reap
+connection default;
+disconnect con1;
+disconnect con2;
+set debug_sync='RESET';
diff --git a/mysql-test/suite/stress/t/wrapper.test b/mysql-test/suite/stress/t/wrapper.test
index 4d2dd808a4c..7a468985570 100644
--- a/mysql-test/suite/stress/t/wrapper.test
+++ b/mysql-test/suite/stress/t/wrapper.test
@@ -20,7 +20,7 @@ EOF
--source $MYSQL_TMP_DIR/mtest.inc
--remove_file $MYSQL_TMP_DIR/mtest.inc
-exec perl mysql-stress-test.pl --mysqltest=$MYSQLTEST_BIN
+exec perl mariadb-stress-test.pl --mysqltest=$MYSQLTEST_BIN
--server-port=$MASTER_MYPORT --server-socket=$MASTER_MYSOCK
--server-user=root --cleanup
--server-logs-dir=$MYSQLTEST_VARDIR/log
diff --git a/mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_basic.result b/mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_basic.result
new file mode 100644
index 00000000000..11dc27ecfe7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_basic.result
@@ -0,0 +1,109 @@
+SET @start_value_sec = @@global.binlog_expire_logs_seconds;
+SELECT @start_value_sec;
+@start_value_sec
+0
+SET @@global.binlog_expire_logs_seconds = DEFAULT;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
+SET @@global.binlog_expire_logs_seconds = @start_value_sec;
+SELECT @@global.binlog_expire_logs_seconds = 0;
+@@global.binlog_expire_logs_seconds = 0
+1
+SET @@global.binlog_expire_logs_seconds = 0;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
+SET @@global.binlog_expire_logs_seconds = 99;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+99
+SET @@global.binlog_expire_logs_seconds = 10;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+10
+SET @@global.binlog_expire_logs_seconds = 21;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+21
+SET @@global.binlog_expire_logs_seconds = -1;
+Warnings:
+Warning 1292 Truncated incorrect binlog_expire_logs_seconds value: '-1'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
+SET @@global.binlog_expire_logs_seconds = 10000.01;
+ERROR 42000: Incorrect argument type to variable 'binlog_expire_logs_seconds'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
+SET @@global.binlog_expire_logs_seconds = -1024;
+Warnings:
+Warning 1292 Truncated incorrect binlog_expire_logs_seconds value: '-1024'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
+SET @@global.binlog_expire_logs_seconds = 42949672950;
+Warnings:
+Warning 1292 Truncated incorrect binlog_expire_logs_seconds value: '42949672950'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+8553600
+SET @@global.binlog_expire_logs_seconds = 8734635;
+Warnings:
+Warning 1292 Truncated incorrect binlog_expire_logs_seconds value: '8734635'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+8553600
+SET @@global.binlog_expire_logs_seconds = ON;
+ERROR 42000: Incorrect argument type to variable 'binlog_expire_logs_seconds'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+8553600
+SET @@global.binlog_expire_logs_seconds = 'test';
+ERROR 42000: Incorrect argument type to variable 'binlog_expire_logs_seconds'
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+8553600
+SET @@session.binlog_expire_logs_seconds = 0;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@binlog_expire_logs_seconds;
+@@binlog_expire_logs_seconds
+8553600
+SELECT @@global.binlog_expire_logs_seconds = VARIABLE_VALUE
+FROM information_schema.global_variables
+WHERE VARIABLE_NAME='binlog_expire_logs_seconds';
+@@global.binlog_expire_logs_seconds = VARIABLE_VALUE
+1
+SELECT @@binlog_expire_logs_seconds = VARIABLE_VALUE
+FROM information_schema.session_variables
+WHERE VARIABLE_NAME='binlog_expire_logs_seconds';
+@@binlog_expire_logs_seconds = VARIABLE_VALUE
+1
+SET @@global.binlog_expire_logs_seconds = TRUE;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+1
+SET @@global.binlog_expire_logs_seconds = FALSE;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
+SET @@global.binlog_expire_logs_seconds = 1;
+SELECT @@binlog_expire_logs_seconds = @@global.binlog_expire_logs_seconds;
+@@binlog_expire_logs_seconds = @@global.binlog_expire_logs_seconds
+1
+SET binlog_expire_logs_seconds = 1;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@binlog_expire_logs_seconds;
+@@binlog_expire_logs_seconds
+1
+SELECT local.binlog_expire_logs_seconds;
+ERROR 42S02: Unknown table 'local' in field list
+SELECT global.binlog_expire_logs_seconds;
+ERROR 42S02: Unknown table 'global' in field list
+SELECT binlog_expire_logs_seconds = @@session.binlog_expire_logs_seconds;
+ERROR 42S22: Unknown column 'binlog_expire_logs_seconds' in 'field list'
+SET @@global.binlog_expire_logs_seconds = @start_value_sec;
+SELECT @@global.binlog_expire_logs_seconds;
+@@global.binlog_expire_logs_seconds
+0
diff --git a/mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_grant.result b/mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_grant.result
new file mode 100644
index 00000000000..94b57d2e7c3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_expire_logs_seconds_grant.result
@@ -0,0 +1,47 @@
+#
+# MDEV-19371: Implement binlog_expire_logs_seconds for purging of binary logs
+# Test that "SET binlog_expire_logs_seconds" is not allowed without BINLOG ADMIN or SUPER
+#
+SET @global=@@global.binlog_expire_logs_seconds;
+# Test that "SET binlog_expire_logs_seconds" is not allowed without BINLOG ADMIN or SUPER
+CREATE USER user1@localhost;
+GRANT ALL PRIVILEGES ON *.* TO user1@localhost;
+REVOKE BINLOG ADMIN, SUPER ON *.* FROM user1@localhost;
+connect user1,localhost,user1,,;
+connection user1;
+SET GLOBAL binlog_expire_logs_seconds=10;
+ERROR 42000: Access denied; you need (at least one of) the SUPER, BINLOG ADMIN privilege(s) for this operation
+SET binlog_expire_logs_seconds=10;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+SET SESSION binlog_expire_logs_seconds=10;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+disconnect user1;
+connection default;
+DROP USER user1@localhost;
+# Test that "SET binlog_expire_logs_seconds" is allowed with BINLOG ADMIN
+CREATE USER user1@localhost;
+GRANT BINLOG ADMIN ON *.* TO user1@localhost;
+connect user1,localhost,user1,,;
+connection user1;
+SET GLOBAL binlog_expire_logs_seconds=10;
+SET binlog_expire_logs_seconds=10;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+SET SESSION binlog_expire_logs_seconds=10;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+disconnect user1;
+connection default;
+DROP USER user1@localhost;
+# Test that "SET binlog_expire_logs_seconds" is allowed with SUPER
+CREATE USER user1@localhost;
+GRANT SUPER ON *.* TO user1@localhost;
+connect user1,localhost,user1,,;
+connection user1;
+SET GLOBAL binlog_expire_logs_seconds=10;
+SET binlog_expire_logs_seconds=10;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+SET SESSION binlog_expire_logs_seconds=10;
+ERROR HY000: Variable 'binlog_expire_logs_seconds' is a GLOBAL variable and should be set with SET GLOBAL
+disconnect user1;
+connection default;
+DROP USER user1@localhost;
+SET @@global.binlog_expire_logs_seconds=@global;
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 1464c35cc20..a15e1d10b79 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
@@ -18,7 +18,7 @@ ERROR 42S22: Unknown column 'character_set_client' in 'field list'
SET character_set_client=utf8;
SELECT @@session.character_set_client;
@@session.character_set_client
-utf8
+utf8mb3
SET session character_set_client=utf8;
SELECT session character_set_client;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -40,14 +40,14 @@ SELECT @@global.character_set_client= @global_start_value;
SET @@session.character_set_client = utf8;
SELECT @@session.character_set_client;
@@session.character_set_client
-utf8
+utf8mb3
SET @@global.character_set_client = latin2;
SELECT @@global.character_set_client;
@@global.character_set_client
latin2
SELECT @@session.character_set_client AS res_is_utf8;
res_is_utf8
-utf8
+utf8mb3
SET @@session.character_set_client = latin5;
SELECT @@session.character_set_client;
@@session.character_set_client
@@ -157,7 +157,7 @@ armscii8
SET @@character_set_client = utf8;
SELECT @@character_set_client;
@@character_set_client
-utf8
+utf8mb3
SET @@character_set_client = utf8mb4;
SELECT @@character_set_client;
@@character_set_client
@@ -308,11 +308,11 @@ armscii8
SET @@global.character_set_client = utf8;
SELECT @@global.character_set_client;
@@global.character_set_client
-utf8
+utf8mb3
SET @@global.character_set_client = ucs2;
SELECT @@global.character_set_client;
@@global.character_set_client
-utf8
+utf8mb3
SET @@global.character_set_client = cp866;
SELECT @@global.character_set_client;
@@global.character_set_client
@@ -369,15 +369,15 @@ eucjpms
SET @@character_set_client = UTF8;
SELECT @@character_set_client;
@@character_set_client
-utf8
+utf8mb3
SET @@character_set_client = utf8;
SELECT @@character_set_client;
@@character_set_client
-utf8
+utf8mb3
SET @@global.character_set_client = uTf8;
SELECT @@global.character_set_client;
@@global.character_set_client
-utf8
+utf8mb3
'#--------------------FN_DYNVARS_010_09-------------------------#'
SET @@character_set_client = 1;
SELECT @@character_set_client;
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 333cdfa58b2..589d03dd64a 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
@@ -6,7 +6,7 @@ connect con1,localhost,root,,,,;
connection con1;
SELECT @@global.character_set_client;
@@global.character_set_client
-utf8
+utf8mb3
SELECT @@session.character_set_client;
@@session.character_set_client
latin1
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 bb8273353fc..6d098f37bd1 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
@@ -19,7 +19,7 @@ ERROR 42S22: Unknown column 'character_set_connection' in 'field list'
SET character_set_connection=utf8;
SELECT @@session.character_set_connection;
@@session.character_set_connection
-utf8
+utf8mb3
SET session character_set_connection=utf8;
SELECT session character_set_connection;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -41,14 +41,14 @@ SELECT @@global.character_set_connection = @global_start_value;
SET @@session.character_set_connection = utf8;
SELECT @@session.character_set_connection;
@@session.character_set_connection
-utf8
+utf8mb3
SET @@global.character_set_connection = latin2;
SELECT @@global.character_set_connection;
@@global.character_set_connection
latin2
SELECT @@session.character_set_connection AS res_is_utf8;
res_is_utf8
-utf8
+utf8mb3
SET @@session.character_set_connection = latin5;
SELECT @@session.character_set_connection;
@@session.character_set_connection
@@ -158,7 +158,7 @@ armscii8
SET @@session.character_set_connection = utf8;
SELECT @@session.character_set_connection;
@@session.character_set_connection
-utf8
+utf8mb3
SET @@session.character_set_connection = ucs2;
SELECT @@session.character_set_connection;
@@session.character_set_connection
@@ -303,7 +303,7 @@ armscii8
SET @@global.character_set_connection = utf8;
SELECT @@global.character_set_connection;
@@global.character_set_connection
-utf8
+utf8mb3
SET @@global.character_set_connection = ucs2;
SELECT @@global.character_set_connection;
@@global.character_set_connection
@@ -364,15 +364,15 @@ eucjpms
SET @@character_set_connection = UTF8;
SELECT @@character_set_connection;
@@character_set_connection
-utf8
+utf8mb3
SET @@character_set_connection = utf8;
SELECT @@character_set_connection;
@@character_set_connection
-utf8
+utf8mb3
SET @@global.character_set_connection = uTf8;
SELECT @@global.character_set_connection;
@@global.character_set_connection
-utf8
+utf8mb3
'#--------------------FN_DYNVARS_011_09-------------------------#'
SET @@character_set_connection = 1;
SELECT @@character_set_connection;
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 2f964f73c7a..6b17c86d9fa 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
@@ -8,7 +8,7 @@ connect con1,localhost,root,,,,;
connection con1;
SELECT @@global.character_set_connection;
@@global.character_set_connection
-utf8
+utf8mb3
SELECT @@session.character_set_connection;
@@session.character_set_connection
latin1
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 9eb987381c6..752dad8500e 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
@@ -21,7 +21,7 @@ ERROR 42S22: Unknown column 'character_set_database' in 'field list'
SET character_set_database=utf8;
SELECT @@session.character_set_database;
@@session.character_set_database
-utf8
+utf8mb3
SET session character_set_database=utf8;
SELECT session character_set_database;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -43,14 +43,14 @@ latin1
SET @@session.character_set_database = utf8;
SELECT @@session.character_set_database;
@@session.character_set_database
-utf8
+utf8mb3
SET @@global.character_set_database = latin2;
SELECT @@global.character_set_database;
@@global.character_set_database
latin2
SELECT @@session.character_set_database AS res_is_utf8;
res_is_utf8
-utf8
+utf8mb3
SET @@session.character_set_database = latin5;
SELECT @@session.character_set_database;
@@session.character_set_database
@@ -160,7 +160,7 @@ armscii8
SET @@session.character_set_database = utf8;
SELECT @@session.character_set_database;
@@session.character_set_database
-utf8
+utf8mb3
SET @@session.character_set_database = ucs2;
SELECT @@session.character_set_database;
@@session.character_set_database
@@ -305,7 +305,7 @@ armscii8
SET @@global.character_set_database = utf8;
SELECT @@global.character_set_database;
@@global.character_set_database
-utf8
+utf8mb3
SET @@global.character_set_database = ucs2;
SELECT @@global.character_set_database;
@@global.character_set_database
@@ -366,15 +366,15 @@ eucjpms
SET @@character_set_database = UTF8;
SELECT @@character_set_database;
@@character_set_database
-utf8
+utf8mb3
SET @@character_set_database = utf8;
SELECT @@character_set_database;
@@character_set_database
-utf8
+utf8mb3
SET @@global.character_set_database = uTf8;
SELECT @@global.character_set_database;
@@global.character_set_database
-utf8
+utf8mb3
'#--------------------FN_DYNVARS_012_09-------------------------#'
SET @@character_set_database = 1;
SELECT @@character_set_database;
diff --git a/mysql-test/suite/sys_vars/r/character_set_database_func.result b/mysql-test/suite/sys_vars/r/character_set_database_func.result
index f51a025610b..efdb9233652 100644
--- a/mysql-test/suite/sys_vars/r/character_set_database_func.result
+++ b/mysql-test/suite/sys_vars/r/character_set_database_func.result
@@ -8,7 +8,7 @@ connect con1,localhost,root,,,,;
connection con1;
SELECT @@global.character_set_database;
@@global.character_set_database
-utf8
+utf8mb3
SELECT @@session.character_set_database;
@@session.character_set_database
latin1
@@ -29,14 +29,14 @@ CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
CREATE TABLE t1(a INT, b VARCHAR(40));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` varchar(40) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3
DROP TABLE t1;
DROP DATABASE db1;
'--ascii character set specified--'
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 7a32f92deeb..8c5b5e524ba 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
@@ -20,7 +20,7 @@ ERROR 42S22: Unknown column 'character_set_filesystem' in 'field list'
SET character_set_filesystem=utf8;
SELECT @@session.character_set_filesystem;
@@session.character_set_filesystem
-utf8
+utf8mb3
SET session character_set_filesystem=utf8;
SELECT session character_set_filesystem;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -32,7 +32,7 @@ SET @@character_set_filesystem = latin5;
SET @@character_set_filesystem = DEFAULT;
SELECT @@character_set_filesystem AS DEFAULT_VALUE;
DEFAULT_VALUE
-utf8
+utf8mb3
SET @@global.character_set_filesystem = latin5;
SET @@global.character_set_filesystem = DEFAULT;
SELECT @@global.character_set_filesystem AS DEFAULT_VALUE;
@@ -42,14 +42,14 @@ binary
SET @@session.character_set_filesystem = utf8;
SELECT @@session.character_set_filesystem;
@@session.character_set_filesystem
-utf8
+utf8mb3
SET @@global.character_set_filesystem = latin2;
SELECT @@global.character_set_filesystem;
@@global.character_set_filesystem
latin2
SELECT @@session.character_set_filesystem AS res_is_utf8;
res_is_utf8
-utf8
+utf8mb3
SET @@session.character_set_filesystem = latin5;
SELECT @@session.character_set_filesystem;
@@session.character_set_filesystem
@@ -159,7 +159,7 @@ armscii8
SET @@session.character_set_filesystem = utf8;
SELECT @@session.character_set_filesystem;
@@session.character_set_filesystem
-utf8
+utf8mb3
SET @@session.character_set_filesystem = ucs2;
SELECT @@session.character_set_filesystem;
@@session.character_set_filesystem
@@ -304,7 +304,7 @@ armscii8
SET @@global.character_set_filesystem = utf8;
SELECT @@global.character_set_filesystem;
@@global.character_set_filesystem
-utf8
+utf8mb3
SET @@global.character_set_filesystem = ucs2;
SELECT @@global.character_set_filesystem;
@@global.character_set_filesystem
@@ -365,15 +365,15 @@ eucjpms
SET @@character_set_filesystem = UTF8;
SELECT @@character_set_filesystem;
@@character_set_filesystem
-utf8
+utf8mb3
SET @@character_set_filesystem = utf8;
SELECT @@character_set_filesystem;
@@character_set_filesystem
-utf8
+utf8mb3
SET @@character_set_filesystem = uTf8;
SELECT @@character_set_filesystem;
@@character_set_filesystem
-utf8
+utf8mb3
'#--------------------FN_DYNVARS_008_09-------------------------#'
SET @@character_set_filesystem = 1;
SELECT @@character_set_filesystem;
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 fc109940c41..86cd9265efb 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 893e4784d39..49ce8fe5c39 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
@@ -6,7 +6,7 @@ connect con1,localhost,root,,,,;
connection con1;
SELECT @@global.character_set_results;
@@global.character_set_results
-utf8
+utf8mb3
SELECT @@session.character_set_results;
@@session.character_set_results
latin1
diff --git a/mysql-test/suite/sys_vars/r/character_set_server_basic.result b/mysql-test/suite/sys_vars/r/character_set_server_basic.result
index c91c53e30c6..e395b048f42 100644
--- a/mysql-test/suite/sys_vars/r/character_set_server_basic.result
+++ b/mysql-test/suite/sys_vars/r/character_set_server_basic.result
@@ -21,7 +21,7 @@ ERROR 42S22: Unknown column 'character_set_server' in 'field list'
SET character_set_server=utf8;
SELECT @@session.character_set_server;
@@session.character_set_server
-utf8
+utf8mb3
SET session character_set_server=utf8;
SELECT session character_set_server;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -45,14 +45,14 @@ SELECT @@global.character_set_server = @global_start_value;
SET @@session.character_set_server = utf8;
SELECT @@session.character_set_server;
@@session.character_set_server
-utf8
+utf8mb3
SET @@global.character_set_server = latin2;
SELECT @@global.character_set_server;
@@global.character_set_server
latin2
SELECT @@session.character_set_server AS res_is_utf8;
res_is_utf8
-utf8
+utf8mb3
SET @@session.character_set_server = latin5;
SELECT @@session.character_set_server;
@@session.character_set_server
@@ -162,7 +162,7 @@ armscii8
SET @@session.character_set_server = utf8;
SELECT @@session.character_set_server;
@@session.character_set_server
-utf8
+utf8mb3
SET @@session.character_set_server = ucs2;
SELECT @@session.character_set_server;
@@session.character_set_server
@@ -307,7 +307,7 @@ armscii8
SET @@global.character_set_server = utf8;
SELECT @@global.character_set_server;
@@global.character_set_server
-utf8
+utf8mb3
SET @@global.character_set_server = ucs2;
SELECT @@global.character_set_server;
@@global.character_set_server
@@ -368,15 +368,15 @@ eucjpms
SET @@character_set_server = UTF8;
SELECT @@character_set_server;
@@character_set_server
-utf8
+utf8mb3
SET @@character_set_server = utf8;
SELECT @@character_set_server;
@@character_set_server
-utf8
+utf8mb3
SET @@global.character_set_server = uTf8;
SELECT @@global.character_set_server;
@@global.character_set_server
-utf8
+utf8mb3
'#--------------------FN_DYNVARS_009_09-------------------------#'
SET @@character_set_server = 1;
SELECT @@character_set_server;
diff --git a/mysql-test/suite/sys_vars/r/character_set_server_func.result b/mysql-test/suite/sys_vars/r/character_set_server_func.result
index 38370da509d..fb922afe5b9 100644
--- a/mysql-test/suite/sys_vars/r/character_set_server_func.result
+++ b/mysql-test/suite/sys_vars/r/character_set_server_func.result
@@ -6,10 +6,10 @@ connect con1,localhost,root,,,,;
connection con1;
SELECT @@global.character_set_server;
@@global.character_set_server
-utf8
+utf8mb3
SELECT @@session.character_set_server;
@@session.character_set_server
-utf8
+utf8mb3
disconnect con1;
'#--------------------FN_DYNVARS_009_02-------------------------#'
connection default;
@@ -33,27 +33,27 @@ CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
DROP DATABASE db1;
select @@character_set_database;
@@character_set_database
-utf8
+utf8mb3
'----test with new connection----'
connect con1,localhost,root,,,,;
connection con1;
SELECT @@session.character_set_server;
@@session.character_set_server
-utf8
+utf8mb3
'----------character set not specified---------'
CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 */
DROP DATABASE db1;
SELECT @@character_set_database;
@@character_set_database
-utf8
+utf8mb3
'----------ascii character set specified----------'
CREATE DATABASE db1 character set ascii;
USE db1;
@@ -63,7 +63,7 @@ db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET ascii */
DROP DATABASE db1;
select @@character_set_database;
@@character_set_database
-utf8
+utf8mb3
disconnect con1;
connection default;
SET @@global.character_set_server = @global_character_set_server;
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 31c15a68f1c..f95c6265f60 100644
--- a/mysql-test/suite/sys_vars/r/collation_connection_basic.result
+++ b/mysql-test/suite/sys_vars/r/collation_connection_basic.result
@@ -21,7 +21,7 @@ ERROR 42S22: Unknown column 'collation_connection' in 'field list'
SET collation_connection=utf8_unicode_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET session collation_connection=utf8_unicode_ci;
SELECT session collation_connection;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -43,14 +43,14 @@ SELECT @@global.collation_connection = @global_start_value;
SET @@session.collation_connection = utf8_polish_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@global.collation_connection = latin7_general_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
latin7_general_ci
SELECT @@session.collation_connection AS res_is_utf8_polish_ci;
res_is_utf8_polish_ci
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@session.collation_connection = latin7_bin;
SELECT @@session.collation_connection;
@@session.collation_connection
@@ -292,91 +292,91 @@ armscii8_bin
SET @@session.collation_connection = utf8_general_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_general_ci
+utf8mb3_general_ci
SET @@session.collation_connection = utf8_bin;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_bin
+utf8mb3_bin
SET @@session.collation_connection = utf8_unicode_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET @@session.collation_connection = utf8_icelandic_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_icelandic_ci
+utf8mb3_icelandic_ci
SET @@session.collation_connection = utf8_latvian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_latvian_ci
+utf8mb3_latvian_ci
SET @@session.collation_connection = utf8_romanian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_romanian_ci
+utf8mb3_romanian_ci
SET @@session.collation_connection = utf8_slovenian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_slovenian_ci
+utf8mb3_slovenian_ci
SET @@session.collation_connection = utf8_polish_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@session.collation_connection = utf8_estonian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_estonian_ci
+utf8mb3_estonian_ci
SET @@session.collation_connection = utf8_spanish_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_spanish_ci
+utf8mb3_spanish_ci
SET @@session.collation_connection = utf8_swedish_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_swedish_ci
+utf8mb3_swedish_ci
SET @@session.collation_connection = utf8_turkish_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_turkish_ci
+utf8mb3_turkish_ci
SET @@session.collation_connection = utf8_czech_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_czech_ci
+utf8mb3_czech_ci
SET @@session.collation_connection = utf8_danish_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_danish_ci
+utf8mb3_danish_ci
SET @@session.collation_connection = utf8_lithuanian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_lithuanian_ci
+utf8mb3_lithuanian_ci
SET @@session.collation_connection = utf8_slovak_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_slovak_ci
+utf8mb3_slovak_ci
SET @@session.collation_connection = utf8_spanish2_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_spanish2_ci
+utf8mb3_spanish2_ci
SET @@session.collation_connection = utf8_roman_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_roman_ci
+utf8mb3_roman_ci
SET @@session.collation_connection = utf8_persian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_persian_ci
+utf8mb3_persian_ci
SET @@session.collation_connection = utf8_esperanto_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_esperanto_ci
+utf8mb3_esperanto_ci
SET @@session.collation_connection = utf8_hungarian_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_hungarian_ci
+utf8mb3_hungarian_ci
SET @@session.collation_connection = utf8_thai_520_w2;
SELECT @@session.collation_connection;
@@session.collation_connection
-utf8_thai_520_w2
+utf8mb3_thai_520_w2
SET @@session.collation_connection = ucs2_general_ci;
SELECT @@session.collation_connection;
@@session.collation_connection
@@ -805,91 +805,91 @@ armscii8_bin
SET @@global.collation_connection = utf8_general_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_general_ci
+utf8mb3_general_ci
SET @@global.collation_connection = utf8_bin;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_bin
+utf8mb3_bin
SET @@global.collation_connection = utf8_unicode_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET @@global.collation_connection = utf8_icelandic_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_icelandic_ci
+utf8mb3_icelandic_ci
SET @@global.collation_connection = utf8_latvian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_latvian_ci
+utf8mb3_latvian_ci
SET @@global.collation_connection = utf8_romanian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_romanian_ci
+utf8mb3_romanian_ci
SET @@global.collation_connection = utf8_slovenian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_slovenian_ci
+utf8mb3_slovenian_ci
SET @@global.collation_connection = utf8_polish_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@global.collation_connection = utf8_estonian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_estonian_ci
+utf8mb3_estonian_ci
SET @@global.collation_connection = utf8_spanish_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_spanish_ci
+utf8mb3_spanish_ci
SET @@global.collation_connection = utf8_swedish_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_swedish_ci
+utf8mb3_swedish_ci
SET @@global.collation_connection = utf8_turkish_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_turkish_ci
+utf8mb3_turkish_ci
SET @@global.collation_connection = utf8_czech_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_czech_ci
+utf8mb3_czech_ci
SET @@global.collation_connection = utf8_danish_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_danish_ci
+utf8mb3_danish_ci
SET @@global.collation_connection = utf8_lithuanian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_lithuanian_ci
+utf8mb3_lithuanian_ci
SET @@global.collation_connection = utf8_slovak_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_slovak_ci
+utf8mb3_slovak_ci
SET @@global.collation_connection = utf8_spanish2_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_spanish2_ci
+utf8mb3_spanish2_ci
SET @@global.collation_connection = utf8_roman_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_roman_ci
+utf8mb3_roman_ci
SET @@global.collation_connection = utf8_persian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_persian_ci
+utf8mb3_persian_ci
SET @@global.collation_connection = utf8_esperanto_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_esperanto_ci
+utf8mb3_esperanto_ci
SET @@global.collation_connection = utf8_hungarian_ci;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_hungarian_ci
+utf8mb3_hungarian_ci
SET @@global.collation_connection = utf8_thai_520_w2;
SELECT @@global.collation_connection;
@@global.collation_connection
-utf8_thai_520_w2
+utf8mb3_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 3fbf252eff0..d957f398182 100644
--- a/mysql-test/suite/sys_vars/r/collation_connection_func.result
+++ b/mysql-test/suite/sys_vars/r/collation_connection_func.result
@@ -18,7 +18,7 @@ DROP TABLE IF EXISTS t1;
SET @@session.collation_connection = utf8_spanish_ci;
SELECT @@collation_connection, @@character_set_database;
@@collation_connection @@character_set_database
-utf8_spanish_ci latin1
+utf8mb3_spanish_ci latin1
'---check if collation_connection works for literal string comparision--'
SET @@session.collation_connection = latin1_swedish_ci;
SELECT 'mysql'='MySql';
@@ -38,7 +38,7 @@ SELECT _latin2'mysql'COLLATE latin2_general_ci='MySql';
_latin2'mysql'COLLATE latin2_general_ci='MySql'
1
SELECT _utf8'mysql'COLLATE utf8_danish_ci=_utf8'MySql'COLLATE utf8_unicode_ci;
-ERROR HY000: Illegal mix of collations (utf8_danish_ci,EXPLICIT) and (utf8_unicode_ci,EXPLICIT) for operation '='
+ERROR HY000: Illegal mix of collations (utf8mb3_danish_ci,EXPLICIT) and (utf8mb3_unicode_ci,EXPLICIT) for operation '='
'---collation_connection does not effect comparision with column---'
CREATE TABLE t1(a CHAR(20)CHARACTER SET latin1 COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES('Müller');
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 ac2fcbe07fc..4a3242a7fdb 100644
--- a/mysql-test/suite/sys_vars/r/collation_database_basic.result
+++ b/mysql-test/suite/sys_vars/r/collation_database_basic.result
@@ -21,7 +21,7 @@ ERROR 42S22: Unknown column 'collation_database' in 'field list'
SET collation_database=utf8_unicode_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET session collation_database=utf8_unicode_ci;
SELECT session collation_database;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -47,14 +47,14 @@ length(@@global.collation_database) > 0
SET @@session.collation_database = utf8_polish_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@global.collation_database = latin7_general_ci;
SELECT @@global.collation_database;
@@global.collation_database
latin7_general_ci
SELECT @@session.collation_database AS res_is_utf8_polish_ci;
res_is_utf8_polish_ci
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@session.collation_database = latin7_bin;
SELECT @@session.collation_database;
@@session.collation_database
@@ -295,91 +295,91 @@ armscii8_bin
SET @@session.collation_database = utf8_general_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_general_ci
+utf8mb3_general_ci
SET @@session.collation_database = utf8_bin;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_bin
+utf8mb3_bin
SET @@session.collation_database = utf8_unicode_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET @@session.collation_database = utf8_icelandic_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_icelandic_ci
+utf8mb3_icelandic_ci
SET @@session.collation_database = utf8_latvian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_latvian_ci
+utf8mb3_latvian_ci
SET @@session.collation_database = utf8_romanian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_romanian_ci
+utf8mb3_romanian_ci
SET @@session.collation_database = utf8_slovenian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_slovenian_ci
+utf8mb3_slovenian_ci
SET @@session.collation_database = utf8_polish_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@session.collation_database = utf8_estonian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_estonian_ci
+utf8mb3_estonian_ci
SET @@session.collation_database = utf8_spanish_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_spanish_ci
+utf8mb3_spanish_ci
SET @@session.collation_database = utf8_swedish_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_swedish_ci
+utf8mb3_swedish_ci
SET @@session.collation_database = utf8_turkish_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_turkish_ci
+utf8mb3_turkish_ci
SET @@session.collation_database = utf8_czech_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_czech_ci
+utf8mb3_czech_ci
SET @@session.collation_database = utf8_danish_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_danish_ci
+utf8mb3_danish_ci
SET @@session.collation_database = utf8_lithuanian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_lithuanian_ci
+utf8mb3_lithuanian_ci
SET @@session.collation_database = utf8_slovak_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_slovak_ci
+utf8mb3_slovak_ci
SET @@session.collation_database = utf8_spanish2_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_spanish2_ci
+utf8mb3_spanish2_ci
SET @@session.collation_database = utf8_roman_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_roman_ci
+utf8mb3_roman_ci
SET @@session.collation_database = utf8_persian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_persian_ci
+utf8mb3_persian_ci
SET @@session.collation_database = utf8_esperanto_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_esperanto_ci
+utf8mb3_esperanto_ci
SET @@session.collation_database = utf8_hungarian_ci;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_hungarian_ci
+utf8mb3_hungarian_ci
SET @@session.collation_database = utf8_thai_520_w2;
SELECT @@session.collation_database;
@@session.collation_database
-utf8_thai_520_w2
+utf8mb3_thai_520_w2
SET @@session.collation_database = ucs2_general_ci;
SELECT @@session.collation_database;
@@session.collation_database
@@ -808,91 +808,91 @@ armscii8_bin
SET @@global.collation_database = utf8_general_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_general_ci
+utf8mb3_general_ci
SET @@global.collation_database = utf8_bin;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_bin
+utf8mb3_bin
SET @@global.collation_database = utf8_unicode_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET @@global.collation_database = utf8_icelandic_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_icelandic_ci
+utf8mb3_icelandic_ci
SET @@global.collation_database = utf8_latvian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_latvian_ci
+utf8mb3_latvian_ci
SET @@global.collation_database = utf8_romanian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_romanian_ci
+utf8mb3_romanian_ci
SET @@global.collation_database = utf8_slovenian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_slovenian_ci
+utf8mb3_slovenian_ci
SET @@global.collation_database = utf8_polish_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@global.collation_database = utf8_estonian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_estonian_ci
+utf8mb3_estonian_ci
SET @@global.collation_database = utf8_spanish_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_spanish_ci
+utf8mb3_spanish_ci
SET @@global.collation_database = utf8_swedish_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_swedish_ci
+utf8mb3_swedish_ci
SET @@global.collation_database = utf8_turkish_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_turkish_ci
+utf8mb3_turkish_ci
SET @@global.collation_database = utf8_czech_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_czech_ci
+utf8mb3_czech_ci
SET @@global.collation_database = utf8_danish_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_danish_ci
+utf8mb3_danish_ci
SET @@global.collation_database = utf8_lithuanian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_lithuanian_ci
+utf8mb3_lithuanian_ci
SET @@global.collation_database = utf8_slovak_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_slovak_ci
+utf8mb3_slovak_ci
SET @@global.collation_database = utf8_spanish2_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_spanish2_ci
+utf8mb3_spanish2_ci
SET @@global.collation_database = utf8_roman_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_roman_ci
+utf8mb3_roman_ci
SET @@global.collation_database = utf8_persian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_persian_ci
+utf8mb3_persian_ci
SET @@global.collation_database = utf8_esperanto_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_esperanto_ci
+utf8mb3_esperanto_ci
SET @@global.collation_database = utf8_hungarian_ci;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_hungarian_ci
+utf8mb3_hungarian_ci
SET @@global.collation_database = utf8_thai_520_w2;
SELECT @@global.collation_database;
@@global.collation_database
-utf8_thai_520_w2
+utf8mb3_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_database_func.result b/mysql-test/suite/sys_vars/r/collation_database_func.result
index 43f680eb6e6..8cce4ffda4a 100644
--- a/mysql-test/suite/sys_vars/r/collation_database_func.result
+++ b/mysql-test/suite/sys_vars/r/collation_database_func.result
@@ -19,7 +19,7 @@ DROP TABLE IF EXISTS t1,t2;
SET @@session.collation_database = utf8_spanish_ci;
SELECT @@collation_database, @@character_set_database;
@@collation_database @@character_set_database
-utf8_spanish_ci utf8
+utf8mb3_spanish_ci utf8mb3
'--check if collation_database effects database/tables charset/collation'
SET @@session.collation_server = utf8_roman_ci;
SET @@session.collation_database = latin2_croatian_ci;
@@ -27,31 +27,31 @@ CREATE DATABASE db1;
USE db1;
SHOW CREATE DATABASE db1;
Database Create Database
-db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_roman_ci */
+db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_roman_ci */
CREATE TABLE t1(a CHAR(20));
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` char(20) COLLATE utf8_roman_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci
+ `a` char(20) COLLATE utf8mb3_roman_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_roman_ci
'---check if updating collation_database effects new table/column---'
SET @@session.collation_database = latin7_general_cs;
CREATE TABLE t2(a CHAR(10));
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `a` char(10) COLLATE utf8_roman_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci
+ `a` char(10) COLLATE utf8mb3_roman_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_roman_ci
DROP TABLE t1,t2;
'--check value of collation and character set when current db is dropped'
DROP DATABASE db1;
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
@@collation_database @@collation_server @@character_set_database @@character_set_server
-utf8_roman_ci utf8_roman_ci utf8 utf8
+utf8mb3_roman_ci utf8mb3_roman_ci utf8mb3 utf8mb3
USE test;
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
@@collation_database @@collation_server @@character_set_database @@character_set_server
-latin1_swedish_ci utf8_roman_ci latin1 utf8
+latin1_swedish_ci utf8mb3_roman_ci latin1 utf8mb3
'fill table with some test data';
CREATE TABLE t1(a CHAR(20))CHARACTER SET=latin1;
INSERT INTO t1 VALUES('Muffler'),('Müller'),('MX Systems');
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 13712622a33..2914d8b65f6 100644
--- a/mysql-test/suite/sys_vars/r/collation_server_basic.result
+++ b/mysql-test/suite/sys_vars/r/collation_server_basic.result
@@ -18,7 +18,7 @@ ERROR 42S22: Unknown column 'collation_server' in 'field list'
SET collation_server=utf8_unicode_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET session collation_server=utf8_unicode_ci;
SELECT session collation_server;
ERROR 42S22: Unknown column 'session' in 'field list'
@@ -40,14 +40,14 @@ SELECT @@global.collation_server = @global_start_value;
SET @@session.collation_server = utf8_polish_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@global.collation_server = latin7_general_ci;
SELECT @@global.collation_server;
@@global.collation_server
latin7_general_ci
SELECT @@session.collation_server AS res_is_utf8_polish_ci;
res_is_utf8_polish_ci
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@session.collation_server = latin7_bin;
SELECT @@session.collation_server;
@@session.collation_server
@@ -288,91 +288,91 @@ armscii8_bin
SET @@session.collation_server = utf8_general_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_general_ci
+utf8mb3_general_ci
SET @@session.collation_server = utf8_bin;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_bin
+utf8mb3_bin
SET @@session.collation_server = utf8_unicode_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET @@session.collation_server = utf8_icelandic_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_icelandic_ci
+utf8mb3_icelandic_ci
SET @@session.collation_server = utf8_latvian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_latvian_ci
+utf8mb3_latvian_ci
SET @@session.collation_server = utf8_romanian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_romanian_ci
+utf8mb3_romanian_ci
SET @@session.collation_server = utf8_slovenian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_slovenian_ci
+utf8mb3_slovenian_ci
SET @@session.collation_server = utf8_polish_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@session.collation_server = utf8_estonian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_estonian_ci
+utf8mb3_estonian_ci
SET @@session.collation_server = utf8_spanish_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_spanish_ci
+utf8mb3_spanish_ci
SET @@session.collation_server = utf8_swedish_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_swedish_ci
+utf8mb3_swedish_ci
SET @@session.collation_server = utf8_turkish_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_turkish_ci
+utf8mb3_turkish_ci
SET @@session.collation_server = utf8_czech_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_czech_ci
+utf8mb3_czech_ci
SET @@session.collation_server = utf8_danish_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_danish_ci
+utf8mb3_danish_ci
SET @@session.collation_server = utf8_lithuanian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_lithuanian_ci
+utf8mb3_lithuanian_ci
SET @@session.collation_server = utf8_slovak_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_slovak_ci
+utf8mb3_slovak_ci
SET @@session.collation_server = utf8_spanish2_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_spanish2_ci
+utf8mb3_spanish2_ci
SET @@session.collation_server = utf8_roman_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_roman_ci
+utf8mb3_roman_ci
SET @@session.collation_server = utf8_persian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_persian_ci
+utf8mb3_persian_ci
SET @@session.collation_server = utf8_esperanto_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_esperanto_ci
+utf8mb3_esperanto_ci
SET @@session.collation_server = utf8_hungarian_ci;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_hungarian_ci
+utf8mb3_hungarian_ci
SET @@session.collation_server = utf8_thai_520_w2;
SELECT @@session.collation_server;
@@session.collation_server
-utf8_thai_520_w2
+utf8mb3_thai_520_w2
SET @@session.collation_server = ucs2_general_ci;
SELECT @@session.collation_server;
@@session.collation_server
@@ -801,91 +801,91 @@ armscii8_bin
SET @@global.collation_server = utf8_general_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_general_ci
+utf8mb3_general_ci
SET @@global.collation_server = utf8_bin;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_bin
+utf8mb3_bin
SET @@global.collation_server = utf8_unicode_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_unicode_ci
+utf8mb3_unicode_ci
SET @@global.collation_server = utf8_icelandic_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_icelandic_ci
+utf8mb3_icelandic_ci
SET @@global.collation_server = utf8_latvian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_latvian_ci
+utf8mb3_latvian_ci
SET @@global.collation_server = utf8_romanian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_romanian_ci
+utf8mb3_romanian_ci
SET @@global.collation_server = utf8_slovenian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_slovenian_ci
+utf8mb3_slovenian_ci
SET @@global.collation_server = utf8_polish_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_polish_ci
+utf8mb3_polish_ci
SET @@global.collation_server = utf8_estonian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_estonian_ci
+utf8mb3_estonian_ci
SET @@global.collation_server = utf8_spanish_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_spanish_ci
+utf8mb3_spanish_ci
SET @@global.collation_server = utf8_swedish_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_swedish_ci
+utf8mb3_swedish_ci
SET @@global.collation_server = utf8_turkish_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_turkish_ci
+utf8mb3_turkish_ci
SET @@global.collation_server = utf8_czech_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_czech_ci
+utf8mb3_czech_ci
SET @@global.collation_server = utf8_danish_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_danish_ci
+utf8mb3_danish_ci
SET @@global.collation_server = utf8_lithuanian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_lithuanian_ci
+utf8mb3_lithuanian_ci
SET @@global.collation_server = utf8_slovak_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_slovak_ci
+utf8mb3_slovak_ci
SET @@global.collation_server = utf8_spanish2_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_spanish2_ci
+utf8mb3_spanish2_ci
SET @@global.collation_server = utf8_roman_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_roman_ci
+utf8mb3_roman_ci
SET @@global.collation_server = utf8_persian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_persian_ci
+utf8mb3_persian_ci
SET @@global.collation_server = utf8_esperanto_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_esperanto_ci
+utf8mb3_esperanto_ci
SET @@global.collation_server = utf8_hungarian_ci;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_hungarian_ci
+utf8mb3_hungarian_ci
SET @@global.collation_server = utf8_thai_520_w2;
SELECT @@global.collation_server;
@@global.collation_server
-utf8_thai_520_w2
+utf8mb3_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/collation_server_func.result b/mysql-test/suite/sys_vars/r/collation_server_func.result
index 138904b4714..e9acbe14eeb 100644
--- a/mysql-test/suite/sys_vars/r/collation_server_func.result
+++ b/mysql-test/suite/sys_vars/r/collation_server_func.result
@@ -18,7 +18,7 @@ DROP TABLE IF EXISTS t1,t2;
SET @@session.collation_server = utf8_spanish_ci;
SELECT @@collation_server, @@character_set_server;
@@collation_server @@character_set_server
-utf8_spanish_ci utf8
+utf8mb3_spanish_ci utf8mb3
'--check if collation_server effects database/table charset/collation--'
SET @@session.collation_server = latin1_german1_ci;
CREATE DATABASE db1;
diff --git a/mysql-test/suite/sys_vars/r/expire_logs_days_basic.result b/mysql-test/suite/sys_vars/r/expire_logs_days_basic.result
index ea6f29767d9..63bf9285e72 100644
--- a/mysql-test/suite/sys_vars/r/expire_logs_days_basic.result
+++ b/mysql-test/suite/sys_vars/r/expire_logs_days_basic.result
@@ -14,79 +14,80 @@ SELECT @@global.expire_logs_days = @start_value;
SET @@global.expire_logs_days = 0;
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-0
+0.000000
SET @@global.expire_logs_days = 99;
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET @@global.expire_logs_days = 10;
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-10
+10.000000
SET @@global.expire_logs_days = 21;
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-21
+21.000000
'#--------------------FN_DYNVARS_029_04-------------------------#'
SET @@global.expire_logs_days = -1;
Warnings:
Warning 1292 Truncated incorrect expire_logs_days value: '-1'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-0
+0.000000
SET @@global.expire_logs_days = 100;
Warnings:
Warning 1292 Truncated incorrect expire_logs_days value: '100'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET @@global.expire_logs_days = 1024;
Warnings:
Warning 1292 Truncated incorrect expire_logs_days value: '1024'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET @@global.expire_logs_days = 10000.01;
-ERROR 42000: Incorrect argument type to variable 'expire_logs_days'
+Warnings:
+Warning 1292 Truncated incorrect expire_logs_days value: '10000.01'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET @@global.expire_logs_days = -1024;
Warnings:
Warning 1292 Truncated incorrect expire_logs_days value: '-1024'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-0
+0.000000
SET @@global.expire_logs_days = 42949672950;
Warnings:
Warning 1292 Truncated incorrect expire_logs_days value: '42949672950'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET @@global.expire_logs_days = ON;
ERROR 42000: Incorrect argument type to variable 'expire_logs_days'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
SET @@global.expire_logs_days = 'test';
ERROR 42000: Incorrect argument type to variable 'expire_logs_days'
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-99
+99.000000
'#-------------------FN_DYNVARS_029_05----------------------------#'
SET @@session.expire_logs_days = 0;
ERROR HY000: Variable 'expire_logs_days' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@expire_logs_days;
@@expire_logs_days
-99
+99.000000
'#----------------------FN_DYNVARS_029_06------------------------#'
-SELECT @@global.expire_logs_days = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+SELECT @@global.expire_logs_days = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='expire_logs_days';
@@global.expire_logs_days = VARIABLE_VALUE
1
-SELECT @@expire_logs_days = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+SELECT @@expire_logs_days = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='expire_logs_days';
@@expire_logs_days = VARIABLE_VALUE
1
@@ -94,11 +95,11 @@ WHERE VARIABLE_NAME='expire_logs_days';
SET @@global.expire_logs_days = TRUE;
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-1
+1.000000
SET @@global.expire_logs_days = FALSE;
SELECT @@global.expire_logs_days;
@@global.expire_logs_days
-0
+0.000000
'#---------------------FN_DYNVARS_029_08----------------------#'
SET @@global.expire_logs_days = 1;
SELECT @@expire_logs_days = @@global.expire_logs_days;
@@ -109,7 +110,7 @@ SET expire_logs_days = 1;
ERROR HY000: Variable 'expire_logs_days' is a GLOBAL variable and should be set with SET GLOBAL
SELECT @@expire_logs_days;
@@expire_logs_days
-1
+1.000000
SELECT local.expire_logs_days;
ERROR 42S02: Unknown table 'local' in field list
SELECT global.expire_logs_days;
diff --git a/mysql-test/suite/sys_vars/r/identity_func.result b/mysql-test/suite/sys_vars/r/identity_func.result
index 47a6fa856c5..2e064532228 100644
--- a/mysql-test/suite/sys_vars/r/identity_func.result
+++ b/mysql-test/suite/sys_vars/r/identity_func.result
@@ -14,6 +14,8 @@ id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
+INSERT INTO t1 VALUES(100, "MDEV-515");
+INSERT INTO t2 VALUES(100, "MDEV-515");
'#--------------------FN_DYNVARS_035_01-------------------------#'
## It should be zero ##
SELECT @@identity = 0;
@@ -29,40 +31,47 @@ INSERT into t1(name) values('Record_3');
## Verifying total values in t1 ##
SELECT @@identity from t1;
@@identity
-3
-3
-3
+103
+103
+103
+103
## Now inserting some data in table t2 ##
INSERT into t2(name) values('Record_1');
## Verifying total values in t2 ##
SELECT @@identity from t2;
@@identity
-1
+101
+101
'#--------------------FN_DYNVARS_035_02-------------------------#'
connect test_con2, localhost, root,,;
connection test_con2;
SELECT * from t1;
id name
+100 MDEV-515
## Verifying total values in t1 ##
SELECT @@identity from t1;
@@identity
+0
## Verifying total values in t2 ##
SELECT @@identity from t2;
@@identity
+0
## Inserting some more records in table t1 ##
INSERT into t1(name) values('Record_1_1');
INSERT into t1(name) values('Record_1_2');
## Verifying total values in t1 ##
SELECT @@identity from t1;
@@identity
-5
-5
+105
+105
+105
## Inserting row in table t2 ##
INSERT into t2(name) values('Record_1_3');
## Verifying total values in t2 ##
SELECT @@identity from t2;
@@identity
-2
+102
+102
'#--------------------FN_DYNVARS_035_03-------------------------#'
connection test_con1;
## Commiting rows added in test_con1 ##
@@ -70,38 +79,43 @@ COMMIT;
## Verifying records in both tables ##
SELECT * from t1;
id name
-1 Record_1
-2 Record_2
-3 Record_3
-4 Record_1_1
-5 Record_1_2
+100 MDEV-515
+101 Record_1
+102 Record_2
+103 Record_3
+104 Record_1_1
+105 Record_1_2
SELECT * from t2;
id name
-1 Record_1
-2 Record_1_3
+100 MDEV-515
+101 Record_1
+102 Record_1_3
## Verifying total values in t1 after commiting data ##
SELECT @@identity from t1;
@@identity
-1
-1
-1
-1
-1
+101
+101
+101
+101
+101
+101
## Verifying total values in t2 after commiting data ##
SELECT @@identity from t2;
@@identity
-1
-1
+101
+101
+101
INSERT into t1(name) values('Record_4');
## Now verifying value of variable after inserting 1 row in this connection ##
SELECT @@identity from t1;
@@identity
-6
-6
-6
-6
-6
-6
+106
+106
+106
+106
+106
+106
+106
## Dropping tables t1 & t2 ##
drop table t1, t2;
disconnect test_con1;
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 6ae3fd70188..1c25fedf03d 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
@@ -12,6 +12,7 @@ information_schema
mtr
mysql
performance_schema
+sys
test
USE ignored_db;
ERROR 42000: Incorrect database name 'ignored_db'
@@ -40,6 +41,7 @@ lost+found
mtr
mysql
performance_schema
+sys
test
DROP DATABASE `lost+found`;
SET @@global.ignore_db_dirs = 'aha';
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
deleted file mode 100644
index c5f468a7427..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_adaptive_max_sleep_delay_basic.result
+++ /dev/null
@@ -1,86 +0,0 @@
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-150000 Expected
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100;
-Warnings:
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=0;
-Warnings:
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100000;
-Warnings:
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000000;
-Warnings:
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000001;
-Warnings:
-Warning 1292 Truncated incorrect innodb_adaptive_max_sleep_delay value: '1000001'
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-1000000 Expected
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=4294967295;
-Warnings:
-Warning 1292 Truncated incorrect innodb_adaptive_max_sleep_delay value: '4294967295'
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-1000000 Expected
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1;
-Warnings:
-Warning 1292 Truncated incorrect innodb_adaptive_max_sleep_delay value: '-1'
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-@@GLOBAL.innodb_adaptive_max_sleep_delay
-0
-0 Expected
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1024;
-Warnings:
-Warning 1292 Truncated incorrect innodb_adaptive_max_sleep_delay value: '-1024'
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
-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;
-Warnings:
-Warning 138 The parameter innodb_adaptive_max_sleep_delay is deprecated and has no effect.
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
deleted file mode 100644
index 6020098acb9..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_check_interval_basic.result
+++ /dev/null
@@ -1,88 +0,0 @@
-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
-0
-set global innodb_background_scrub_data_check_interval=10;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-set global innodb_background_scrub_data_check_interval=DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-set global innodb_background_scrub_data_check_interval=20;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-set global innodb_background_scrub_data_check_interval=DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-#
-# exists as global only
-#
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-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 0
-show session variables like 'innodb_background_scrub_data_check_interval';
-Variable_name Value
-innodb_background_scrub_data_check_interval 0
-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 0
-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 0
-#
-# show that it's writable
-#
-set global innodb_background_scrub_data_check_interval=10;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-set global innodb_background_scrub_data_check_interval=20;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-set global innodb_background_scrub_data_check_interval=1;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_check_interval;
-@@global.innodb_background_scrub_data_check_interval
-0
-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;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_check_interval is deprecated and has no effect.
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
deleted file mode 100644
index cf78f063adc..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_compressed_basic.result
+++ /dev/null
@@ -1,58 +0,0 @@
-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;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_compressed is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_compressed;
-@@global.innodb_background_scrub_data_compressed
-0
-set global innodb_background_scrub_data_compressed=OFF;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_compressed is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_compressed;
-@@global.innodb_background_scrub_data_compressed
-0
-set global innodb_background_scrub_data_compressed=1;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_compressed is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_compressed;
-@@global.innodb_background_scrub_data_compressed
-0
-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;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_compressed is deprecated and has no effect.
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
deleted file mode 100644
index 338736c385e..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_interval_basic.result
+++ /dev/null
@@ -1,58 +0,0 @@
-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
-0
-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 0
-show session variables like 'innodb_background_scrub_data_interval';
-Variable_name Value
-innodb_background_scrub_data_interval 0
-select * from information_schema.global_variables
-where variable_name='innodb_background_scrub_data_interval';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_BACKGROUND_SCRUB_DATA_INTERVAL 0
-select * from information_schema.session_variables
-where variable_name='innodb_background_scrub_data_interval';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_BACKGROUND_SCRUB_DATA_INTERVAL 0
-#
-# show that it's writable
-#
-set global innodb_background_scrub_data_interval=100;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_interval;
-@@global.innodb_background_scrub_data_interval
-0
-set global innodb_background_scrub_data_interval=200;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_interval;
-@@global.innodb_background_scrub_data_interval
-0
-set global innodb_background_scrub_data_interval=300;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_interval is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_interval;
-@@global.innodb_background_scrub_data_interval
-0
-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;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_interval is deprecated and has no effect.
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
deleted file mode 100644
index 93337b838f9..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_background_scrub_data_uncompressed_basic.result
+++ /dev/null
@@ -1,58 +0,0 @@
-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;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_uncompressed is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_uncompressed;
-@@global.innodb_background_scrub_data_uncompressed
-0
-set global innodb_background_scrub_data_uncompressed=OFF;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_uncompressed is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_uncompressed;
-@@global.innodb_background_scrub_data_uncompressed
-0
-set global innodb_background_scrub_data_uncompressed=1;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_uncompressed is deprecated and has no effect.
-select @@global.innodb_background_scrub_data_uncompressed;
-@@global.innodb_background_scrub_data_uncompressed
-0
-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;
-Warnings:
-Warning 138 The parameter innodb_background_scrub_data_uncompressed is deprecated and has no effect.
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result
index 1b8e7bf3a56..051bb0e321c 100644
--- a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result
@@ -1,9 +1,15 @@
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
SELECT @@global.innodb_buffer_pool_evict;
@@global.innodb_buffer_pool_evict
+SET GLOBAL innodb_read_only_compressed=ON;
+CREATE TABLE t(a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+ERROR HY000: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
+SET GLOBAL innodb_read_only_compressed=OFF;
CREATE TABLE t(a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
SET GLOBAL innodb_buffer_pool_evict = 'uncompressed';
SELECT @@global.innodb_buffer_pool_evict;
@@global.innodb_buffer_pool_evict
DROP TABLE t;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
diff --git a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_instances_basic.result b/mysql-test/suite/sys_vars/r/innodb_buffer_pool_instances_basic.result
deleted file mode 100644
index a3c1a7b7bd4..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_buffer_pool_instances_basic.result
+++ /dev/null
@@ -1,53 +0,0 @@
-'#---------------------BS_STVARS_035_01----------------------#'
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
-COUNT(@@GLOBAL.innodb_buffer_pool_instances)
-1
-1 Expected
-'#---------------------BS_STVARS_035_02----------------------#'
-SET @@GLOBAL.innodb_buffer_pool_instances=1;
-ERROR HY000: Variable 'innodb_buffer_pool_instances' is a read only variable
-Expected error 'Read only variable'
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
-COUNT(@@GLOBAL.innodb_buffer_pool_instances)
-1
-1 Expected
-'#---------------------BS_STVARS_035_03----------------------#'
-SELECT @@GLOBAL.innodb_buffer_pool_instances = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_buffer_pool_instances';
-@@GLOBAL.innodb_buffer_pool_instances = VARIABLE_VALUE
-1
-1 Expected
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
-COUNT(@@GLOBAL.innodb_buffer_pool_instances)
-1
-1 Expected
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_buffer_pool_instances';
-COUNT(VARIABLE_VALUE)
-1
-1 Expected
-'#---------------------BS_STVARS_035_04----------------------#'
-SELECT @@innodb_buffer_pool_instances = @@GLOBAL.innodb_buffer_pool_instances;
-@@innodb_buffer_pool_instances = @@GLOBAL.innodb_buffer_pool_instances
-1
-1 Expected
-'#---------------------BS_STVARS_035_05----------------------#'
-SELECT COUNT(@@innodb_buffer_pool_instances);
-COUNT(@@innodb_buffer_pool_instances)
-1
-1 Expected
-SELECT COUNT(@@local.innodb_buffer_pool_instances);
-ERROR HY000: Variable 'innodb_buffer_pool_instances' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@SESSION.innodb_buffer_pool_instances);
-ERROR HY000: Variable 'innodb_buffer_pool_instances' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
-COUNT(@@GLOBAL.innodb_buffer_pool_instances)
-1
-1 Expected
-SELECT innodb_buffer_pool_instances = @@SESSION.innodb_buffer_pool_instances;
-ERROR 42S22: Unknown column 'innodb_buffer_pool_instances' in 'field list'
-Expected error 'Readonly variable'
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
index 29b607e46b1..b17d8ea4fbb 100644
--- a/mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_checksum_algorithm_basic.result
@@ -10,30 +10,6 @@ SET GLOBAL innodb_checksum_algorithm = 'strict_crc32';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
strict_crc32
-SET GLOBAL innodb_checksum_algorithm = 'innodb';
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-SELECT @@global.innodb_checksum_algorithm;
-@@global.innodb_checksum_algorithm
-innodb
-SET GLOBAL innodb_checksum_algorithm = 'strict_innodb';
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-SELECT @@global.innodb_checksum_algorithm;
-@@global.innodb_checksum_algorithm
-strict_innodb
-SET GLOBAL innodb_checksum_algorithm = 'none';
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-SELECT @@global.innodb_checksum_algorithm;
-@@global.innodb_checksum_algorithm
-none
-SET GLOBAL innodb_checksum_algorithm = 'strict_none';
-Warnings:
-Warning 138 Setting innodb_checksum_algorithm to values other than crc32, full_crc32, strict_crc32 or strict_full_crc32 is UNSAFE and DEPRECATED. These deprecated values will be disallowed in MariaDB 10.6.
-SELECT @@global.innodb_checksum_algorithm;
-@@global.innodb_checksum_algorithm
-strict_none
SET GLOBAL innodb_checksum_algorithm = 'full_crc32';
SELECT @@global.innodb_checksum_algorithm;
@@global.innodb_checksum_algorithm
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
index 31bc11de717..1a32ac6e99e 100644
--- 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
@@ -1,3 +1,5 @@
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
SELECT @@global.innodb_cmp_per_index_enabled;
@@global.innodb_cmp_per_index_enabled
0
@@ -61,3 +63,4 @@ uncompress_ops 0
uncompress_time 0
DROP TABLE t;
SET GLOBAL innodb_cmp_per_index_enabled=default;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
diff --git a/mysql-test/suite/sys_vars/r/innodb_commit_concurrency_basic.result b/mysql-test/suite/sys_vars/r/innodb_commit_concurrency_basic.result
deleted file mode 100644
index 3c1f6a7d2aa..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_commit_concurrency_basic.result
+++ /dev/null
@@ -1,105 +0,0 @@
-SET @global_start_value = @@global.innodb_commit_concurrency;
-SELECT @global_start_value;
-@global_start_value
-0
-'#--------------------FN_DYNVARS_046_01------------------------#'
-SET @@global.innodb_commit_concurrency = 0;
-Warnings:
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SET @@global.innodb_commit_concurrency = DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-'#---------------------FN_DYNVARS_046_02-------------------------#'
-SET innodb_commit_concurrency = 1;
-ERROR HY000: Variable 'innodb_commit_concurrency' is a GLOBAL variable and should be set with SET GLOBAL
-SET GLOBAL innodb_commit_concurrency = 1;
-Warnings:
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@innodb_commit_concurrency;
-@@innodb_commit_concurrency
-0
-SELECT local.innodb_commit_concurrency;
-ERROR 42S02: Unknown table 'local' in field list
-SET global innodb_commit_concurrency = 0;
-Warnings:
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-'#--------------------FN_DYNVARS_046_03------------------------#'
-SET @@global.innodb_commit_concurrency = 0;
-Warnings:
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-'#--------------------FN_DYNVARS_046_04-------------------------#'
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = -1;
-Warnings:
-Warning 1292 Truncated incorrect innodb_commit_concurrency value: '-1'
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = "T";
-ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency'
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = "Y";
-ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency'
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = 1.1;
-ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency'
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = 1001;
-Warnings:
-Warning 1292 Truncated incorrect innodb_commit_concurrency value: '1001'
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-'#----------------------FN_DYNVARS_046_05------------------------#'
-SELECT @@global.innodb_commit_concurrency =
-VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_commit_concurrency';
-@@global.innodb_commit_concurrency =
-VARIABLE_VALUE
-1
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_commit_concurrency';
-VARIABLE_VALUE
-0
-'#---------------------FN_DYNVARS_046_06-------------------------#'
-SET @@global.innodb_commit_concurrency = OFF;
-ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency'
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = ON;
-ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency'
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
-SET @@global.innodb_commit_concurrency = @global_start_value;
-Warnings:
-Warning 138 The parameter innodb_commit_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_commit_concurrency;
-@@global.innodb_commit_concurrency
-0
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
deleted file mode 100644
index 5d35833dd88..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_concurrency_tickets_basic.result
+++ /dev/null
@@ -1,144 +0,0 @@
-SET @global_start_value = @@global.innodb_concurrency_tickets;
-SELECT @global_start_value;
-@global_start_value
-0
-'#--------------------FN_DYNVARS_046_01------------------------#'
-SET @@global.innodb_concurrency_tickets = 0;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SET @@global.innodb_concurrency_tickets = DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-'#---------------------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
-0
-SELECT local.innodb_concurrency_tickets;
-ERROR 42S02: Unknown table 'local' in field list
-SET global innodb_concurrency_tickets = 0;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-'#--------------------FN_DYNVARS_046_03------------------------#'
-SET @@global.innodb_concurrency_tickets = 1;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = 1000;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = 4294967295;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-'#--------------------FN_DYNVARS_046_04-------------------------#'
-SET @@global.innodb_concurrency_tickets = 4294967296;
-SELECT @@global.innodb_concurrency_tickets IN (4294967296,4294967295);
-@@global.innodb_concurrency_tickets IN (4294967296,4294967295)
-0
-SET @@global.innodb_concurrency_tickets = 12345678901;
-SELECT @@global.innodb_concurrency_tickets IN (12345678901,4294967295);
-@@global.innodb_concurrency_tickets IN (12345678901,4294967295)
-0
-SET @@global.innodb_concurrency_tickets = 18446744073709551615;
-SELECT @@global.innodb_concurrency_tickets IN (18446744073709551615,4294967295);
-@@global.innodb_concurrency_tickets IN (18446744073709551615,4294967295)
-0
-'#--------------------FN_DYNVARS_046_05-------------------------#'
-SET @@global.innodb_concurrency_tickets = -1;
-Warnings:
-Warning 1292 Truncated incorrect innodb_concurrency_tickets value: '-1'
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = -1024;
-Warnings:
-Warning 1292 Truncated incorrect innodb_concurrency_tickets value: '-1024'
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = "T";
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = "Y";
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = 1.1;
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = " ";
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = ' ';
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-'#----------------------FN_DYNVARS_046_06------------------------#'
-SELECT @@global.innodb_concurrency_tickets =
-VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_concurrency_tickets';
-@@global.innodb_concurrency_tickets =
-VARIABLE_VALUE
-1
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_concurrency_tickets';
-VARIABLE_VALUE
-0
-'#---------------------FN_DYNVARS_046_07-------------------------#'
-SET @@global.innodb_concurrency_tickets = OFF;
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = ON;
-ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets'
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-'#---------------------FN_DYNVARS_046_08----------------------#'
-SET @@global.innodb_concurrency_tickets = TRUE;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = FALSE;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
-SET @@global.innodb_concurrency_tickets = @global_start_value;
-Warnings:
-Warning 138 The parameter innodb_concurrency_tickets is deprecated and has no effect.
-SELECT @@global.innodb_concurrency_tickets;
-@@global.innodb_concurrency_tickets
-0
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
index b3ab6fbc1da..674934af13e 100644
--- 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
@@ -1,25 +1,12 @@
connect con1,localhost,root,,;
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+SET DEBUG_SYNC='create_table SIGNAL stuck WAIT_FOR ever';
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
connect con2,localhost,root,,;
-drop table if exists t1;
-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;
-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;
+SET DEBUG_SYNC='now WAIT_FOR stuck';
+FLUSH TABLES;
+SELECT * FROM t1;
connection default;
-# 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
+# Waiting for mariadbd to crash
+# Crash was detected
+DROP TABLE t1;
diff --git a/mysql-test/suite/sys_vars/r/innodb_flush_method_func.result b/mysql-test/suite/sys_vars/r/innodb_flush_method_func.result
index afecd9ab6cc..c4881df9375 100644
--- a/mysql-test/suite/sys_vars/r/innodb_flush_method_func.result
+++ b/mysql-test/suite/sys_vars/r/innodb_flush_method_func.result
@@ -1,7 +1,7 @@
call mtr.add_suppression("InnoDB: Failed to set .*DIRECT");
select @@innodb_flush_method;
@@innodb_flush_method
-fsync
+O_DIRECT
create table t(a serial) engine=innodb;
FLUSH TABLES;
# restart: --innodb-flush-method=5
diff --git a/mysql-test/suite/sys_vars/r/innodb_force_load_corrupted_basic.result b/mysql-test/suite/sys_vars/r/innodb_force_load_corrupted_basic.result
deleted file mode 100644
index bc9b7019eb8..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_force_load_corrupted_basic.result
+++ /dev/null
@@ -1,53 +0,0 @@
-'#---------------------BS_STVARS_031_01----------------------#'
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
-COUNT(@@GLOBAL.innodb_force_load_corrupted)
-1
-1 Expected
-'#---------------------BS_STVARS_031_02----------------------#'
-SET @@GLOBAL.innodb_force_load_corrupted=1;
-ERROR HY000: Variable 'innodb_force_load_corrupted' is a read only variable
-Expected error 'Read only variable'
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
-COUNT(@@GLOBAL.innodb_force_load_corrupted)
-1
-1 Expected
-'#---------------------BS_STVARS_031_03----------------------#'
-SELECT IF(@@GLOBAL.innodb_force_load_corrupted, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_force_load_corrupted';
-IF(@@GLOBAL.innodb_force_load_corrupted, "ON", "OFF") = VARIABLE_VALUE
-1
-1 Expected
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
-COUNT(@@GLOBAL.innodb_force_load_corrupted)
-1
-1 Expected
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_force_load_corrupted';
-COUNT(VARIABLE_VALUE)
-1
-1 Expected
-'#---------------------BS_STVARS_031_04----------------------#'
-SELECT @@innodb_force_load_corrupted = @@GLOBAL.innodb_force_load_corrupted;
-@@innodb_force_load_corrupted = @@GLOBAL.innodb_force_load_corrupted
-1
-1 Expected
-'#---------------------BS_STVARS_031_05----------------------#'
-SELECT COUNT(@@innodb_force_load_corrupted);
-COUNT(@@innodb_force_load_corrupted)
-1
-1 Expected
-SELECT COUNT(@@local.innodb_force_load_corrupted);
-ERROR HY000: Variable 'innodb_force_load_corrupted' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@SESSION.innodb_force_load_corrupted);
-ERROR HY000: Variable 'innodb_force_load_corrupted' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
-COUNT(@@GLOBAL.innodb_force_load_corrupted)
-1
-1 Expected
-SELECT innodb_force_load_corrupted = @@SESSION.innodb_force_load_corrupted;
-ERROR 42S22: Unknown column 'innodb_force_load_corrupted' in 'field list'
-Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result b/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result
index 3218c096c2b..fc60f89d72f 100644
--- a/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result
@@ -74,9 +74,11 @@ SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
1024
SET @@global.innodb_lock_wait_timeout=1073741824;
+Warnings:
+Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '1073741824'
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@session.innodb_lock_wait_timeout=1;
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
@@ -86,14 +88,16 @@ SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
1024
SET @@session.innodb_lock_wait_timeout=1073741824;
+Warnings:
+Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '1073741824'
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@global.innodb_lock_wait_timeout="t";
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@global.innodb_lock_wait_timeout=-1024;
Warnings:
Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '-1024'
@@ -105,27 +109,27 @@ Warnings:
Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '1073741825'
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@global.innodb_lock_wait_timeout=" ";
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@global.innodb_lock_wait_timeout=' ';
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@global.innodb_lock_wait_timeout=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@session.innodb_lock_wait_timeout="T";
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@session.innodb_lock_wait_timeout=-1024;
Warnings:
Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '-1024'
@@ -137,22 +141,22 @@ Warnings:
Warning 1292 Truncated incorrect innodb_lock_wait_timeout value: '1073999999'
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@session.innodb_lock_wait_timeout=' ';
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@session.innodb_lock_wait_timeout=" ";
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@session.innodb_lock_wait_timeout=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_lock_wait_timeout'
SELECT @@session.innodb_lock_wait_timeout;
@@session.innodb_lock_wait_timeout
-1073741824
+100000000
SET @@global.innodb_lock_wait_timeout = @start_global_value;
SELECT @@global.innodb_lock_wait_timeout;
@@global.innodb_lock_wait_timeout
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_checksums_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_checksums_basic.result
deleted file mode 100644
index bf70bbb1bea..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_log_checksums_basic.result
+++ /dev/null
@@ -1,50 +0,0 @@
-SET @orig = @@global.innodb_log_checksums;
-SELECT @orig;
-@orig
-1
-SET GLOBAL innodb_log_checksums = 'crc32';
-ERROR 42000: Variable 'innodb_log_checksums' can't be set to the value of 'crc32'
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET GLOBAL innodb_log_checksums = 2;
-ERROR 42000: Variable 'innodb_log_checksums' can't be set to the value of '2'
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET GLOBAL innodb_log_checksums = 1e2;
-ERROR 42000: Incorrect argument type to variable 'innodb_log_checksums'
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET GLOBAL innodb_log_checksums = 1.0;
-ERROR 42000: Incorrect argument type to variable 'innodb_log_checksums'
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET innodb_log_checksums = OFF;
-ERROR HY000: Variable 'innodb_log_checksums' is a GLOBAL variable and should be set with SET GLOBAL
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET GLOBAL innodb_log_checksums = OFF;
-Warnings:
-Warning 138 The parameter innodb_log_checksums is deprecated and has no effect.
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET GLOBAL innodb_log_checksums = default;
-Warnings:
-Warning 138 The parameter innodb_log_checksums is deprecated and has no effect.
-SET GLOBAL innodb_log_checksums = ON;
-Warnings:
-Warning 138 The parameter innodb_log_checksums is deprecated and has no effect.
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
-SET GLOBAL innodb_log_checksums = @orig;
-Warnings:
-Warning 138 The parameter innodb_log_checksums is deprecated and has no effect.
-SELECT @@global.innodb_log_checksums;
-@@global.innodb_log_checksums
-1
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
deleted file mode 100644
index 62c7bf73176..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_log_compressed_pages_basic.result
+++ /dev/null
@@ -1,79 +0,0 @@
-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;
-Warnings:
-Warning 138 The parameter innodb_log_compressed_pages is deprecated and has no effect.
-SELECT @@global.innodb_log_compressed_pages;
-@@global.innodb_log_compressed_pages
-1
-SET @@global.innodb_log_compressed_pages ='On' ;
-Warnings:
-Warning 138 The parameter innodb_log_compressed_pages is deprecated and has no effect.
-SELECT @@global.innodb_log_compressed_pages;
-@@global.innodb_log_compressed_pages
-1
-SET @@global.innodb_log_compressed_pages ='Off' ;
-Warnings:
-Warning 138 The parameter innodb_log_compressed_pages is deprecated and has no effect.
-SELECT @@global.innodb_log_compressed_pages;
-@@global.innodb_log_compressed_pages
-1
-SET @@global.innodb_log_compressed_pages = 1;
-Warnings:
-Warning 138 The parameter innodb_log_compressed_pages is deprecated and has no effect.
-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;
-Warnings:
-Warning 138 The parameter innodb_log_compressed_pages is deprecated and has no effect.
-SELECT @@global.innodb_log_compressed_pages;
-@@global.innodb_log_compressed_pages
-1
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_files_in_group_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_files_in_group_basic.result
deleted file mode 100644
index 1191ef010f8..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_log_files_in_group_basic.result
+++ /dev/null
@@ -1,53 +0,0 @@
-'#---------------------BS_STVARS_034_01----------------------#'
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
-COUNT(@@GLOBAL.innodb_log_files_in_group)
-1
-1 Expected
-'#---------------------BS_STVARS_034_02----------------------#'
-SET @@GLOBAL.innodb_log_files_in_group=1;
-ERROR HY000: Variable 'innodb_log_files_in_group' is a read only variable
-Expected error 'Read only variable'
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
-COUNT(@@GLOBAL.innodb_log_files_in_group)
-1
-1 Expected
-'#---------------------BS_STVARS_034_03----------------------#'
-SELECT @@GLOBAL.innodb_log_files_in_group = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_files_in_group';
-@@GLOBAL.innodb_log_files_in_group = VARIABLE_VALUE
-1
-1 Expected
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
-COUNT(@@GLOBAL.innodb_log_files_in_group)
-1
-1 Expected
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_files_in_group';
-COUNT(VARIABLE_VALUE)
-1
-1 Expected
-'#---------------------BS_STVARS_034_04----------------------#'
-SELECT @@innodb_log_files_in_group = @@GLOBAL.innodb_log_files_in_group;
-@@innodb_log_files_in_group = @@GLOBAL.innodb_log_files_in_group
-1
-1 Expected
-'#---------------------BS_STVARS_034_05----------------------#'
-SELECT COUNT(@@innodb_log_files_in_group);
-COUNT(@@innodb_log_files_in_group)
-1
-1 Expected
-SELECT COUNT(@@local.innodb_log_files_in_group);
-ERROR HY000: Variable 'innodb_log_files_in_group' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@SESSION.innodb_log_files_in_group);
-ERROR HY000: Variable 'innodb_log_files_in_group' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
-COUNT(@@GLOBAL.innodb_log_files_in_group)
-1
-1 Expected
-SELECT innodb_log_files_in_group = @@SESSION.innodb_log_files_in_group;
-ERROR 42S22: Unknown column 'innodb_log_files_in_group' in 'field list'
-Expected error 'Readonly variable'
diff --git a/mysql-test/suite/sys_vars/r/innodb_log_optimize_ddl_basic.result b/mysql-test/suite/sys_vars/r/innodb_log_optimize_ddl_basic.result
deleted file mode 100644
index 45773ff8d6a..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_log_optimize_ddl_basic.result
+++ /dev/null
@@ -1,42 +0,0 @@
-SELECT COUNT(@@GLOBAL.innodb_log_optimize_ddl);
-COUNT(@@GLOBAL.innodb_log_optimize_ddl)
-1
-1 Expected
-SELECT COUNT(@@SESSION.innodb_log_optimize_ddl);
-ERROR HY000: Variable 'innodb_log_optimize_ddl' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT @@GLOBAL.innodb_log_optimize_ddl INTO @innodb_log_optimize_ddl_save;
-SET @@GLOBAL.innodb_log_optimize_ddl = ON;
-Warnings:
-Warning 138 The parameter innodb_log_optimize_ddl is deprecated and has no effect.
-SET @@GLOBAL.innodb_log_optimize_ddl = OFF;
-Warnings:
-Warning 138 The parameter innodb_log_optimize_ddl is deprecated and has no effect.
-SET @@GLOBAL.innodb_log_optimize_ddl = 13;
-ERROR 42000: Variable 'innodb_log_optimize_ddl' can't be set to the value of '13'
-SET @@GLOBAL.innodb_log_optimize_ddl = 'ABC';
-ERROR 42000: Variable 'innodb_log_optimize_ddl' can't be set to the value of 'ABC'
-SELECT @@GLOBAL.innodb_log_optimize_ddl = 0
-OR @@GLOBAL.innodb_log_optimize_ddl = 1 AS col;
-col
-1
-1 Expected
-SELECT @@innodb_log_optimize_ddl = @@GLOBAL.innodb_log_optimize_ddl AS col;
-col
-1
-1 Expected
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_optimize_ddl';
-VARIABLE_VALUE
-OFF
-SHOW VARIABLES WHERE VARIABLE_NAME='innodb_log_optimize_ddl';
-Variable_name Value
-innodb_log_optimize_ddl OFF
-SELECT @@local.innodb_log_optimize_ddl;
-ERROR HY000: Variable 'innodb_log_optimize_ddl' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT innodb_log_optimize_ddl;
-ERROR 42S22: Unknown column 'innodb_log_optimize_ddl' in 'field list'
-SET GLOBAL innodb_log_optimize_ddl = @innodb_log_optimize_ddl_save;
-Warnings:
-Warning 138 The parameter innodb_log_optimize_ddl is deprecated and has no effect.
diff --git a/mysql-test/suite/sys_vars/r/innodb_page_cleaners_basic.result b/mysql-test/suite/sys_vars/r/innodb_page_cleaners_basic.result
deleted file mode 100644
index db9d94c5fac..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_page_cleaners_basic.result
+++ /dev/null
@@ -1,78 +0,0 @@
-SELECT COUNT(@@GLOBAL.innodb_page_cleaners);
-COUNT(@@GLOBAL.innodb_page_cleaners)
-1
-1 Expected
-SELECT @@innodb_page_cleaners;
-@@innodb_page_cleaners
-1
-1 Expected
-SET @@GLOBAL.innodb_page_cleaners=2;
-Warnings:
-Warning 138 The parameter innodb_page_cleaners is deprecated and has no effect.
-Expected to pass
-SELECT @@innodb_page_cleaners;
-@@innodb_page_cleaners
-1
-2 Expected
-SET @@GLOBAL.innodb_page_cleaners=1;
-Warnings:
-Warning 138 The parameter innodb_page_cleaners is deprecated and has no effect.
-Expected to pass
-SELECT @@innodb_page_cleaners;
-@@innodb_page_cleaners
-1
-1 Expected
-SET @@GLOBAL.innodb_page_cleaners=6;
-Warnings:
-Warning 138 The parameter innodb_page_cleaners is deprecated and has no effect.
-Expected to pass
-SELECT @@innodb_page_cleaners;
-@@innodb_page_cleaners
-1
-6 Expected
-SET @@GLOBAL.innodb_page_cleaners=4;
-Warnings:
-Warning 138 The parameter innodb_page_cleaners is deprecated and has no effect.
-Expected to pass
-SELECT @@innodb_page_cleaners;
-@@innodb_page_cleaners
-1
-4 Expected
-SET @@GLOBAL.innodb_page_cleaners=0;
-Warnings:
-Warning 138 The parameter innodb_page_cleaners is deprecated and has no effect.
-Warning expected
-SELECT @@innodb_page_cleaners;
-@@innodb_page_cleaners
-1
-1 Expected
-SELECT innodb_page_cleaners = @@SESSION.innodb_page_cleaners;
-ERROR 42S22: Unknown column 'innodb_page_cleaners' in 'field list'
-Expected error 'Read-only variable'
-SELECT @@GLOBAL.innodb_page_cleaners = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_page_cleaners';
-@@GLOBAL.innodb_page_cleaners = VARIABLE_VALUE
-1
-1 Expected
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_page_cleaners';
-COUNT(VARIABLE_VALUE)
-1
-1 Expected
-SELECT @@innodb_page_cleaners = @@GLOBAL.innodb_page_cleaners;
-@@innodb_page_cleaners = @@GLOBAL.innodb_page_cleaners
-1
-1 Expected
-SELECT COUNT(@@local.innodb_page_cleaners);
-ERROR HY000: Variable 'innodb_page_cleaners' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT COUNT(@@SESSION.innodb_page_cleaners);
-ERROR HY000: Variable 'innodb_page_cleaners' is a GLOBAL variable
-Expected error 'Variable is a GLOBAL variable'
-SELECT VARIABLE_NAME, VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME = 'innodb_page_cleaners';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_PAGE_CLEANERS 1
diff --git a/mysql-test/suite/sys_vars/r/innodb_replication_delay_basic.result b/mysql-test/suite/sys_vars/r/innodb_replication_delay_basic.result
deleted file mode 100644
index 53a499ff34b..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_replication_delay_basic.result
+++ /dev/null
@@ -1,114 +0,0 @@
-SET @start_global_value = @@global.innodb_replication_delay;
-SELECT @start_global_value;
-@start_global_value
-0
-Valid values are zero or above
-select @@global.innodb_replication_delay >=0;
-@@global.innodb_replication_delay >=0
-1
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-select @@session.innodb_replication_delay;
-ERROR HY000: Variable 'innodb_replication_delay' is a GLOBAL variable
-show global variables like 'innodb_replication_delay';
-Variable_name Value
-innodb_replication_delay 0
-show session variables like 'innodb_replication_delay';
-Variable_name Value
-innodb_replication_delay 0
-select * from information_schema.global_variables where variable_name='innodb_replication_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_REPLICATION_DELAY 0
-select * from information_schema.session_variables where variable_name='innodb_replication_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_REPLICATION_DELAY 0
-set global innodb_replication_delay=10;
-Warnings:
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-select * from information_schema.global_variables where variable_name='innodb_replication_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_REPLICATION_DELAY 0
-select * from information_schema.session_variables where variable_name='innodb_replication_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_REPLICATION_DELAY 0
-set session innodb_replication_delay=1;
-ERROR HY000: Variable 'innodb_replication_delay' is a GLOBAL variable and should be set with SET GLOBAL
-set global innodb_replication_delay=DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=0;
-Warnings:
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=65535;
-Warnings:
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=4294967295;
-Warnings:
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=1.1;
-ERROR 42000: Incorrect argument type to variable 'innodb_replication_delay'
-set global innodb_replication_delay=1e1;
-ERROR 42000: Incorrect argument type to variable 'innodb_replication_delay'
-set global innodb_replication_delay="foo";
-ERROR 42000: Incorrect argument type to variable 'innodb_replication_delay'
-set global innodb_replication_delay=' ';
-ERROR 42000: Incorrect argument type to variable 'innodb_replication_delay'
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=" ";
-ERROR 42000: Incorrect argument type to variable 'innodb_replication_delay'
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=-7;
-Warnings:
-Warning 1292 Truncated incorrect innodb_replication_delay value: '-7'
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-set global innodb_replication_delay=-1024;
-Warnings:
-Warning 1292 Truncated incorrect innodb_replication_delay value: '-1024'
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-select @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
-select * from information_schema.global_variables where variable_name='innodb_replication_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_REPLICATION_DELAY 0
-SET @@global.innodb_replication_delay = 4294967296;
-SELECT @@global.innodb_replication_delay IN (4294967296,4294967295);
-@@global.innodb_replication_delay IN (4294967296,4294967295)
-0
-SET @@global.innodb_replication_delay = 12345678901;
-SELECT @@global.innodb_replication_delay IN (12345678901,4294967295);
-@@global.innodb_replication_delay IN (12345678901,4294967295)
-0
-SET @@global.innodb_replication_delay = 18446744073709551615;
-SELECT @@global.innodb_replication_delay IN (18446744073709551615,4294967295);
-@@global.innodb_replication_delay IN (18446744073709551615,4294967295)
-0
-SET @@global.innodb_replication_delay = @start_global_value;
-Warnings:
-Warning 138 The parameter innodb_replication_delay is deprecated and has no effect.
-SELECT @@global.innodb_replication_delay;
-@@global.innodb_replication_delay
-0
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
deleted file mode 100644
index f56d80455c5..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_scrub_log_basic.result
+++ /dev/null
@@ -1,48 +0,0 @@
-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 'Unknown 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
deleted file mode 100644
index 9fba89438fb..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_scrub_log_speed_basic.result
+++ /dev/null
@@ -1,57 +0,0 @@
-SELECT @@GLOBAL.innodb_scrub_log_speed;
-@@GLOBAL.innodb_scrub_log_speed
-256
-200 Expected
-SET @@GLOBAL.innodb_scrub_log_speed=100;
-Warnings:
-Warning 138 The parameter innodb_scrub_log_speed is deprecated and has no effect.
-1 Expected
-SELECT @@GLOBAL.innodb_scrub_log_speed;
-@@GLOBAL.innodb_scrub_log_speed
-256
-100 Expected
-SET @@GLOBAL.innodb_scrub_log_speed=DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_scrub_log_speed is deprecated and has no effect.
-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 'Unknown column in field list'
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
index 94de032a0fd..c7dccdd2398 100644
--- a/mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_stats_persistent_basic.result
@@ -1,6 +1,7 @@
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
SELECT @@innodb_stats_persistent;
@@innodb_stats_persistent
-0
+1
SET GLOBAL innodb_stats_persistent=ON;
SELECT @@innodb_stats_persistent;
@@innodb_stats_persistent
@@ -21,4 +22,4 @@ 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;
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
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
deleted file mode 100644
index 526dd7d8350..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result
+++ /dev/null
@@ -1,30 +0,0 @@
-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_sync_debug_basic.result b/mysql-test/suite/sys_vars/r/innodb_sync_debug_basic.result
deleted file mode 100644
index 72420c8595b..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_sync_debug_basic.result
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Basic test for innodb_sync_debug
-#
-SELECT @@global.innodb_sync_debug;
-@@global.innodb_sync_debug
-0
-set global innodb_sync_debug = 1;
-ERROR HY000: Variable 'innodb_sync_debug' is a read only variable
-SELECT @@global.innodb_sync_debug;
-@@global.innodb_sync_debug
-0
diff --git a/mysql-test/suite/sys_vars/r/innodb_thread_concurrency_basic.result b/mysql-test/suite/sys_vars/r/innodb_thread_concurrency_basic.result
deleted file mode 100644
index 39d1a659a20..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_thread_concurrency_basic.result
+++ /dev/null
@@ -1,131 +0,0 @@
-SET @global_start_value = @@global.innodb_thread_concurrency;
-SELECT @global_start_value;
-@global_start_value
-0
-'#--------------------FN_DYNVARS_046_01------------------------#'
-SET @@global.innodb_thread_concurrency = 0;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SET @@global.innodb_thread_concurrency = DEFAULT;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-'#---------------------FN_DYNVARS_046_02-------------------------#'
-SET innodb_thread_concurrency = 1;
-ERROR HY000: Variable 'innodb_thread_concurrency' is a GLOBAL variable and should be set with SET GLOBAL
-SELECT @@innodb_thread_concurrency;
-@@innodb_thread_concurrency
-0
-SELECT local.innodb_thread_concurrency;
-ERROR 42S02: Unknown table 'local' in field list
-SET global innodb_thread_concurrency = 0;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-'#--------------------FN_DYNVARS_046_03------------------------#'
-SET @@global.innodb_thread_concurrency = 0;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = 1;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = 1000;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-'#--------------------FN_DYNVARS_046_04-------------------------#'
-SET @@global.innodb_thread_concurrency = -1;
-Warnings:
-Warning 1292 Truncated incorrect innodb_thread_concurrency value: '-1'
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = "T";
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = "Y";
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = ' ';
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = " ";
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = 1001;
-Warnings:
-Warning 1292 Truncated incorrect innodb_thread_concurrency value: '1001'
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = 255.01;
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-'#----------------------FN_DYNVARS_046_05------------------------#'
-SELECT @@global.innodb_thread_concurrency =
-VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_thread_concurrency';
-@@global.innodb_thread_concurrency =
-VARIABLE_VALUE
-1
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_thread_concurrency';
-VARIABLE_VALUE
-0
-'#---------------------FN_DYNVARS_046_06-------------------------#'
-SET @@global.innodb_thread_concurrency = OFF;
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = ON;
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency'
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-'#---------------------FN_DYNVARS_046_07----------------------#'
-SET @@global.innodb_thread_concurrency = TRUE;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = FALSE;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
-SET @@global.innodb_thread_concurrency = @global_start_value;
-Warnings:
-Warning 138 The parameter innodb_thread_concurrency is deprecated and has no effect.
-SELECT @@global.innodb_thread_concurrency;
-@@global.innodb_thread_concurrency
-0
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
deleted file mode 100644
index b6310bb5652..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result
+++ /dev/null
@@ -1,104 +0,0 @@
-SET @start_global_value = @@global.innodb_thread_sleep_delay;
-SELECT @start_global_value;
-@start_global_value
-0
-Valid values are zero or above
-select @@global.innodb_thread_sleep_delay >=0;
-@@global.innodb_thread_sleep_delay >=0
-1
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-select @@session.innodb_thread_sleep_delay;
-ERROR HY000: Variable 'innodb_thread_sleep_delay' is a GLOBAL variable
-show global variables like 'innodb_thread_sleep_delay';
-Variable_name Value
-innodb_thread_sleep_delay 0
-show session variables like 'innodb_thread_sleep_delay';
-Variable_name Value
-innodb_thread_sleep_delay 0
-select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_THREAD_SLEEP_DELAY 0
-select * from information_schema.session_variables where variable_name='innodb_thread_sleep_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_THREAD_SLEEP_DELAY 0
-set global innodb_thread_sleep_delay=10;
-Warnings:
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_THREAD_SLEEP_DELAY 0
-select * from information_schema.session_variables where variable_name='innodb_thread_sleep_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_THREAD_SLEEP_DELAY 0
-set session innodb_thread_sleep_delay=1;
-ERROR HY000: Variable 'innodb_thread_sleep_delay' is a GLOBAL variable and should be set with SET GLOBAL
-set global innodb_thread_sleep_delay=1.1;
-ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
-set global innodb_thread_sleep_delay=1e1;
-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;
-Warnings:
-Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated
-Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '9223372036854775807'
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-set global innodb_thread_sleep_delay=-7;
-Warnings:
-Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '-7'
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_THREAD_SLEEP_DELAY 0
-set global innodb_thread_sleep_delay=0;
-Warnings:
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-set global innodb_thread_sleep_delay=1000;
-Warnings:
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-set global innodb_thread_sleep_delay=1000000;
-Warnings:
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-set global innodb_thread_sleep_delay=1000001;
-Warnings:
-Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '1000001'
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-set global innodb_thread_sleep_delay=4294967295;
-Warnings:
-Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '4294967295'
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-set global innodb_thread_sleep_delay=555;
-Warnings:
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-select @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
-SET @@global.innodb_thread_sleep_delay = @start_global_value;
-Warnings:
-Warning 138 The parameter innodb_thread_sleep_delay is deprecated and has no effect.
-SELECT @@global.innodb_thread_sleep_delay;
-@@global.innodb_thread_sleep_delay
-0
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
deleted file mode 100644
index d6ff67ccc7d..00000000000
--- a/mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result
+++ /dev/null
@@ -1,44 +0,0 @@
-SELECT @@global.innodb_undo_logs;
-@@global.innodb_undo_logs
-128
-SELECT @@session.innodb_undo_logs;
-ERROR HY000: Variable 'innodb_undo_logs' is a GLOBAL variable
-SHOW global variables LIKE 'innodb_undo_logs';
-Variable_name Value
-innodb_undo_logs 128
-SHOW session variables LIKE 'innodb_undo_logs';
-Variable_name Value
-innodb_undo_logs 128
-SELECT * FROM information_schema.global_variables
-WHERE variable_name='innodb_undo_logs';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_UNDO_LOGS 128
-SELECT * FROM information_schema.session_variables
-WHERE variable_name='innodb_undo_logs';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_UNDO_LOGS 128
-SET global innodb_undo_logs=100;
-Warnings:
-Warning 138 The parameter innodb_undo_logs is deprecated and has no effect.
-SELECT @@global.innodb_undo_logs;
-@@global.innodb_undo_logs
-128
-SET session innodb_undo_logs=1;
-ERROR HY000: Variable 'innodb_undo_logs' is a GLOBAL variable and should be set with SET GLOBAL
-SET global innodb_undo_logs=1.1;
-ERROR 42000: Incorrect argument type to variable 'innodb_undo_logs'
-SET global innodb_undo_logs=1e1;
-ERROR 42000: Incorrect argument type to variable 'innodb_undo_logs'
-SET global innodb_undo_logs="foo";
-ERROR 42000: Incorrect argument type to variable 'innodb_undo_logs'
-SET global innodb_undo_logs=-7;
-Warnings:
-Warning 1292 Truncated incorrect innodb_undo_logs value: '-7'
-Warning 138 The parameter innodb_undo_logs is deprecated and has no effect.
-SELECT @@global.innodb_undo_logs;
-@@global.innodb_undo_logs
-128
-SELECT * FROM information_schema.global_variables
-WHERE variable_name='innodb_undo_logs';
-VARIABLE_NAME VARIABLE_VALUE
-INNODB_UNDO_LOGS 128
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 1de1d195460..3a9ba22b6ee 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
@@ -23,16 +23,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
INSERT INTO t1 VALUES (11);
DELETE FROM t1 WHERE a = 11;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 10 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 10 NULL NULL YES BTREE NO
'Set nulls to be equal'
SET myisam_stats_method = nulls_equal;
set @save_use_stat_tables= @@use_stat_tables;
@@ -44,16 +44,16 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
INSERT INTO t1 VALUES (11);
DELETE FROM t1 WHERE a = 11;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
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 A 5 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 5 NULL NULL YES BTREE NO
'Set nulls to be ignored'
SET myisam_stats_method = nulls_ignored;
SHOW VARIABLES LIKE 'myisam_stats_method';
@@ -73,22 +73,22 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 2 NULL NULL YES BTREE
-t1 1 a 2 b A 4 NULL NULL YES BTREE
-t1 1 a 3 c A 4 NULL NULL YES BTREE
-t1 1 a 4 d A 4 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 2 NULL NULL YES BTREE NO
+t1 1 a 2 b A 4 NULL NULL YES BTREE NO
+t1 1 a 3 c A 4 NULL NULL YES BTREE NO
+t1 1 a 4 d A 4 NULL NULL YES BTREE NO
DELETE FROM t1;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 A 0 NULL NULL YES BTREE
-t1 1 a 2 b A 0 NULL NULL YES BTREE
-t1 1 a 3 c A 0 NULL NULL YES BTREE
-t1 1 a 4 d A 0 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 a 1 a A 0 NULL NULL YES BTREE NO
+t1 1 a 2 b A 0 NULL NULL YES BTREE NO
+t1 1 a 3 c A 0 NULL NULL YES BTREE NO
+t1 1 a 4 d A 0 NULL NULL YES BTREE NO
SET myisam_stats_method = DEFAULT;
set @@use_stat_tables= @save_use_stat_tables;
DROP TABLE t1;
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 39c8e554be2..a6b95f1c60c 100644
--- a/mysql-test/suite/sys_vars/r/old_mode_basic.result
+++ b/mysql-test/suite/sys_vars/r/old_mode_basic.result
@@ -1,22 +1,22 @@
SET @global_start_value = @@global.old_mode;
SELECT @global_start_value;
@global_start_value
-
+UTF8_IS_UTF8MB3
SET @session_start_value = @@session.old_mode;
SELECT @session_start_value;
@session_start_value
-
+UTF8_IS_UTF8MB3
'#--------------------FN_DYNVARS_152_01------------------------#'
SET @@global.old_mode = "NO_PROGRESS_INFO";
SET @@global.old_mode = DEFAULT;
SELECT @@global.old_mode;
@@global.old_mode
-
+UTF8_IS_UTF8MB3
SET @@session.old_mode = "NO_PROGRESS_INFO";
SET @@session.old_mode = DEFAULT;
SELECT @@session.old_mode;
@@session.old_mode
-
+UTF8_IS_UTF8MB3
'#---------------------FN_DYNVARS_152_02-------------------------#'
SET @@global.old_mode = NULL;
ERROR 42000: Variable 'old_mode' can't be set to the value of 'NULL'
@@ -114,8 +114,8 @@ SET @@global.old_mode = 4;
SELECT @@global.old_mode;
@@global.old_mode
ZERO_DATE_TIME_CAST
-SET @@global.old_mode = 8;
-ERROR 42000: Variable 'old_mode' can't be set to the value of '8'
+SET @@global.old_mode = 16;
+ERROR 42000: Variable 'old_mode' can't be set to the value of '16'
SELECT @@global.old_mode;
@@global.old_mode
ZERO_DATE_TIME_CAST
@@ -167,8 +167,100 @@ NO_PROGRESS_INFO
SET @@global.old_mode = @global_start_value;
SELECT @@global.old_mode;
@@global.old_mode
-
+UTF8_IS_UTF8MB3
SET @@session.old_mode = @session_start_value;
SELECT @@session.old_mode;
@@session.old_mode
-
+UTF8_IS_UTF8MB3
+#
+# Beginning of 10.6 test
+#
+# MDEV-8334: Rename utf8 to utf8mb3
+#
+# Save and display old values
+SET @save_old_mode = @@OLD_MODE;
+SET @save_character_set_server = @@character_set_server;
+SET @save_character_set_client = @@character_set_client;
+SET @save_character_set_results = @@character_set_results;
+SET @save_character_set_connection = @@character_set_connection;
+SET @save_character_set_filesystem = @@character_set_filesystem;
+SET @save_character_set_database = @@character_set_database;
+SET @save_collation_connection = @@collation_connection;
+SET @save_collation_server = @@collation_server;
+SET @save_collation_database = @@collation_database;
+SELECT @@OLD_MODE;
+@@OLD_MODE
+UTF8_IS_UTF8MB3
+SELECT @@character_set_server,@@character_set_client,@@character_set_results,
+@@character_set_connection, @@character_set_filesystem, @@character_set_database,
+@@collation_connection, @@collation_server, @@collation_database;
+@@character_set_server @@character_set_client @@character_set_results @@character_set_connection @@character_set_filesystem @@character_set_database @@collation_connection @@collation_server @@collation_database
+latin1 latin1 latin1 latin1 binary latin1 latin1_swedish_ci latin1_swedish_ci latin1_swedish_ci
+#
+# UTF8MB3 alias for UTF8
+#
+SET @@character_set_server = utf8;
+SET @@character_set_client = utf8;
+SET @@character_set_results = utf8;
+SET @@character_set_connection = utf8;
+SET @@character_set_filesystem = utf8;
+SET @@character_set_database = utf8;
+SET @@collation_connection = utf8_general_ci;
+SET @@collation_server = utf8_unicode_ci;
+SET @@collation_database = utf8_bin;
+SELECT @@character_set_server, @@character_set_client, @@character_set_results,
+@@character_set_connection, @@character_set_filesystem, @@character_set_database,
+@@collation_connection, @@collation_server, @@collation_database;
+@@character_set_server @@character_set_client @@character_set_results @@character_set_connection @@character_set_filesystem @@character_set_database @@collation_connection @@collation_server @@collation_database
+utf8mb3 utf8mb3 utf8mb3 utf8mb3 utf8mb3 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci utf8mb3_bin
+CREATE DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci';
+ALTER DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_unicode_ci';
+CREATE TABLE tb1 (id1 INT) CHARACTER SET 'utf8' COLLATE 'utf8_bin';
+SHOW CREATE TABLE tb1;
+Table Create Table
+tb1 CREATE TABLE `tb1` (
+ `id1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin
+DROP TABLE tb1;
+DROP DATABASE db1;
+#
+# UTF8MB4 is alias for UTF8
+#
+SET @@OLD_MODE=0;
+SET @@character_set_server = utf8;
+SET @@character_set_client = utf8;
+SET @@character_set_results = utf8;
+SET @@character_set_connection = utf8;
+SET @@character_set_filesystem = utf8;
+SET @@character_set_database = utf8;
+SET @@collation_connection = utf8_general_ci;
+SET @@collation_server = utf8_unicode_ci;
+SET @@collation_database = utf8_bin;
+SELECT @@character_set_server, @@character_set_client, @@character_set_results,
+@@character_set_connection, @@character_set_filesystem, @@character_set_database,
+@@collation_connection, @@collation_server, @@collation_database;
+@@character_set_server @@character_set_client @@character_set_results @@character_set_connection @@character_set_filesystem @@character_set_database @@collation_connection @@collation_server @@collation_database
+utf8mb4 utf8mb4 utf8mb4 utf8mb4 utf8mb4 utf8mb4 utf8mb4_general_ci utf8mb4_unicode_ci utf8mb4_bin
+CREATE DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci';
+ALTER DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_unicode_ci';
+CREATE TABLE tb1 (id1 INT) CHARACTER SET 'utf8' COLLATE 'utf8_bin';
+SHOW CREATE TABLE tb1;
+Table Create Table
+tb1 CREATE TABLE `tb1` (
+ `id1` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
+DROP TABLE tb1;
+DROP DATABASE db1;
+SET @@OLD_MODE = @save_old_mode;
+SET @@character_set_server = @save_character_set_server;
+SET @@character_set_client = @save_character_set_client;
+SET @@character_set_results = @save_character_set_results;
+SET @@character_set_connection = @save_character_set_connection;
+SET @@character_set_filesystem = @save_character_set_filesystem;
+SET @@character_set_database = @save_character_set_database;
+SET @@collation_connection = @save_collation_connection;
+SET @@collation_server = @save_collation_server;
+SET @@collation_database = @save_collation_database;
+#
+# End of 10.6 test
+#
diff --git a/mysql-test/suite/sys_vars/r/stored_program_cache_func,ps.rdiff b/mysql-test/suite/sys_vars/r/stored_program_cache_func,ps.rdiff
new file mode 100644
index 00000000000..f07e82c3472
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/stored_program_cache_func,ps.rdiff
@@ -0,0 +1,18 @@
+--- stored_program_cache_func.result
++++ stored_program_cache_func,ps.result
+@@ -21,13 +21,13 @@
+ 1
+ show status like 'handler_read_key';
+ Variable_name Value
+-Handler_read_key 2
++Handler_read_key 3
+ call p1;
+ 1
+ 1
+ show status like 'handler_read_key';
+ Variable_name Value
+-Handler_read_key 3
++Handler_read_key 5
+ drop procedure p1;
+ set global stored_program_cache=default;
+ create procedure pr(i int) begin
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
index 27c4f719bec..7a524ba2c16 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff
@@ -7,7 +7,7 @@
VARIABLE_COMMENT Number of InnoDB Adaptive Hash Index Partitions (default 8)
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 512
-@@ -85,7 +85,7 @@
+@@ -73,7 +73,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1
VARIABLE_SCOPE GLOBAL
@@ -16,7 +16,7 @@
VARIABLE_COMMENT The AUTOINC lock modes supported by InnoDB: 0 => Old style AUTOINC locking (for backward compatibility); 1 => New style AUTOINC locking; 2 => No AUTOINC locking (unsafe for SBR)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 2
-@@ -157,10 +157,10 @@
+@@ -85,10 +85,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 134217728
VARIABLE_SCOPE GLOBAL
@@ -29,7 +29,7 @@
NUMERIC_BLOCK_SIZE 1048576
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -193,7 +193,7 @@
+@@ -121,7 +121,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 25
VARIABLE_SCOPE GLOBAL
@@ -38,16 +38,7 @@
VARIABLE_COMMENT Dump only the hottest N% of each buffer pool, defaults to 25
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 100
-@@ -229,7 +229,7 @@
- SESSION_VALUE NULL
- DEFAULT_VALUE 0
- VARIABLE_SCOPE GLOBAL
--VARIABLE_TYPE BIGINT UNSIGNED
-+VARIABLE_TYPE INT UNSIGNED
- VARIABLE_COMMENT Deprecated parameter with no effect.
- NUMERIC_MIN_VALUE 0
- NUMERIC_MAX_VALUE 64
-@@ -289,7 +289,7 @@
+@@ -205,7 +205,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -56,7 +47,7 @@
VARIABLE_COMMENT A number between [0, 100] that tells how oftern buffer pool dump status in percentages should be printed. E.g. 10 means that buffer pool dump status is printed when every 10% of number of buffer pool pages are dumped. Default is 0 (only start and end status is printed).
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 100
-@@ -421,7 +421,7 @@
+@@ -325,7 +325,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 5
VARIABLE_SCOPE GLOBAL
@@ -65,7 +56,7 @@
VARIABLE_COMMENT If the compression failure rate of a table is greater than this number more padding is added to the pages to reduce the failures. A value of zero implies no padding
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 100
-@@ -445,7 +445,7 @@
+@@ -349,7 +349,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 50
VARIABLE_SCOPE GLOBAL
@@ -74,7 +65,7 @@
VARIABLE_COMMENT Percentage of empty space on a data page that can be reserved to make the page compressible.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 75
-@@ -745,7 +745,7 @@
+@@ -649,7 +649,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 600
VARIABLE_SCOPE GLOBAL
@@ -83,7 +74,7 @@
VARIABLE_COMMENT Maximum number of seconds that semaphore times out in InnoDB.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -805,7 +805,7 @@
+@@ -697,7 +697,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 30
VARIABLE_SCOPE GLOBAL
@@ -92,7 +83,7 @@
VARIABLE_COMMENT Number of iterations over which the background flushing is averaged.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 1000
-@@ -829,7 +829,7 @@
+@@ -721,7 +721,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1
VARIABLE_SCOPE GLOBAL
@@ -101,7 +92,7 @@
VARIABLE_COMMENT Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 3
-@@ -853,7 +853,7 @@
+@@ -745,7 +745,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1
VARIABLE_SCOPE GLOBAL
@@ -110,7 +101,7 @@
VARIABLE_COMMENT Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 2
-@@ -901,7 +901,7 @@
+@@ -781,7 +781,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -119,7 +110,7 @@
VARIABLE_COMMENT Helps to save your data in case the disk image of the database becomes corrupt. Value 5 can return bogus data, and 6 can permanently corrupt data.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 6
-@@ -925,10 +925,10 @@
+@@ -805,10 +805,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 8000000
VARIABLE_SCOPE GLOBAL
@@ -132,7 +123,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -961,7 +961,7 @@
+@@ -841,7 +841,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 84
VARIABLE_SCOPE GLOBAL
@@ -141,7 +132,7 @@
VARIABLE_COMMENT InnoDB Fulltext search maximum token size in characters
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 84
-@@ -973,7 +973,7 @@
+@@ -853,7 +853,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 3
VARIABLE_SCOPE GLOBAL
@@ -150,7 +141,7 @@
VARIABLE_COMMENT InnoDB Fulltext search minimum token size in characters
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 16
-@@ -985,7 +985,7 @@
+@@ -865,7 +865,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 2000
VARIABLE_SCOPE GLOBAL
@@ -159,7 +150,7 @@
VARIABLE_COMMENT InnoDB Fulltext search number of words to optimize for each optimize table call
NUMERIC_MIN_VALUE 1000
NUMERIC_MAX_VALUE 10000
-@@ -997,10 +997,10 @@
+@@ -877,10 +877,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 2000000000
VARIABLE_SCOPE GLOBAL
@@ -172,7 +163,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1021,7 +1021,7 @@
+@@ -901,7 +901,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 2
VARIABLE_SCOPE GLOBAL
@@ -181,7 +172,7 @@
VARIABLE_COMMENT InnoDB Fulltext search parallel sort degree, will round up to nearest power of 2 number
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 16
-@@ -1033,10 +1033,10 @@
+@@ -913,10 +913,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 640000000
VARIABLE_SCOPE GLOBAL
@@ -194,7 +185,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1081,22 +1081,22 @@
+@@ -961,22 +961,22 @@
SESSION_VALUE NULL
DEFAULT_VALUE 200
VARIABLE_SCOPE GLOBAL
@@ -222,16 +213,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1141,7 +1141,7 @@
- SESSION_VALUE 50
- 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 0
- NUMERIC_MAX_VALUE 1073741824
-@@ -1153,10 +1153,10 @@
+@@ -1009,10 +1009,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 16777216
VARIABLE_SCOPE GLOBAL
@@ -244,16 +226,7 @@
NUMERIC_BLOCK_SIZE 1024
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -1201,7 +1201,7 @@
- SESSION_VALUE NULL
- DEFAULT_VALUE 1
- VARIABLE_SCOPE GLOBAL
--VARIABLE_TYPE BIGINT UNSIGNED
-+VARIABLE_TYPE INT UNSIGNED
- VARIABLE_COMMENT Deprecated parameter with no effect.
- NUMERIC_MIN_VALUE 1
- NUMERIC_MAX_VALUE 100
-@@ -1249,7 +1249,7 @@
+@@ -1057,7 +1057,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 8192
VARIABLE_SCOPE GLOBAL
@@ -262,7 +235,7 @@
VARIABLE_COMMENT Redo log write ahead unit size to avoid read-on-write, it should match the OS cache block IO size
NUMERIC_MIN_VALUE 512
NUMERIC_MAX_VALUE 16384
-@@ -1261,10 +1261,10 @@
+@@ -1069,10 +1069,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 32
VARIABLE_SCOPE GLOBAL
@@ -275,7 +248,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1273,10 +1273,10 @@
+@@ -1081,10 +1081,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1536
VARIABLE_SCOPE GLOBAL
@@ -288,7 +261,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1321,10 +1321,10 @@
+@@ -1129,10 +1129,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -301,7 +274,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1333,7 +1333,7 @@
+@@ -1141,7 +1141,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -310,7 +283,7 @@
VARIABLE_COMMENT Maximum delay of user threads in micro-seconds
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 10000000
-@@ -1465,10 +1465,10 @@
+@@ -1273,10 +1273,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
@@ -323,16 +296,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -1489,7 +1489,7 @@
- SESSION_VALUE NULL
- DEFAULT_VALUE 0
- VARIABLE_SCOPE GLOBAL
--VARIABLE_TYPE BIGINT UNSIGNED
-+VARIABLE_TYPE INT UNSIGNED
- VARIABLE_COMMENT Deprecated parameter with no effect.
- NUMERIC_MIN_VALUE 0
- NUMERIC_MAX_VALUE 64
-@@ -1513,7 +1513,7 @@
+@@ -1309,7 +1309,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 16384
VARIABLE_SCOPE GLOBAL
@@ -341,7 +305,7 @@
VARIABLE_COMMENT Page size to use for all InnoDB tablespaces.
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 65536
-@@ -1549,7 +1549,7 @@
+@@ -1345,7 +1345,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 300
VARIABLE_SCOPE GLOBAL
@@ -350,7 +314,7 @@
VARIABLE_COMMENT Number of UNDO log pages to purge in one batch from the history list.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 5000
-@@ -1561,7 +1561,7 @@
+@@ -1357,7 +1357,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 128
VARIABLE_SCOPE GLOBAL
@@ -359,7 +323,7 @@
VARIABLE_COMMENT Dictates rate at which UNDO records are purged. Value N means purge rollback segment(s) on every Nth iteration of purge invocation
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 128
-@@ -1597,7 +1597,7 @@
+@@ -1393,7 +1393,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 56
VARIABLE_SCOPE GLOBAL
@@ -368,7 +332,7 @@
VARIABLE_COMMENT Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 64
-@@ -1693,7 +1693,7 @@
+@@ -1465,7 +1465,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 1048576
VARIABLE_SCOPE GLOBAL
@@ -377,16 +341,7 @@
VARIABLE_COMMENT Memory buffer size for index creation
NUMERIC_MIN_VALUE 65536
NUMERIC_MAX_VALUE 67108864
-@@ -1861,7 +1861,7 @@
- SESSION_VALUE NULL
- 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
-@@ -1885,10 +1885,10 @@
+@@ -1633,10 +1633,10 @@
SESSION_VALUE NULL
DEFAULT_VALUE 30
VARIABLE_SCOPE GLOBAL
@@ -399,16 +354,7 @@
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1993,7 +1993,7 @@
- SESSION_VALUE NULL
- DEFAULT_VALUE 128
- VARIABLE_SCOPE GLOBAL
--VARIABLE_TYPE BIGINT UNSIGNED
-+VARIABLE_TYPE INT UNSIGNED
- VARIABLE_COMMENT Deprecated parameter with no effect.
- NUMERIC_MIN_VALUE 0
- NUMERIC_MAX_VALUE 128
-@@ -2017,7 +2017,7 @@
+@@ -1729,7 +1729,7 @@
SESSION_VALUE NULL
DEFAULT_VALUE 0
VARIABLE_SCOPE GLOBAL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_innodb.result b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
index e82c03a12f3..8727d66f59b 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_innodb.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_innodb.result
@@ -55,18 +55,6 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT OPTIONAL
-VARIABLE_NAME INNODB_ADAPTIVE_MAX_SLEEP_DELAY
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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_AUTOEXTEND_INCREMENT
SESSION_VALUE NULL
DEFAULT_VALUE 64
@@ -91,66 +79,6 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_BACKGROUND_DROP_LIST_EMPTY
-SESSION_VALUE NULL
-DEFAULT_VALUE OFF
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Wait for the background drop list to become empty
-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_BACKGROUND_SCRUB_DATA_CHECK_INTERVAL
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 0
-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
-DEFAULT_VALUE OFF
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Deprecated parameter with 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 INNODB_BACKGROUND_SCRUB_DATA_INTERVAL
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 0
-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
-DEFAULT_VALUE OFF
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Deprecated parameter with 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 INNODB_BUFFER_POOL_CHUNK_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 134217728
@@ -223,18 +151,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_BUFFER_POOL_INSTANCES
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 64
-NUMERIC_BLOCK_SIZE 0
-ENUM_VALUE_LIST NULL
-READ_ONLY YES
-COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME INNODB_BUFFER_POOL_LOAD_ABORT
SESSION_VALUE NULL
DEFAULT_VALUE OFF
@@ -360,11 +276,11 @@ SESSION_VALUE NULL
DEFAULT_VALUE full_crc32
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE ENUM
-VARIABLE_COMMENT The algorithm InnoDB uses for page checksumming. Possible values are FULL_CRC32 for new files, always use CRC-32C; for old, see CRC32 below; STRICT_FULL_CRC32 for new files, always use CRC-32C; for old, see STRICT_CRC32 below; CRC32 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 MariaDB versions older than 10.0.4; new files created with full_crc32 are readable by MariaDB 10.4.3+
+VARIABLE_COMMENT The algorithm InnoDB uses for page checksumming. Possible values are FULL_CRC32 for new files, always use CRC-32C; for old, see CRC32 below; STRICT_FULL_CRC32 for new files, always use CRC-32C; for old, see STRICT_CRC32 below; CRC32 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; 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 MariaDB versions older than 10.0.4; new files created with full_crc32 are readable by MariaDB 10.4.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,full_crc32,strict_full_crc32
+ENUM_VALUE_LIST crc32,strict_crc32,full_crc32,strict_full_crc32
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME INNODB_CMP_PER_INDEX_ENABLED
@@ -379,18 +295,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
-VARIABLE_NAME INNODB_COMMIT_CONCURRENCY
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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
DEFAULT_VALUE zlib
@@ -451,18 +355,6 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
-VARIABLE_NAME INNODB_CONCURRENCY_TICKETS
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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_DATA_FILE_PATH
SESSION_VALUE NULL
DEFAULT_VALUE ibdata1:12M:autoextend
@@ -511,6 +403,18 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT NONE
+VARIABLE_NAME INNODB_DEADLOCK_REPORT
+SESSION_VALUE NULL
+DEFAULT_VALUE full
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE ENUM
+VARIABLE_COMMENT How to report deadlocks (if innodb_deadlock_detect=ON).
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST off,basic,full
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME INNODB_DEFAULT_ENCRYPTION_KEY_ID
SESSION_VALUE 1
DEFAULT_VALUE 1
@@ -727,18 +631,6 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_FILE_FORMAT
-SESSION_VALUE NULL
-DEFAULT_VALUE
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE VARCHAR
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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_FILE_PER_TABLE
SESSION_VALUE NULL
DEFAULT_VALUE ON
@@ -813,7 +705,7 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_FLUSH_METHOD
SESSION_VALUE NULL
-DEFAULT_VALUE fsync
+DEFAULT_VALUE O_DIRECT
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE ENUM
VARIABLE_COMMENT With which method to flush data.
@@ -847,18 +739,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT NONE
-VARIABLE_NAME INNODB_FORCE_LOAD_CORRUPTED
-SESSION_VALUE NULL
-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
DEFAULT_VALUE OFF
@@ -1075,18 +955,6 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_LARGE_PREFIX
-SESSION_VALUE NULL
-DEFAULT_VALUE
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE VARCHAR
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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_LIMIT_OPTIMISTIC_INSERT_DEBUG
SESSION_VALUE NULL
DEFAULT_VALUE 0
@@ -1099,26 +967,14 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_LOCK_SCHEDULE_ALGORITHM
-SESSION_VALUE NULL
-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
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.
+VARIABLE_TYPE INT UNSIGNED
+VARIABLE_COMMENT Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. The value 100000000 is infinite timeout.
NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 1073741824
+NUMERIC_MAX_VALUE 100000000
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
@@ -1147,42 +1003,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
-VARIABLE_NAME INNODB_LOG_CHECKSUMS
-SESSION_VALUE NULL
-DEFAULT_VALUE ON
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Deprecated parameter with 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 REQUIRED
-VARIABLE_NAME INNODB_LOG_COMPRESSED_PAGES
-SESSION_VALUE NULL
-DEFAULT_VALUE ON
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Deprecated parameter with 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 INNODB_LOG_FILES_IN_GROUP
-SESSION_VALUE NULL
-DEFAULT_VALUE 1
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-NUMERIC_MIN_VALUE 1
-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
DEFAULT_VALUE 100663296
@@ -1207,18 +1027,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_LOG_OPTIMIZE_DDL
-SESSION_VALUE NULL
-DEFAULT_VALUE OFF
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Deprecated parameter with 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 INNODB_LOG_WRITE_AHEAD_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 8192
@@ -1447,18 +1255,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT NONE
-VARIABLE_NAME INNODB_PAGE_CLEANERS
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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_PAGE_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 16384
@@ -1579,18 +1375,18 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY YES
COMMAND_LINE_ARGUMENT OPTIONAL
-VARIABLE_NAME INNODB_REPLICATION_DELAY
+VARIABLE_NAME INNODB_READ_ONLY_COMPRESSED
SESSION_VALUE NULL
-DEFAULT_VALUE 0
+DEFAULT_VALUE OFF
VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 4294967295
-NUMERIC_BLOCK_SIZE 0
-ENUM_VALUE_LIST NULL
+VARIABLE_TYPE BOOLEAN
+VARIABLE_COMMENT Make ROW_FORMAT=COMPRESSED tables read-only
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
-COMMAND_LINE_ARGUMENT REQUIRED
+COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_ROLLBACK_ON_TIMEOUT
SESSION_VALUE NULL
DEFAULT_VALUE OFF
@@ -1615,30 +1411,6 @@ NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
-VARIABLE_NAME INNODB_SCRUB_LOG
-SESSION_VALUE NULL
-DEFAULT_VALUE OFF
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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
-DEFAULT_VALUE 256
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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_SORT_BUFFER_SIZE
SESSION_VALUE NULL
DEFAULT_VALUE 1048576
@@ -1807,30 +1579,6 @@ 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
-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_DEBUG
-SESSION_VALUE NULL
-DEFAULT_VALUE OFF
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Enable the sync debug checks
-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_SYNC_SPIN_LOOPS
SESSION_VALUE NULL
DEFAULT_VALUE 30
@@ -1867,30 +1615,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_THREAD_CONCURRENCY
-SESSION_VALUE NULL
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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
-DEFAULT_VALUE 0
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE INT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-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
DEFAULT_VALUE
@@ -1939,18 +1663,6 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
-VARIABLE_NAME INNODB_UNDO_LOGS
-SESSION_VALUE NULL
-DEFAULT_VALUE 128
-VARIABLE_SCOPE GLOBAL
-VARIABLE_TYPE BIGINT UNSIGNED
-VARIABLE_COMMENT Deprecated parameter with no effect.
-NUMERIC_MIN_VALUE 0
-NUMERIC_MAX_VALUE 128
-NUMERIC_BLOCK_SIZE 0
-ENUM_VALUE_LIST NULL
-READ_ONLY NO
-COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME INNODB_UNDO_LOG_TRUNCATE
SESSION_VALUE NULL
DEFAULT_VALUE OFF
@@ -1980,7 +1692,7 @@ SESSION_VALUE NULL
DEFAULT_VALUE ON
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BOOLEAN
-VARIABLE_COMMENT Enable atomic writes, instead of using the doublewrite buffer, for files on devices that supports atomic writes. This option only works on Linux with either FusionIO cards using the directFS filesystem or with Shannon cards using any file system.
+VARIABLE_COMMENT Enable atomic writes, instead of using the doublewrite buffer, for files on devices that supports atomic writes.
NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
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
index c740a387e2b..a6bf0fb606a 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded,32bit.rdiff
@@ -162,7 +162,16 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -387,7 +387,7 @@
+@@ -384,7 +384,7 @@
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME BINLOG_EXPIRE_LOGS_SECONDS
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, binary logs will be purged after binlog_expire_logs_seconds seconds; It and expire_logs_days are linked, such that changes in one are converted into the other. Possible purges happen at startup and at binary log rotation.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 8553600
+@@ -397,7 +397,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The size of file cache for the binary log
NUMERIC_MIN_VALUE 8192
@@ -171,7 +180,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -437,7 +437,7 @@
+@@ -447,7 +447,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
@@ -180,7 +189,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -447,7 +447,7 @@
+@@ -457,7 +457,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
@@ -189,7 +198,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -634,7 +634,7 @@
+@@ -644,7 +644,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME CONNECT_TIMEOUT
VARIABLE_SCOPE GLOBAL
@@ -198,7 +207,7 @@
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
-@@ -684,7 +684,7 @@
+@@ -694,7 +694,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_LONG
VARIABLE_SCOPE SESSION
@@ -207,7 +216,7 @@
VARIABLE_COMMENT Long search depth for the two-step deadlock detection
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 33
-@@ -694,7 +694,7 @@
+@@ -704,7 +704,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_SHORT
VARIABLE_SCOPE SESSION
@@ -216,7 +225,7 @@
VARIABLE_COMMENT Short search depth for the two-step deadlock detection
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 32
-@@ -704,7 +704,7 @@
+@@ -714,7 +714,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_TIMEOUT_LONG
VARIABLE_SCOPE SESSION
@@ -225,7 +234,7 @@
VARIABLE_COMMENT Long timeout for the two-step deadlock detection (in microseconds)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -714,7 +714,7 @@
+@@ -724,7 +724,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_TIMEOUT_SHORT
VARIABLE_SCOPE SESSION
@@ -234,7 +243,7 @@
VARIABLE_COMMENT Short timeout for the two-step deadlock detection (in microseconds)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -764,7 +764,7 @@
+@@ -774,7 +774,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME DEFAULT_WEEK_FORMAT
VARIABLE_SCOPE SESSION
@@ -243,7 +252,7 @@
VARIABLE_COMMENT The default week format used by WEEK() functions
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 7
-@@ -774,7 +774,7 @@
+@@ -784,7 +784,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DELAYED_INSERT_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -252,7 +261,7 @@
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
-@@ -784,7 +784,7 @@
+@@ -794,7 +794,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DELAYED_INSERT_TIMEOUT
VARIABLE_SCOPE GLOBAL
@@ -261,7 +270,7 @@
VARIABLE_COMMENT How long a INSERT DELAYED thread should wait for INSERT statements before terminating
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 31536000
-@@ -794,7 +794,7 @@
+@@ -804,7 +804,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DELAYED_QUEUE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -270,7 +279,7 @@
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
-@@ -824,7 +824,7 @@
+@@ -834,7 +834,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME DIV_PRECISION_INCREMENT
VARIABLE_SCOPE SESSION
@@ -279,16 +288,7 @@
VARIABLE_COMMENT Precision of the result of '/' operator will be increased on that value
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 38
-@@ -904,7 +904,7 @@
- COMMAND_LINE_ARGUMENT REQUIRED
- VARIABLE_NAME EXPIRE_LOGS_DAYS
- 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
-@@ -934,7 +934,7 @@
+@@ -944,7 +944,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME EXTRA_MAX_CONNECTIONS
VARIABLE_SCOPE GLOBAL
@@ -297,7 +297,7 @@
VARIABLE_COMMENT The number of connections on extra-port
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 100000
-@@ -964,7 +964,7 @@
+@@ -974,7 +974,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME FLUSH_TIME
VARIABLE_SCOPE GLOBAL
@@ -306,7 +306,7 @@
VARIABLE_COMMENT A dedicated thread is created to flush all tables at the given interval
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 31536000
-@@ -994,7 +994,7 @@
+@@ -1004,7 +1004,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME FT_MAX_WORD_LEN
VARIABLE_SCOPE GLOBAL
@@ -315,7 +315,7 @@
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
-@@ -1004,7 +1004,7 @@
+@@ -1014,7 +1014,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME FT_MIN_WORD_LEN
VARIABLE_SCOPE GLOBAL
@@ -324,7 +324,7 @@
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
-@@ -1014,7 +1014,7 @@
+@@ -1024,7 +1024,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME FT_QUERY_EXPANSION_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -333,7 +333,7 @@
VARIABLE_COMMENT Number of best matches to use for query expansion
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1000
-@@ -1184,7 +1184,7 @@
+@@ -1194,7 +1194,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME HISTOGRAM_SIZE
VARIABLE_SCOPE SESSION
@@ -342,7 +342,7 @@
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
-@@ -1214,7 +1214,7 @@
+@@ -1224,7 +1224,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME HOST_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -351,7 +351,7 @@
VARIABLE_COMMENT How many host names should be cached to avoid resolving.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 65536
-@@ -1324,7 +1324,7 @@
+@@ -1334,7 +1334,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME INTERACTIVE_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -360,7 +360,7 @@
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
-@@ -1357,7 +1357,7 @@
+@@ -1367,7 +1367,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The size of the buffer that is used for joins
NUMERIC_MIN_VALUE 128
@@ -369,7 +369,7 @@
NUMERIC_BLOCK_SIZE 128
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1374,7 +1374,7 @@
+@@ -1384,7 +1384,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME JOIN_CACHE_LEVEL
VARIABLE_SCOPE SESSION
@@ -378,7 +378,7 @@
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
-@@ -1397,7 +1397,7 @@
+@@ -1407,7 +1407,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
@@ -387,7 +387,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1554,7 +1554,7 @@
+@@ -1564,7 +1564,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME LOCK_WAIT_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -396,7 +396,7 @@
VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 31536000
-@@ -1674,7 +1674,7 @@
+@@ -1684,7 +1684,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME LOG_SLOW_RATE_LIMIT
VARIABLE_SCOPE SESSION
@@ -405,7 +405,7 @@
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
-@@ -1704,7 +1704,7 @@
+@@ -1714,7 +1714,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME LOG_WARNINGS
VARIABLE_SCOPE SESSION
@@ -414,7 +414,7 @@
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
-@@ -1754,7 +1754,7 @@
+@@ -1764,7 +1764,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME MAX_ALLOWED_PACKET
VARIABLE_SCOPE SESSION
@@ -423,7 +423,7 @@
VARIABLE_COMMENT Max packet length to send to or receive from the server
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1073741824
-@@ -1767,14 +1767,14 @@
+@@ -1777,14 +1777,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the total size of the transactional cache
NUMERIC_MIN_VALUE 4096
@@ -440,7 +440,7 @@
VARIABLE_COMMENT Binary log will be rotated automatically when the size exceeds this value.
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 1073741824
-@@ -1787,14 +1787,14 @@
+@@ -1797,14 +1797,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the total size of the statement cache
NUMERIC_MIN_VALUE 4096
@@ -457,7 +457,7 @@
VARIABLE_COMMENT The number of simultaneous clients allowed
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 100000
-@@ -1804,7 +1804,7 @@
+@@ -1814,7 +1814,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_CONNECT_ERRORS
VARIABLE_SCOPE GLOBAL
@@ -466,7 +466,7 @@
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
-@@ -1814,7 +1814,7 @@
+@@ -1824,7 +1824,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_DELAYED_THREADS
VARIABLE_SCOPE SESSION
@@ -475,7 +475,7 @@
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
-@@ -1834,7 +1834,7 @@
+@@ -1844,7 +1844,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_ERROR_COUNT
VARIABLE_SCOPE SESSION
@@ -484,7 +484,7 @@
VARIABLE_COMMENT Max number of errors/warnings to store for a statement
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 65535
-@@ -1847,14 +1847,14 @@
+@@ -1857,14 +1857,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Don't allow creation of heap tables bigger than this
NUMERIC_MIN_VALUE 16384
@@ -501,7 +501,7 @@
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
-@@ -1874,7 +1874,7 @@
+@@ -1884,7 +1884,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_LENGTH_FOR_SORT_DATA
VARIABLE_SCOPE SESSION
@@ -510,7 +510,7 @@
VARIABLE_COMMENT Max number of bytes in sorted records
NUMERIC_MIN_VALUE 4
NUMERIC_MAX_VALUE 8388608
-@@ -1904,7 +1904,7 @@
+@@ -1914,7 +1914,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_RECURSIVE_ITERATIONS
VARIABLE_SCOPE SESSION
@@ -519,7 +519,7 @@
VARIABLE_COMMENT Maximum number of iterations when executing recursive queries
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -1917,14 +1917,14 @@
+@@ -1927,14 +1927,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The maximum size of the container of a rowid filter
NUMERIC_MIN_VALUE 1024
@@ -536,7 +536,7 @@
VARIABLE_COMMENT Limit assumed max number of seeks when looking up rows based on a key
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -1944,7 +1944,7 @@
+@@ -1954,7 +1954,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_SORT_LENGTH
VARIABLE_SCOPE SESSION
@@ -545,7 +545,7 @@
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 64
NUMERIC_MAX_VALUE 8388608
-@@ -1954,7 +1954,7 @@
+@@ -1964,7 +1964,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_SP_RECURSION_DEPTH
VARIABLE_SCOPE SESSION
@@ -554,7 +554,7 @@
VARIABLE_COMMENT Maximum stored procedure recursion depth
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 255
-@@ -1974,7 +1974,7 @@
+@@ -1984,7 +1984,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_TMP_TABLES
VARIABLE_SCOPE SESSION
@@ -563,7 +563,7 @@
VARIABLE_COMMENT Unused, will be removed.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -1994,7 +1994,7 @@
+@@ -2004,7 +2004,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_WRITE_LOCK_COUNT
VARIABLE_SCOPE GLOBAL
@@ -572,7 +572,7 @@
VARIABLE_COMMENT After this many write locks, allow some read locks to run in between
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -2004,7 +2004,7 @@
+@@ -2014,7 +2014,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME METADATA_LOCKS_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -581,7 +581,7 @@
VARIABLE_COMMENT Unused
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 1048576
-@@ -2014,7 +2014,7 @@
+@@ -2024,7 +2024,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME METADATA_LOCKS_HASH_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -590,7 +590,7 @@
VARIABLE_COMMENT Unused
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 1024
-@@ -2024,7 +2024,7 @@
+@@ -2034,7 +2034,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MIN_EXAMINED_ROW_LIMIT
VARIABLE_SCOPE SESSION
@@ -599,7 +599,7 @@
VARIABLE_COMMENT Don't write queries to slow log that examine fewer rows than that
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -2034,7 +2034,7 @@
+@@ -2044,7 +2044,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MRR_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -608,7 +608,7 @@
VARIABLE_COMMENT Size of buffer to use when using MRR with range access
NUMERIC_MIN_VALUE 8192
NUMERIC_MAX_VALUE 2147483647
-@@ -2044,7 +2044,7 @@
+@@ -2054,7 +2054,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MYISAM_BLOCK_SIZE
VARIABLE_SCOPE GLOBAL
@@ -617,7 +617,7 @@
VARIABLE_COMMENT Block size to be used for MyISAM index pages
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 16384
-@@ -2054,7 +2054,7 @@
+@@ -2064,7 +2064,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MYISAM_DATA_POINTER_SIZE
VARIABLE_SCOPE GLOBAL
@@ -626,7 +626,7 @@
VARIABLE_COMMENT Default pointer size to be used for MyISAM tables
NUMERIC_MIN_VALUE 2
NUMERIC_MAX_VALUE 7
-@@ -2077,7 +2077,7 @@
+@@ -2087,7 +2087,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Restricts the total memory used for memory mapping of MySQL tables
NUMERIC_MIN_VALUE 7
@@ -635,7 +635,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -2094,10 +2094,10 @@
+@@ -2104,10 +2104,10 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME MYISAM_REPAIR_THREADS
VARIABLE_SCOPE SESSION
@@ -648,7 +648,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2107,7 +2107,7 @@
+@@ -2117,7 +2117,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
@@ -657,7 +657,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2144,7 +2144,7 @@
+@@ -2154,7 +2154,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME NET_BUFFER_LENGTH
VARIABLE_SCOPE SESSION
@@ -666,7 +666,7 @@
VARIABLE_COMMENT Buffer length for TCP/IP and socket communication
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1048576
-@@ -2154,7 +2154,7 @@
+@@ -2164,7 +2164,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME NET_READ_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -675,7 +675,7 @@
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
-@@ -2164,7 +2164,7 @@
+@@ -2174,7 +2174,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME NET_RETRY_COUNT
VARIABLE_SCOPE SESSION
@@ -684,7 +684,7 @@
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
-@@ -2174,7 +2174,7 @@
+@@ -2184,7 +2184,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME NET_WRITE_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -693,7 +693,7 @@
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
-@@ -2224,7 +2224,7 @@
+@@ -2234,7 +2234,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME OPEN_FILES_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -702,7 +702,7 @@
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 or autoset 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
-@@ -2234,17 +2234,17 @@
+@@ -2244,17 +2244,17 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_MAX_SEL_ARG_WEIGHT
VARIABLE_SCOPE SESSION
@@ -723,7 +723,7 @@
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
-@@ -2254,7 +2254,7 @@
+@@ -2264,7 +2264,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_SEARCH_DEPTH
VARIABLE_SCOPE SESSION
@@ -732,7 +732,7 @@
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.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 62
-@@ -2264,7 +2264,7 @@
+@@ -2274,7 +2274,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_SELECTIVITY_SAMPLING_LIMIT
VARIABLE_SCOPE SESSION
@@ -741,7 +741,7 @@
VARIABLE_COMMENT Controls number of record samples to check condition selectivity
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 4294967295
-@@ -2294,17 +2294,17 @@
+@@ -2304,17 +2304,17 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_TRACE_MAX_MEM_SIZE
VARIABLE_SCOPE SESSION
@@ -762,7 +762,7 @@
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
-@@ -2324,7 +2324,7 @@
+@@ -2334,7 +2334,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME PERFORMANCE_SCHEMA_ACCOUNTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -771,7 +771,7 @@
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
-@@ -2334,7 +2334,7 @@
+@@ -2344,7 +2344,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_DIGESTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -780,7 +780,7 @@
VARIABLE_COMMENT Size of the statement digest. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2344,7 +2344,7 @@
+@@ -2354,7 +2354,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -789,7 +789,7 @@
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
-@@ -2354,7 +2354,7 @@
+@@ -2364,7 +2364,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -798,7 +798,7 @@
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
-@@ -2364,7 +2364,7 @@
+@@ -2374,7 +2374,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -807,7 +807,7 @@
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
-@@ -2374,7 +2374,7 @@
+@@ -2384,7 +2384,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -816,7 +816,7 @@
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
-@@ -2384,7 +2384,7 @@
+@@ -2394,7 +2394,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_TRANSACTIONS_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -825,7 +825,7 @@
VARIABLE_COMMENT Number of rows in EVENTS_TRANSACTIONS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2394,7 +2394,7 @@
+@@ -2404,7 +2404,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_TRANSACTIONS_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -834,7 +834,7 @@
VARIABLE_COMMENT Number of rows per thread in EVENTS_TRANSACTIONS_HISTORY. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1024
-@@ -2404,7 +2404,7 @@
+@@ -2414,7 +2414,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -843,7 +843,7 @@
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
-@@ -2414,7 +2414,7 @@
+@@ -2424,7 +2424,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -852,7 +852,7 @@
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
-@@ -2424,7 +2424,7 @@
+@@ -2434,7 +2434,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_HOSTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -861,7 +861,7 @@
VARIABLE_COMMENT Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2434,7 +2434,7 @@
+@@ -2444,7 +2444,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -870,7 +870,7 @@
VARIABLE_COMMENT Maximum number of condition instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2444,7 +2444,7 @@
+@@ -2454,7 +2454,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -879,7 +879,7 @@
VARIABLE_COMMENT Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2454,7 +2454,7 @@
+@@ -2464,7 +2464,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH
VARIABLE_SCOPE GLOBAL
@@ -888,7 +888,7 @@
VARIABLE_COMMENT Maximum length considered for digest text, when stored in performance_schema tables.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1048576
-@@ -2464,7 +2464,7 @@
+@@ -2474,7 +2474,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -897,7 +897,7 @@
VARIABLE_COMMENT Maximum number of file instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2474,7 +2474,7 @@
+@@ -2484,7 +2484,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_HANDLES
VARIABLE_SCOPE GLOBAL
@@ -906,7 +906,7 @@
VARIABLE_COMMENT Maximum number of opened instrumented files.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1048576
-@@ -2484,7 +2484,7 @@
+@@ -2494,7 +2494,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -915,7 +915,7 @@
VARIABLE_COMMENT Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2494,7 +2494,7 @@
+@@ -2504,7 +2504,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_INDEX_STAT
VARIABLE_SCOPE GLOBAL
@@ -924,7 +924,7 @@
VARIABLE_COMMENT Maximum number of index statistics for instrumented tables. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2504,7 +2504,7 @@
+@@ -2514,7 +2514,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MEMORY_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -933,7 +933,7 @@
VARIABLE_COMMENT Maximum number of memory pool instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1024
-@@ -2514,7 +2514,7 @@
+@@ -2524,7 +2524,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_METADATA_LOCKS
VARIABLE_SCOPE GLOBAL
@@ -942,7 +942,7 @@
VARIABLE_COMMENT Maximum number of metadata locks. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 104857600
-@@ -2524,7 +2524,7 @@
+@@ -2534,7 +2534,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -951,7 +951,7 @@
VARIABLE_COMMENT Maximum number of mutex instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2534,7 +2534,7 @@
+@@ -2544,7 +2544,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -960,7 +960,7 @@
VARIABLE_COMMENT Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 104857600
-@@ -2544,7 +2544,7 @@
+@@ -2554,7 +2554,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_PREPARED_STATEMENTS_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -969,7 +969,7 @@
VARIABLE_COMMENT Maximum number of instrumented prepared statements. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2554,7 +2554,7 @@
+@@ -2564,7 +2564,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_PROGRAM_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -978,7 +978,7 @@
VARIABLE_COMMENT Maximum number of instrumented programs. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2564,7 +2564,7 @@
+@@ -2574,7 +2574,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -987,7 +987,7 @@
VARIABLE_COMMENT Maximum number of rwlock instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2574,7 +2574,7 @@
+@@ -2584,7 +2584,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -996,7 +996,7 @@
VARIABLE_COMMENT Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 104857600
-@@ -2584,7 +2584,7 @@
+@@ -2594,7 +2594,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1005,7 +1005,7 @@
VARIABLE_COMMENT Maximum number of socket instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2594,7 +2594,7 @@
+@@ -2604,7 +2604,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1014,7 +1014,7 @@
VARIABLE_COMMENT Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2604,7 +2604,7 @@
+@@ -2614,7 +2614,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SQL_TEXT_LENGTH
VARIABLE_SCOPE GLOBAL
@@ -1023,7 +1023,7 @@
VARIABLE_COMMENT Maximum length of displayed sql text.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1048576
-@@ -2614,7 +2614,7 @@
+@@ -2624,7 +2624,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1032,7 +1032,7 @@
VARIABLE_COMMENT Maximum number of stage instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2624,7 +2624,7 @@
+@@ -2634,7 +2634,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1041,7 +1041,7 @@
VARIABLE_COMMENT Maximum number of statement instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2634,7 +2634,7 @@
+@@ -2644,7 +2644,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STATEMENT_STACK
VARIABLE_SCOPE GLOBAL
@@ -1050,7 +1050,7 @@
VARIABLE_COMMENT Number of rows per thread in EVENTS_STATEMENTS_CURRENT.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 256
-@@ -2644,7 +2644,7 @@
+@@ -2654,7 +2654,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES
VARIABLE_SCOPE GLOBAL
@@ -1059,7 +1059,7 @@
VARIABLE_COMMENT Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2654,7 +2654,7 @@
+@@ -2664,7 +2664,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1068,7 +1068,7 @@
VARIABLE_COMMENT Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2664,7 +2664,7 @@
+@@ -2674,7 +2674,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_LOCK_STAT
VARIABLE_SCOPE GLOBAL
@@ -1077,7 +1077,7 @@
VARIABLE_COMMENT Maximum number of lock statistics for instrumented tables. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2674,7 +2674,7 @@
+@@ -2684,7 +2684,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1086,7 +1086,7 @@
VARIABLE_COMMENT Maximum number of thread instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2684,7 +2684,7 @@
+@@ -2694,7 +2694,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1095,7 +1095,7 @@
VARIABLE_COMMENT Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2694,7 +2694,7 @@
+@@ -2704,7 +2704,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1104,7 +1104,7 @@
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
-@@ -2704,7 +2704,7 @@
+@@ -2714,7 +2714,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1113,7 +1113,7 @@
VARIABLE_COMMENT Maximum number of rows in SETUP_ACTORS.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1024
-@@ -2714,7 +2714,7 @@
+@@ -2724,7 +2724,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1122,7 +1122,7 @@
VARIABLE_COMMENT Maximum number of rows in SETUP_OBJECTS.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2724,7 +2724,7 @@
+@@ -2734,7 +2734,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_USERS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1131,7 +1131,7 @@
VARIABLE_COMMENT Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2774,7 +2774,7 @@
+@@ -2784,7 +2784,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PRELOAD_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -1140,7 +1140,7 @@
VARIABLE_COMMENT The size of the buffer that is allocated when preloading indexes
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1073741824
-@@ -2794,7 +2794,7 @@
+@@ -2804,7 +2804,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME PROFILING_HISTORY_SIZE
VARIABLE_SCOPE SESSION
@@ -1149,7 +1149,7 @@
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
-@@ -2804,7 +2804,7 @@
+@@ -2814,7 +2814,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PROGRESS_REPORT_TIME
VARIABLE_SCOPE SESSION
@@ -1158,7 +1158,7 @@
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
-@@ -2864,7 +2864,7 @@
+@@ -2874,7 +2874,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME QUERY_ALLOC_BLOCK_SIZE
VARIABLE_SCOPE SESSION
@@ -1167,7 +1167,7 @@
VARIABLE_COMMENT Allocation block size for query parsing and execution
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 4294967295
-@@ -2874,7 +2874,7 @@
+@@ -2884,7 +2884,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME QUERY_CACHE_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -1176,7 +1176,7 @@
VARIABLE_COMMENT Don't cache results that are bigger than this
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -2884,7 +2884,7 @@
+@@ -2894,7 +2894,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME QUERY_CACHE_MIN_RES_UNIT
VARIABLE_SCOPE GLOBAL
@@ -1185,7 +1185,7 @@
VARIABLE_COMMENT The minimum size for blocks allocated by the query cache
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -2897,7 +2897,7 @@
+@@ -2907,7 +2907,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The memory allocated to store results from old queries
NUMERIC_MIN_VALUE 0
@@ -1194,7 +1194,7 @@
NUMERIC_BLOCK_SIZE 1024
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2934,7 +2934,7 @@
+@@ -2944,7 +2944,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME QUERY_PREALLOC_SIZE
VARIABLE_SCOPE SESSION
@@ -1203,7 +1203,7 @@
VARIABLE_COMMENT Persistent buffer for query parsing and execution
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 4294967295
-@@ -2947,7 +2947,7 @@
+@@ -2957,7 +2957,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
NUMERIC_MIN_VALUE 0
@@ -1212,7 +1212,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2957,14 +2957,14 @@
+@@ -2967,14 +2967,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
NUMERIC_MIN_VALUE 0
@@ -1229,7 +1229,7 @@
VARIABLE_COMMENT Allocation block size for storing ranges during optimization
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 4294967295
-@@ -2974,7 +2974,7 @@
+@@ -2984,7 +2984,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME READ_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -1238,7 +1238,7 @@
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
-@@ -2994,7 +2994,7 @@
+@@ -3004,7 +3004,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME READ_RND_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -1247,7 +1247,7 @@
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
-@@ -3014,10 +3014,10 @@
+@@ -3024,10 +3024,10 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME ROWID_MERGE_BUFF_SIZE
VARIABLE_SCOPE SESSION
@@ -1260,7 +1260,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3054,7 +3054,7 @@
+@@ -3064,7 +3064,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SERVER_ID
VARIABLE_SCOPE SESSION
@@ -1269,7 +1269,7 @@
VARIABLE_COMMENT Uniquely identifies the server instance in the community of replication partners
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -3124,7 +3124,7 @@
+@@ -3134,7 +3134,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME SLAVE_MAX_ALLOWED_PACKET
VARIABLE_SCOPE GLOBAL
@@ -1278,7 +1278,7 @@
VARIABLE_COMMENT The maximum packet length to sent successfully from the master to slave.
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1073741824
-@@ -3134,7 +3134,7 @@
+@@ -3144,7 +3144,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLOW_LAUNCH_TIME
VARIABLE_SCOPE GLOBAL
@@ -1287,7 +1287,7 @@
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
-@@ -3177,7 +3177,7 @@
+@@ -3187,7 +3187,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
@@ -1296,7 +1296,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3394,7 +3394,7 @@
+@@ -3404,7 +3404,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME STORED_PROGRAM_CACHE
VARIABLE_SCOPE GLOBAL
@@ -1305,7 +1305,7 @@
VARIABLE_COMMENT The soft upper limit for number of cached stored routines for one connection.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 524288
-@@ -3474,7 +3474,7 @@
+@@ -3484,7 +3484,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME TABLE_DEFINITION_CACHE
VARIABLE_SCOPE GLOBAL
@@ -1314,7 +1314,7 @@
VARIABLE_COMMENT The number of cached table definitions
NUMERIC_MIN_VALUE 400
NUMERIC_MAX_VALUE 2097152
-@@ -3484,7 +3484,7 @@
+@@ -3494,7 +3494,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME TABLE_OPEN_CACHE
VARIABLE_SCOPE GLOBAL
@@ -1323,7 +1323,7 @@
VARIABLE_COMMENT The number of cached open tables
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 1048576
-@@ -3544,7 +3544,7 @@
+@@ -3554,7 +3554,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME THREAD_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1332,7 +1332,7 @@
VARIABLE_COMMENT How many threads we should keep in a cache for reuse. These are freed after 5 minutes of idle time
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 16384
-@@ -3627,7 +3627,7 @@
+@@ -3637,7 +3637,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Max size for data for an internal temporary on-disk MyISAM or Aria table.
NUMERIC_MIN_VALUE 1024
@@ -1341,7 +1341,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3637,7 +3637,7 @@
+@@ -3647,7 +3647,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. Same as tmp_table_size.
NUMERIC_MIN_VALUE 0
@@ -1350,7 +1350,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3647,14 +3647,14 @@
+@@ -3657,14 +3657,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Alias for tmp_memory_table_size. 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 0
@@ -1367,7 +1367,7 @@
VARIABLE_COMMENT Allocation block size for transactions to be stored in binary log
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 134217728
-@@ -3664,7 +3664,7 @@
+@@ -3674,7 +3674,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME TRANSACTION_PREALLOC_SIZE
VARIABLE_SCOPE SESSION
@@ -1376,7 +1376,7 @@
VARIABLE_COMMENT Persistent buffer for transactions to be stored in binary log
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 134217728
-@@ -3804,7 +3804,7 @@
+@@ -3814,7 +3814,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME WAIT_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -1385,7 +1385,7 @@
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
-@@ -3831,7 +3831,7 @@
+@@ -3841,7 +3841,7 @@
VARIABLE_NAME LOG_TC_SIZE
GLOBAL_VALUE_ORIGIN AUTO
VARIABLE_SCOPE GLOBAL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
index 5511d758d50..b1d2a6595b3 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_embedded.result
@@ -382,6 +382,16 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME BINLOG_EXPIRE_LOGS_SECONDS
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, binary logs will be purged after binlog_expire_logs_seconds seconds; It and expire_logs_days are linked, such that changes in one are converted into the other. Possible purges happen at startup and at binary log rotation.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 8553600
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME BINLOG_FILE_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
@@ -904,11 +914,11 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME EXPIRE_LOGS_DAYS
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
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT If non-zero, binary logs will be purged after expire_logs_days days; It and binlog_expire_logs_seconds are linked, such that changes in one are converted into the other, presentable as a decimal value with 1/1000000 of the day precision; possible purges happen at startup and at binary log rotation
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 99
-NUMERIC_BLOCK_SIZE 1
+NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
@@ -2209,7 +2219,7 @@ VARIABLE_COMMENT Used to emulate old behavior from earlier MariaDB or MySQL vers
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
+ENUM_VALUE_LIST NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO,ZERO_DATE_TIME_CAST,UTF8_IS_UTF8MB3
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OLD_PASSWORDS
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
index 3ce1ed7b082..d4852f1aef9 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.rdiff
@@ -1,6 +1,6 @@
---- sysvars_server_notembedded.result 2020-04-29 11:35:30.046243428 +0300
-+++ sysvars_server_notembedded,32bit.reject 2020-04-30 11:45:50.488748076 +0300
-@@ -35,7 +35,7 @@
+--- ../../mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result 2021-05-12 15:30:19.783373551 +0530
++++ ../../mysql-test/suite/sys_vars/r/sysvars_server_notembedded,32bit.reject 2021-05-12 15:32:40.170343130 +0530
+@@ -34,7 +34,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_BLOCK_SIZE
VARIABLE_SCOPE GLOBAL
@@ -9,7 +9,7 @@
VARIABLE_COMMENT Block size to be used for Aria index pages.
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 32768
-@@ -45,7 +45,7 @@
+@@ -44,7 +44,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_CHECKPOINT_INTERVAL
VARIABLE_SCOPE GLOBAL
@@ -18,7 +18,7 @@
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
-@@ -55,7 +55,7 @@
+@@ -54,7 +54,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_CHECKPOINT_LOG_ACTIVITY
VARIABLE_SCOPE GLOBAL
@@ -27,7 +27,7 @@
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
-@@ -75,7 +75,7 @@
+@@ -74,7 +74,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME ARIA_FORCE_START_AFTER_RECOVERY_FAILURES
VARIABLE_SCOPE GLOBAL
@@ -36,7 +36,7 @@
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
-@@ -95,7 +95,7 @@
+@@ -94,7 +94,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_GROUP_COMMIT_INTERVAL
VARIABLE_SCOPE GLOBAL
@@ -45,7 +45,7 @@
VARIABLE_COMMENT Interval between commits in microseconds (1/1000000 sec). 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 @@
+@@ -104,7 +104,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_LOG_FILE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -54,7 +54,7 @@
VARIABLE_COMMENT Limit for transaction log size
NUMERIC_MIN_VALUE 8388608
NUMERIC_MAX_VALUE 4294967295
-@@ -135,10 +135,10 @@
+@@ -134,10 +134,10 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_PAGECACHE_AGE_THRESHOLD
VARIABLE_SCOPE GLOBAL
@@ -67,7 +67,7 @@
NUMERIC_BLOCK_SIZE 100
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -155,7 +155,7 @@
+@@ -154,7 +154,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_PAGECACHE_DIVISION_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -76,7 +76,7 @@
VARIABLE_COMMENT The minimum percentage of warm blocks in key cache
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 100
-@@ -165,7 +165,7 @@
+@@ -164,7 +164,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME ARIA_PAGECACHE_FILE_HASH_SIZE
VARIABLE_SCOPE GLOBAL
@@ -85,7 +85,7 @@
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
-@@ -195,7 +195,7 @@
+@@ -194,7 +194,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME ARIA_REPAIR_THREADS
VARIABLE_SCOPE SESSION
@@ -94,7 +94,7 @@
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
-@@ -208,7 +208,7 @@
+@@ -207,7 +207,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
@@ -103,7 +103,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -265,7 +265,7 @@
+@@ -264,7 +264,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME AUTO_INCREMENT_INCREMENT
VARIABLE_SCOPE SESSION
@@ -112,7 +112,7 @@
VARIABLE_COMMENT Auto-increment columns are incremented by this
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 65535
-@@ -275,7 +275,7 @@
+@@ -274,7 +274,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME AUTO_INCREMENT_OFFSET
VARIABLE_SCOPE SESSION
@@ -121,7 +121,7 @@
VARIABLE_COMMENT Offset added to Auto-increment columns. Used when auto-increment-increment != 1
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 65535
-@@ -285,7 +285,7 @@
+@@ -284,7 +284,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME BACK_LOG
VARIABLE_SCOPE GLOBAL
@@ -130,7 +130,7 @@
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
-@@ -338,7 +338,7 @@
+@@ -337,7 +337,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
@@ -139,7 +139,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -355,20 +355,20 @@
+@@ -354,20 +354,20 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME BINLOG_COMMIT_WAIT_COUNT
VARIABLE_SCOPE GLOBAL
@@ -164,7 +164,16 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -388,7 +388,7 @@
+@@ -384,7 +384,7 @@
+ COMMAND_LINE_ARGUMENT OPTIONAL
+ VARIABLE_NAME BINLOG_EXPIRE_LOGS_SECONDS
+ VARIABLE_SCOPE GLOBAL
+-VARIABLE_TYPE BIGINT UNSIGNED
++VARIABLE_TYPE INT UNSIGNED
+ VARIABLE_COMMENT If non-zero, binary logs will be purged after binlog_expire_logs_seconds seconds; It and expire_logs_days are linked, such that changes in one are converted into the other. Possible purges happen at startup and at binary log rotation.
+ NUMERIC_MIN_VALUE 0
+ NUMERIC_MAX_VALUE 8553600
+@@ -397,7 +397,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The size of file cache for the binary log
NUMERIC_MIN_VALUE 8192
@@ -173,7 +182,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -438,7 +438,7 @@
+@@ -447,7 +447,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
@@ -182,7 +191,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -448,7 +448,7 @@
+@@ -457,7 +457,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
@@ -191,7 +200,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -635,7 +635,7 @@
+@@ -644,7 +644,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME CONNECT_TIMEOUT
VARIABLE_SCOPE GLOBAL
@@ -200,7 +209,7 @@
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
-@@ -685,7 +685,7 @@
+@@ -694,7 +694,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_LONG
VARIABLE_SCOPE SESSION
@@ -209,7 +218,7 @@
VARIABLE_COMMENT Long search depth for the two-step deadlock detection
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 33
-@@ -695,7 +695,7 @@
+@@ -704,7 +704,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_SEARCH_DEPTH_SHORT
VARIABLE_SCOPE SESSION
@@ -218,7 +227,7 @@
VARIABLE_COMMENT Short search depth for the two-step deadlock detection
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 32
-@@ -705,7 +705,7 @@
+@@ -714,7 +714,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_TIMEOUT_LONG
VARIABLE_SCOPE SESSION
@@ -227,7 +236,7 @@
VARIABLE_COMMENT Long timeout for the two-step deadlock detection (in microseconds)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -715,7 +715,7 @@
+@@ -724,7 +724,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DEADLOCK_TIMEOUT_SHORT
VARIABLE_SCOPE SESSION
@@ -236,7 +245,7 @@
VARIABLE_COMMENT Short timeout for the two-step deadlock detection (in microseconds)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -775,7 +775,7 @@
+@@ -784,7 +784,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME DEFAULT_WEEK_FORMAT
VARIABLE_SCOPE SESSION
@@ -245,7 +254,7 @@
VARIABLE_COMMENT The default week format used by WEEK() functions
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 7
-@@ -785,7 +785,7 @@
+@@ -794,7 +794,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DELAYED_INSERT_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -254,7 +263,7 @@
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
-@@ -795,7 +795,7 @@
+@@ -804,7 +804,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DELAYED_INSERT_TIMEOUT
VARIABLE_SCOPE GLOBAL
@@ -263,7 +272,7 @@
VARIABLE_COMMENT How long a INSERT DELAYED thread should wait for INSERT statements before terminating
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 31536000
-@@ -805,7 +805,7 @@
+@@ -814,7 +814,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME DELAYED_QUEUE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -272,7 +281,7 @@
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
-@@ -835,7 +835,7 @@
+@@ -844,7 +844,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME DIV_PRECISION_INCREMENT
VARIABLE_SCOPE SESSION
@@ -281,16 +290,7 @@
VARIABLE_COMMENT Precision of the result of '/' operator will be increased on that value
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 38
-@@ -925,7 +925,7 @@
- COMMAND_LINE_ARGUMENT REQUIRED
- VARIABLE_NAME EXPIRE_LOGS_DAYS
- 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
-@@ -955,7 +955,7 @@
+@@ -964,7 +964,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME EXTRA_MAX_CONNECTIONS
VARIABLE_SCOPE GLOBAL
@@ -299,7 +299,7 @@
VARIABLE_COMMENT The number of connections on extra-port
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 100000
-@@ -985,7 +985,7 @@
+@@ -994,7 +994,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME FLUSH_TIME
VARIABLE_SCOPE GLOBAL
@@ -308,7 +308,7 @@
VARIABLE_COMMENT A dedicated thread is created to flush all tables at the given interval
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 31536000
-@@ -1015,7 +1015,7 @@
+@@ -1024,7 +1024,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME FT_MAX_WORD_LEN
VARIABLE_SCOPE GLOBAL
@@ -317,7 +317,7 @@
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
-@@ -1025,7 +1025,7 @@
+@@ -1034,7 +1034,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME FT_MIN_WORD_LEN
VARIABLE_SCOPE GLOBAL
@@ -326,7 +326,7 @@
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
-@@ -1035,7 +1035,7 @@
+@@ -1044,7 +1044,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME FT_QUERY_EXPANSION_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -335,16 +335,7 @@
VARIABLE_COMMENT Number of best matches to use for query expansion
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1000
-@@ -1078,7 +1078,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
-@@ -1285,7 +1285,7 @@
+@@ -1294,7 +1294,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME HISTOGRAM_SIZE
VARIABLE_SCOPE SESSION
@@ -353,7 +344,7 @@
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
-@@ -1315,7 +1315,7 @@
+@@ -1324,7 +1324,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME HOST_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -362,7 +353,7 @@
VARIABLE_COMMENT How many host names should be cached to avoid resolving.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 65536
-@@ -1425,7 +1425,7 @@
+@@ -1434,7 +1434,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME INTERACTIVE_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -371,7 +362,7 @@
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
-@@ -1458,7 +1458,7 @@
+@@ -1467,7 +1467,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The size of the buffer that is used for joins
NUMERIC_MIN_VALUE 128
@@ -380,7 +371,7 @@
NUMERIC_BLOCK_SIZE 128
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1475,7 +1475,7 @@
+@@ -1484,7 +1484,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME JOIN_CACHE_LEVEL
VARIABLE_SCOPE SESSION
@@ -389,7 +380,7 @@
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
-@@ -1498,7 +1498,7 @@
+@@ -1507,7 +1507,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
@@ -398,7 +389,7 @@
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -1665,7 +1665,7 @@
+@@ -1674,7 +1674,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME LOCK_WAIT_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -407,7 +398,7 @@
VARIABLE_COMMENT Timeout in seconds to wait for a lock before returning an error.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 31536000
-@@ -1815,7 +1815,7 @@
+@@ -1824,7 +1824,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME LOG_SLOW_RATE_LIMIT
VARIABLE_SCOPE SESSION
@@ -416,7 +407,7 @@
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
-@@ -1845,7 +1845,7 @@
+@@ -1854,7 +1854,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME LOG_WARNINGS
VARIABLE_SCOPE SESSION
@@ -425,7 +416,7 @@
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
-@@ -1905,7 +1905,7 @@
+@@ -1914,7 +1914,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME MAX_ALLOWED_PACKET
VARIABLE_SCOPE SESSION
@@ -434,7 +425,7 @@
VARIABLE_COMMENT Max packet length to send to or receive from the server
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1073741824
-@@ -1918,14 +1918,14 @@
+@@ -1927,14 +1927,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the total size of the transactional cache
NUMERIC_MIN_VALUE 4096
@@ -451,7 +442,7 @@
VARIABLE_COMMENT Binary log will be rotated automatically when the size exceeds this value.
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 1073741824
-@@ -1938,14 +1938,14 @@
+@@ -1947,14 +1947,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the total size of the statement cache
NUMERIC_MIN_VALUE 4096
@@ -468,7 +459,7 @@
VARIABLE_COMMENT The number of simultaneous clients allowed
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 100000
-@@ -1955,7 +1955,7 @@
+@@ -1964,7 +1964,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_CONNECT_ERRORS
VARIABLE_SCOPE GLOBAL
@@ -477,7 +468,7 @@
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
-@@ -1965,7 +1965,7 @@
+@@ -1974,7 +1974,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_DELAYED_THREADS
VARIABLE_SCOPE SESSION
@@ -486,7 +477,7 @@
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
-@@ -1985,7 +1985,7 @@
+@@ -1994,7 +1994,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_ERROR_COUNT
VARIABLE_SCOPE SESSION
@@ -495,7 +486,7 @@
VARIABLE_COMMENT Max number of errors/warnings to store for a statement
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 65535
-@@ -1998,14 +1998,14 @@
+@@ -2007,14 +2007,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Don't allow creation of heap tables bigger than this
NUMERIC_MIN_VALUE 16384
@@ -512,7 +503,7 @@
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
-@@ -2025,7 +2025,7 @@
+@@ -2034,7 +2034,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_LENGTH_FOR_SORT_DATA
VARIABLE_SCOPE SESSION
@@ -521,7 +512,7 @@
VARIABLE_COMMENT Max number of bytes in sorted records
NUMERIC_MIN_VALUE 4
NUMERIC_MAX_VALUE 8388608
-@@ -2055,7 +2055,7 @@
+@@ -2064,7 +2064,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_RECURSIVE_ITERATIONS
VARIABLE_SCOPE SESSION
@@ -530,7 +521,7 @@
VARIABLE_COMMENT Maximum number of iterations when executing recursive queries
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -2078,14 +2078,14 @@
+@@ -2087,14 +2087,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The maximum size of the container of a rowid filter
NUMERIC_MIN_VALUE 1024
@@ -547,16 +538,16 @@
VARIABLE_COMMENT Limit assumed max number of seeks when looking up rows based on a key
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -2105,7 +2105,7 @@
+@@ -2114,7 +2114,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_SORT_LENGTH
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_MIN_VALUE 64
NUMERIC_MAX_VALUE 8388608
-@@ -2115,7 +2115,7 @@
+@@ -2124,7 +2124,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_SP_RECURSION_DEPTH
VARIABLE_SCOPE SESSION
@@ -565,7 +556,7 @@
VARIABLE_COMMENT Maximum stored procedure recursion depth
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 255
-@@ -2135,7 +2135,7 @@
+@@ -2144,7 +2144,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_TMP_TABLES
VARIABLE_SCOPE SESSION
@@ -574,7 +565,7 @@
VARIABLE_COMMENT Unused, will be removed.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -2155,7 +2155,7 @@
+@@ -2164,7 +2164,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MAX_WRITE_LOCK_COUNT
VARIABLE_SCOPE GLOBAL
@@ -583,7 +574,7 @@
VARIABLE_COMMENT After this many write locks, allow some read locks to run in between
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -2165,7 +2165,7 @@
+@@ -2174,7 +2174,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME METADATA_LOCKS_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -592,7 +583,7 @@
VARIABLE_COMMENT Unused
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 1048576
-@@ -2175,7 +2175,7 @@
+@@ -2184,7 +2184,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME METADATA_LOCKS_HASH_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -601,7 +592,7 @@
VARIABLE_COMMENT Unused
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 1024
-@@ -2185,7 +2185,7 @@
+@@ -2194,7 +2194,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MIN_EXAMINED_ROW_LIMIT
VARIABLE_SCOPE SESSION
@@ -610,7 +601,7 @@
VARIABLE_COMMENT Don't write queries to slow log that examine fewer rows than that
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -2195,7 +2195,7 @@
+@@ -2204,7 +2204,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MRR_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -619,7 +610,7 @@
VARIABLE_COMMENT Size of buffer to use when using MRR with range access
NUMERIC_MIN_VALUE 8192
NUMERIC_MAX_VALUE 2147483647
-@@ -2205,7 +2205,7 @@
+@@ -2214,7 +2214,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MYISAM_BLOCK_SIZE
VARIABLE_SCOPE GLOBAL
@@ -628,7 +619,7 @@
VARIABLE_COMMENT Block size to be used for MyISAM index pages
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 16384
-@@ -2215,7 +2215,7 @@
+@@ -2224,7 +2224,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME MYISAM_DATA_POINTER_SIZE
VARIABLE_SCOPE GLOBAL
@@ -637,7 +628,7 @@
VARIABLE_COMMENT Default pointer size to be used for MyISAM tables
NUMERIC_MIN_VALUE 2
NUMERIC_MAX_VALUE 7
-@@ -2238,7 +2238,7 @@
+@@ -2247,7 +2247,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Restricts the total memory used for memory mapping of MySQL tables
NUMERIC_MIN_VALUE 7
@@ -646,7 +637,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY YES
-@@ -2255,10 +2255,10 @@
+@@ -2264,10 +2264,10 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME MYISAM_REPAIR_THREADS
VARIABLE_SCOPE SESSION
@@ -659,7 +650,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2268,7 +2268,7 @@
+@@ -2277,7 +2277,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
@@ -668,7 +659,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2305,7 +2305,7 @@
+@@ -2314,7 +2314,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME NET_BUFFER_LENGTH
VARIABLE_SCOPE SESSION
@@ -677,7 +668,7 @@
VARIABLE_COMMENT Buffer length for TCP/IP and socket communication
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1048576
-@@ -2315,7 +2315,7 @@
+@@ -2324,7 +2324,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME NET_READ_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -686,7 +677,7 @@
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
-@@ -2325,7 +2325,7 @@
+@@ -2334,7 +2334,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME NET_RETRY_COUNT
VARIABLE_SCOPE SESSION
@@ -695,7 +686,7 @@
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
-@@ -2335,7 +2335,7 @@
+@@ -2344,7 +2344,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME NET_WRITE_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -704,7 +695,7 @@
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
-@@ -2385,7 +2385,7 @@
+@@ -2394,7 +2394,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME OPEN_FILES_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -713,7 +704,7 @@
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 or autoset 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
-@@ -2395,10 +2395,10 @@
+@@ -2404,17 +2404,17 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_MAX_SEL_ARG_WEIGHT
VARIABLE_SCOPE SESSION
@@ -726,7 +717,6 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -2405,7 +2405,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_PRUNE_LEVEL
VARIABLE_SCOPE SESSION
@@ -735,7 +725,7 @@
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
-@@ -2415,7 +2415,7 @@
+@@ -2424,7 +2424,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_SEARCH_DEPTH
VARIABLE_SCOPE SESSION
@@ -744,7 +734,7 @@
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.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 62
-@@ -2425,7 +2425,7 @@
+@@ -2434,7 +2434,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_SELECTIVITY_SAMPLING_LIMIT
VARIABLE_SCOPE SESSION
@@ -753,7 +743,7 @@
VARIABLE_COMMENT Controls number of record samples to check condition selectivity
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 4294967295
-@@ -2455,17 +2455,17 @@
+@@ -2464,17 +2464,17 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OPTIMIZER_TRACE_MAX_MEM_SIZE
VARIABLE_SCOPE SESSION
@@ -774,7 +764,7 @@
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
-@@ -2485,7 +2485,7 @@
+@@ -2494,7 +2494,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME PERFORMANCE_SCHEMA_ACCOUNTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -783,7 +773,7 @@
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
-@@ -2495,7 +2495,7 @@
+@@ -2504,7 +2504,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_DIGESTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -791,8 +781,8 @@
+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
-@@ -2505,7 +2505,7 @@
+ NUMERIC_MAX_VALUE 1048576
+@@ -2514,7 +2514,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -801,7 +791,7 @@
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
-@@ -2515,7 +2515,7 @@
+@@ -2524,7 +2524,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -810,7 +800,7 @@
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
-@@ -2525,7 +2525,7 @@
+@@ -2534,7 +2534,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -819,7 +809,7 @@
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
-@@ -2535,7 +2535,7 @@
+@@ -2544,7 +2544,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -828,7 +818,7 @@
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
-@@ -2545,7 +2545,7 @@
+@@ -2554,7 +2554,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_TRANSACTIONS_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -837,7 +827,7 @@
VARIABLE_COMMENT Number of rows in EVENTS_TRANSACTIONS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2555,7 +2555,7 @@
+@@ -2564,7 +2564,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_TRANSACTIONS_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -846,7 +836,7 @@
VARIABLE_COMMENT Number of rows per thread in EVENTS_TRANSACTIONS_HISTORY. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1024
-@@ -2565,7 +2565,7 @@
+@@ -2574,7 +2574,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE
VARIABLE_SCOPE GLOBAL
@@ -855,7 +845,7 @@
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
-@@ -2575,7 +2575,7 @@
+@@ -2584,7 +2584,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE
VARIABLE_SCOPE GLOBAL
@@ -864,7 +854,7 @@
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
-@@ -2585,7 +2585,7 @@
+@@ -2594,7 +2594,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_HOSTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -873,7 +863,7 @@
VARIABLE_COMMENT Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2595,7 +2595,7 @@
+@@ -2604,7 +2604,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -882,7 +872,7 @@
VARIABLE_COMMENT Maximum number of condition instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2605,7 +2605,7 @@
+@@ -2614,7 +2614,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_COND_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -891,7 +881,7 @@
VARIABLE_COMMENT Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2615,7 +2615,7 @@
+@@ -2624,7 +2624,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH
VARIABLE_SCOPE GLOBAL
@@ -900,7 +890,7 @@
VARIABLE_COMMENT Maximum length considered for digest text, when stored in performance_schema tables.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1048576
-@@ -2625,7 +2625,7 @@
+@@ -2634,7 +2634,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -909,7 +899,7 @@
VARIABLE_COMMENT Maximum number of file instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2635,7 +2635,7 @@
+@@ -2644,7 +2644,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_HANDLES
VARIABLE_SCOPE GLOBAL
@@ -918,7 +908,7 @@
VARIABLE_COMMENT Maximum number of opened instrumented files.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1048576
-@@ -2645,7 +2645,7 @@
+@@ -2654,7 +2654,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -927,7 +917,7 @@
VARIABLE_COMMENT Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2655,7 +2655,7 @@
+@@ -2664,7 +2664,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_INDEX_STAT
VARIABLE_SCOPE GLOBAL
@@ -936,7 +926,7 @@
VARIABLE_COMMENT Maximum number of index statistics for instrumented tables. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2665,7 +2665,7 @@
+@@ -2674,7 +2674,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MEMORY_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -945,7 +935,7 @@
VARIABLE_COMMENT Maximum number of memory pool instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1024
-@@ -2675,7 +2675,7 @@
+@@ -2684,7 +2684,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_METADATA_LOCKS
VARIABLE_SCOPE GLOBAL
@@ -954,7 +944,7 @@
VARIABLE_COMMENT Maximum number of metadata locks. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 104857600
-@@ -2685,7 +2685,7 @@
+@@ -2694,7 +2694,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -963,7 +953,7 @@
VARIABLE_COMMENT Maximum number of mutex instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2695,7 +2695,7 @@
+@@ -2704,7 +2704,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -972,7 +962,7 @@
VARIABLE_COMMENT Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 104857600
-@@ -2705,7 +2705,7 @@
+@@ -2714,7 +2714,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_PREPARED_STATEMENTS_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -981,7 +971,7 @@
VARIABLE_COMMENT Maximum number of instrumented prepared statements. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2715,7 +2715,7 @@
+@@ -2724,7 +2724,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_PROGRAM_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -990,7 +980,7 @@
VARIABLE_COMMENT Maximum number of instrumented programs. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2725,7 +2725,7 @@
+@@ -2734,7 +2734,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -999,7 +989,7 @@
VARIABLE_COMMENT Maximum number of rwlock instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2735,7 +2735,7 @@
+@@ -2744,7 +2744,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1008,7 +998,7 @@
VARIABLE_COMMENT Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 104857600
-@@ -2745,7 +2745,7 @@
+@@ -2754,7 +2754,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1017,7 +1007,7 @@
VARIABLE_COMMENT Maximum number of socket instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2755,7 +2755,7 @@
+@@ -2764,7 +2764,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1026,7 +1016,7 @@
VARIABLE_COMMENT Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2765,7 +2765,7 @@
+@@ -2774,7 +2774,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_SQL_TEXT_LENGTH
VARIABLE_SCOPE GLOBAL
@@ -1035,7 +1025,7 @@
VARIABLE_COMMENT Maximum length of displayed sql text.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 1048576
-@@ -2775,7 +2775,7 @@
+@@ -2784,7 +2784,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1044,7 +1034,7 @@
VARIABLE_COMMENT Maximum number of stage instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2785,7 +2785,7 @@
+@@ -2794,7 +2794,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1053,7 +1043,7 @@
VARIABLE_COMMENT Maximum number of statement instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2795,7 +2795,7 @@
+@@ -2804,7 +2804,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_STATEMENT_STACK
VARIABLE_SCOPE GLOBAL
@@ -1062,7 +1052,7 @@
VARIABLE_COMMENT Number of rows per thread in EVENTS_STATEMENTS_CURRENT.
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 256
-@@ -2805,7 +2805,7 @@
+@@ -2814,7 +2814,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES
VARIABLE_SCOPE GLOBAL
@@ -1071,7 +1061,7 @@
VARIABLE_COMMENT Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2815,7 +2815,7 @@
+@@ -2824,7 +2824,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1080,7 +1070,7 @@
VARIABLE_COMMENT Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2825,7 +2825,7 @@
+@@ -2834,7 +2834,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_TABLE_LOCK_STAT
VARIABLE_SCOPE GLOBAL
@@ -1089,7 +1079,7 @@
VARIABLE_COMMENT Maximum number of lock statistics for instrumented tables. Use 0 to disable, -1 for automated scaling.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2835,7 +2835,7 @@
+@@ -2844,7 +2844,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES
VARIABLE_SCOPE GLOBAL
@@ -1098,7 +1088,7 @@
VARIABLE_COMMENT Maximum number of thread instruments.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 256
-@@ -2845,7 +2845,7 @@
+@@ -2854,7 +2854,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES
VARIABLE_SCOPE GLOBAL
@@ -1107,7 +1097,7 @@
VARIABLE_COMMENT Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2855,7 +2855,7 @@
+@@ -2864,7 +2864,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1116,7 +1106,7 @@
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
-@@ -2865,7 +2865,7 @@
+@@ -2874,7 +2874,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1125,7 +1115,7 @@
VARIABLE_COMMENT Maximum number of rows in SETUP_ACTORS.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1024
-@@ -2875,7 +2875,7 @@
+@@ -2884,7 +2884,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1134,7 +1124,7 @@
VARIABLE_COMMENT Maximum number of rows in SETUP_OBJECTS.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2885,7 +2885,7 @@
+@@ -2894,7 +2894,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PERFORMANCE_SCHEMA_USERS_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1143,7 +1133,7 @@
VARIABLE_COMMENT Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
NUMERIC_MIN_VALUE -1
NUMERIC_MAX_VALUE 1048576
-@@ -2935,7 +2935,7 @@
+@@ -2944,7 +2944,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PRELOAD_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -1152,7 +1142,7 @@
VARIABLE_COMMENT The size of the buffer that is allocated when preloading indexes
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1073741824
-@@ -2955,7 +2955,7 @@
+@@ -2964,7 +2964,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME PROFILING_HISTORY_SIZE
VARIABLE_SCOPE SESSION
@@ -1161,7 +1151,7 @@
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
-@@ -2965,7 +2965,7 @@
+@@ -2974,7 +2974,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME PROGRESS_REPORT_TIME
VARIABLE_SCOPE SESSION
@@ -1170,7 +1160,7 @@
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
-@@ -3025,7 +3025,7 @@
+@@ -3034,7 +3034,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME QUERY_ALLOC_BLOCK_SIZE
VARIABLE_SCOPE SESSION
@@ -1179,7 +1169,7 @@
VARIABLE_COMMENT Allocation block size for query parsing and execution
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 4294967295
-@@ -3035,7 +3035,7 @@
+@@ -3044,7 +3044,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME QUERY_CACHE_LIMIT
VARIABLE_SCOPE GLOBAL
@@ -1188,7 +1178,7 @@
VARIABLE_COMMENT Don't cache results that are bigger than this
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -3045,7 +3045,7 @@
+@@ -3054,7 +3054,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME QUERY_CACHE_MIN_RES_UNIT
VARIABLE_SCOPE GLOBAL
@@ -1197,7 +1187,7 @@
VARIABLE_COMMENT The minimum size for blocks allocated by the query cache
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -3058,7 +3058,7 @@
+@@ -3067,7 +3067,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The memory allocated to store results from old queries
NUMERIC_MIN_VALUE 0
@@ -1206,7 +1196,7 @@
NUMERIC_BLOCK_SIZE 1024
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3095,7 +3095,7 @@
+@@ -3104,7 +3104,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME QUERY_PREALLOC_SIZE
VARIABLE_SCOPE SESSION
@@ -1215,7 +1205,7 @@
VARIABLE_COMMENT Persistent buffer for query parsing and execution
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 4294967295
-@@ -3108,7 +3108,7 @@
+@@ -3117,7 +3117,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
NUMERIC_MIN_VALUE 0
@@ -1224,7 +1214,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3118,14 +3118,14 @@
+@@ -3127,14 +3127,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Sets the internal state of the RAND() generator for replication purposes
NUMERIC_MIN_VALUE 0
@@ -1241,7 +1231,7 @@
VARIABLE_COMMENT Allocation block size for storing ranges during optimization
NUMERIC_MIN_VALUE 4096
NUMERIC_MAX_VALUE 4294967295
-@@ -3138,14 +3138,14 @@
+@@ -3147,14 +3147,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Maximum speed(KB/s) to read binlog from master (0 = no limit)
NUMERIC_MIN_VALUE 0
@@ -1258,7 +1248,7 @@
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
-@@ -3165,7 +3165,7 @@
+@@ -3174,7 +3174,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME READ_RND_BUFFER_SIZE
VARIABLE_SCOPE SESSION
@@ -1267,7 +1257,7 @@
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
-@@ -3375,10 +3375,10 @@
+@@ -3384,10 +3384,10 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME ROWID_MERGE_BUFF_SIZE
VARIABLE_SCOPE SESSION
@@ -1280,7 +1270,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3395,20 +3395,20 @@
+@@ -3404,20 +3404,20 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME RPL_SEMI_SYNC_MASTER_TIMEOUT
VARIABLE_SCOPE GLOBAL
@@ -1305,7 +1295,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3465,10 +3465,10 @@
+@@ -3474,10 +3474,10 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME RPL_SEMI_SYNC_SLAVE_TRACE_LEVEL
VARIABLE_SCOPE GLOBAL
@@ -1318,7 +1308,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -3505,7 +3505,7 @@
+@@ -3514,7 +3514,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SERVER_ID
VARIABLE_SCOPE SESSION
@@ -1327,7 +1317,7 @@
VARIABLE_COMMENT Uniquely identifies the server instance in the community of replication partners
NUMERIC_MIN_VALUE 1
NUMERIC_MAX_VALUE 4294967295
-@@ -3645,7 +3645,7 @@
+@@ -3644,7 +3644,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLAVE_DOMAIN_PARALLEL_THREADS
VARIABLE_SCOPE GLOBAL
@@ -1336,7 +1326,7 @@
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
-@@ -3675,7 +3675,7 @@
+@@ -3674,7 +3674,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLAVE_MAX_ALLOWED_PACKET
VARIABLE_SCOPE GLOBAL
@@ -1345,7 +1335,7 @@
VARIABLE_COMMENT The maximum packet length to sent successfully from the master to slave.
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 1073741824
-@@ -3695,7 +3695,7 @@
+@@ -3694,7 +3694,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLAVE_PARALLEL_MAX_QUEUED
VARIABLE_SCOPE GLOBAL
@@ -1354,7 +1344,7 @@
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
-@@ -3715,7 +3715,7 @@
+@@ -3714,7 +3714,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME SLAVE_PARALLEL_THREADS
VARIABLE_SCOPE GLOBAL
@@ -1363,7 +1353,7 @@
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
-@@ -3725,7 +3725,7 @@
+@@ -3724,7 +3724,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLAVE_PARALLEL_WORKERS
VARIABLE_SCOPE GLOBAL
@@ -1372,7 +1362,7 @@
VARIABLE_COMMENT Alias for slave_parallel_threads
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 16383
-@@ -3765,7 +3765,7 @@
+@@ -3764,7 +3764,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME SLAVE_TRANSACTION_RETRIES
VARIABLE_SCOPE GLOBAL
@@ -1381,7 +1371,7 @@
VARIABLE_COMMENT Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock, elapsed lock wait timeout or listed in slave_transaction_retry_errors, before giving up and stopping
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 4294967295
-@@ -3785,7 +3785,7 @@
+@@ -3784,7 +3784,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLAVE_TRANSACTION_RETRY_INTERVAL
VARIABLE_SCOPE GLOBAL
@@ -1390,7 +1380,7 @@
VARIABLE_COMMENT Interval of the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout or listed in slave_transaction_retry_errors
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 3600
-@@ -3805,7 +3805,7 @@
+@@ -3804,7 +3804,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME SLOW_LAUNCH_TIME
VARIABLE_SCOPE GLOBAL
@@ -1399,7 +1389,7 @@
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
-@@ -3848,7 +3848,7 @@
+@@ -3847,7 +3847,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
@@ -1408,7 +1398,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -4075,7 +4075,7 @@
+@@ -4074,7 +4074,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME STORED_PROGRAM_CACHE
VARIABLE_SCOPE GLOBAL
@@ -1417,7 +1407,7 @@
VARIABLE_COMMENT The soft upper limit for number of cached stored routines for one connection.
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 524288
-@@ -4175,7 +4175,7 @@
+@@ -4174,7 +4174,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME TABLE_DEFINITION_CACHE
VARIABLE_SCOPE GLOBAL
@@ -1426,7 +1416,7 @@
VARIABLE_COMMENT The number of cached table definitions
NUMERIC_MIN_VALUE 400
NUMERIC_MAX_VALUE 2097152
-@@ -4185,7 +4185,7 @@
+@@ -4184,7 +4184,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME TABLE_OPEN_CACHE
VARIABLE_SCOPE GLOBAL
@@ -1435,7 +1425,7 @@
VARIABLE_COMMENT The number of cached open tables
NUMERIC_MIN_VALUE 10
NUMERIC_MAX_VALUE 1048576
-@@ -4245,7 +4245,7 @@
+@@ -4244,7 +4244,7 @@
COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME THREAD_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
@@ -1444,7 +1434,7 @@
VARIABLE_COMMENT How many threads we should keep in a cache for reuse. These are freed after 5 minutes of idle time
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 16384
-@@ -4418,7 +4418,7 @@
+@@ -4417,7 +4417,7 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Max size for data for an internal temporary on-disk MyISAM or Aria table.
NUMERIC_MIN_VALUE 1024
@@ -1453,7 +1443,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -4428,7 +4428,7 @@
+@@ -4427,7 +4427,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. Same as tmp_table_size.
NUMERIC_MIN_VALUE 0
@@ -1462,7 +1452,7 @@
NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL
READ_ONLY NO
-@@ -4438,14 +4438,14 @@
+@@ -4437,14 +4437,14 @@
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Alias for tmp_memory_table_size. 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 0
@@ -1479,7 +1469,7 @@
VARIABLE_COMMENT Allocation block size for transactions to be stored in binary log
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 134217728
-@@ -4455,7 +4455,7 @@
+@@ -4454,7 +4454,7 @@
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME TRANSACTION_PREALLOC_SIZE
VARIABLE_SCOPE SESSION
@@ -1488,7 +1478,7 @@
VARIABLE_COMMENT Persistent buffer for transactions to be stored in binary log
NUMERIC_MIN_VALUE 1024
NUMERIC_MAX_VALUE 134217728
-@@ -4595,7 +4595,7 @@
+@@ -4594,7 +4594,7 @@
COMMAND_LINE_ARGUMENT NULL
VARIABLE_NAME WAIT_TIMEOUT
VARIABLE_SCOPE SESSION
@@ -1497,7 +1487,7 @@
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
-@@ -4622,7 +4622,7 @@
+@@ -4621,7 +4621,7 @@
VARIABLE_NAME LOG_TC_SIZE
GLOBAL_VALUE_ORIGIN AUTO
VARIABLE_SCOPE GLOBAL
diff --git a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
index 5eeb5698eba..7b811a011ff 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_server_notembedded.result
@@ -382,6 +382,16 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON
READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL
+VARIABLE_NAME BINLOG_EXPIRE_LOGS_SECONDS
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE BIGINT UNSIGNED
+VARIABLE_COMMENT If non-zero, binary logs will be purged after binlog_expire_logs_seconds seconds; It and expire_logs_days are linked, such that changes in one are converted into the other. Possible purges happen at startup and at binary log rotation.
+NUMERIC_MIN_VALUE 0
+NUMERIC_MAX_VALUE 8553600
+NUMERIC_BLOCK_SIZE 1
+ENUM_VALUE_LIST NULL
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME BINLOG_FILE_CACHE_SIZE
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
@@ -924,11 +934,11 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME EXPIRE_LOGS_DAYS
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
+VARIABLE_TYPE DOUBLE
+VARIABLE_COMMENT If non-zero, binary logs will be purged after expire_logs_days days; It and binlog_expire_logs_seconds are linked, such that changes in one are converted into the other, presentable as a decimal value with 1/1000000 of the day precision; possible purges happen at startup and at binary log rotation
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 99
-NUMERIC_BLOCK_SIZE 1
+NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
@@ -2369,7 +2379,7 @@ VARIABLE_COMMENT Used to emulate old behavior from earlier MariaDB or MySQL vers
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
+ENUM_VALUE_LIST NO_DUP_KEY_WARNINGS_WITH_IGNORE,NO_PROGRESS_INFO,ZERO_DATE_TIME_CAST,UTF8_IS_UTF8MB3
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME OLD_PASSWORDS
diff --git a/mysql-test/suite/sys_vars/r/sysvars_wsrep.result b/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
index f73bfbd13e7..6bea1a88caa 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
@@ -331,6 +331,21 @@ ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
GLOBAL_VALUE_PATH NULL
+VARIABLE_NAME WSREP_MODE
+SESSION_VALUE NULL
+GLOBAL_VALUE
+GLOBAL_VALUE_ORIGIN COMPILE-TIME
+DEFAULT_VALUE
+VARIABLE_SCOPE GLOBAL
+VARIABLE_TYPE SET
+VARIABLE_COMMENT Set of WSREP features that are enabled.
+NUMERIC_MIN_VALUE NULL
+NUMERIC_MAX_VALUE NULL
+NUMERIC_BLOCK_SIZE NULL
+ENUM_VALUE_LIST STRICT_REPLICATION,BINLOG_ROW_FORMAT_ONLY,REQUIRED_PRIMARY_KEY,REPLICATE_MYISAM,REPLICATE_ARIA,DISALLOW_LOCAL_GTID
+READ_ONLY NO
+COMMAND_LINE_ARGUMENT REQUIRED
+GLOBAL_VALUE_PATH NULL
VARIABLE_NAME WSREP_MYSQL_REPLICATION_BUNDLE
SESSION_VALUE NULL
GLOBAL_VALUE 0
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
deleted file mode 100644
index 3625f29aa0f..00000000000
--- a/mysql-test/suite/sys_vars/r/wsrep_replicate_myisam_basic.result
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# 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_strict_ddl_basic.result b/mysql-test/suite/sys_vars/r/wsrep_strict_ddl_basic.result
deleted file mode 100644
index 6d686f9de2e..00000000000
--- a/mysql-test/suite/sys_vars/r/wsrep_strict_ddl_basic.result
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# wsrep_strict_ddl
-#
-# save the initial value
-SET @wsrep_strict_ddl_global_saved = @@global.wsrep_strict_ddl;
-# default
-SELECT @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-0
-
-# scope
-SELECT @@session.wsrep_strict_ddl;
-ERROR HY000: Variable 'wsrep_strict_ddl' is a GLOBAL variable
-SET @@global.wsrep_strict_ddl=OFF;
-SELECT @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-0
-SET @@global.wsrep_strict_ddl=ON;
-SELECT @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-1
-
-# valid values
-SET @@global.wsrep_strict_ddl='OFF';
-SELECT @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-0
-SET @@global.wsrep_strict_ddl=ON;
-SELECT @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-1
-SET @@global.wsrep_strict_ddl=default;
-SELECT @@global.wsrep_strict_ddl;
-@@global.wsrep_strict_ddl
-0
-
-# invalid values
-SET @@global.wsrep_strict_ddl=NULL;
-ERROR 42000: Variable 'wsrep_strict_ddl' can't be set to the value of 'NULL'
-SET @@global.wsrep_strict_ddl='junk';
-ERROR 42000: Variable 'wsrep_strict_ddl' can't be set to the value of 'junk'
-
-# restore the initial value
-SET @@global.wsrep_strict_ddl = @wsrep_strict_ddl_global_saved;
-# End of test
diff --git a/mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_basic.test b/mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_basic.test
new file mode 100644
index 00000000000..45704560441
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_basic.test
@@ -0,0 +1,137 @@
+############## mysql-test\t\binlog_expire_logs_seconds_basic.test ################
+# #
+# Variable Name: binlog_expire_logs_seconds #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value:0 #
+# Range: 0- (2^32 -1) #
+# #
+# #
+# Creation Date: 2017-11-28 #
+# Author: Neha kumari #
+# #
+# Description: Test Cases of Dynamic System Variable #
+# binlog_expire_logs_seconds that checks the behavior of this #
+# variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#
+# #
+##################################################################################
+
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF binlog_expire_logs_seconds TESTS #
+########################################################################
+
+SET @start_value_sec = @@global.binlog_expire_logs_seconds;
+SELECT @start_value_sec;
+########################################################################
+# Display the DEFAULT value of binlog_expire_logs_seconds #
+########################################################################
+
+SET @@global.binlog_expire_logs_seconds = DEFAULT;
+SELECT @@global.binlog_expire_logs_seconds;
+
+###############################################
+# Verify default value of variable #
+###############################################
+
+SET @@global.binlog_expire_logs_seconds = @start_value_sec;
+SELECT @@global.binlog_expire_logs_seconds = 0;
+
+##################################################################################
+# Change the value of binlog_expire_logs_seconds to a valid value #
+##################################################################################
+
+SET @@global.binlog_expire_logs_seconds = 0;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = 99;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = 10;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = 21;
+SELECT @@global.binlog_expire_logs_seconds;
+
+#####################################################################################
+# Change the value of binlog_expire_logs_seconds to invalid value #
+#####################################################################################
+
+SET @@global.binlog_expire_logs_seconds = -1;
+SELECT @@global.binlog_expire_logs_seconds;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.binlog_expire_logs_seconds = 10000.01;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = -1024;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = 42949672950;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = 8734635;
+SELECT @@global.binlog_expire_logs_seconds;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.binlog_expire_logs_seconds = ON;
+SELECT @@global.binlog_expire_logs_seconds;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.binlog_expire_logs_seconds = 'test';
+SELECT @@global.binlog_expire_logs_seconds;
+
+#####################################################################################
+# Test if accessing session binlog_expire_logs_seconds gives error #
+#####################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.binlog_expire_logs_seconds = 0;
+SELECT @@binlog_expire_logs_seconds;
+
+##############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches values in variable #
+##############################################################################
+
+--disable_warnings
+SELECT @@global.binlog_expire_logs_seconds = VARIABLE_VALUE
+FROM information_schema.global_variables
+WHERE VARIABLE_NAME='binlog_expire_logs_seconds';
+
+SELECT @@binlog_expire_logs_seconds = VARIABLE_VALUE
+FROM information_schema.session_variables
+WHERE VARIABLE_NAME='binlog_expire_logs_seconds';
+--enable_warnings
+
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.binlog_expire_logs_seconds = TRUE;
+SELECT @@global.binlog_expire_logs_seconds;
+SET @@global.binlog_expire_logs_seconds = FALSE;
+SELECT @@global.binlog_expire_logs_seconds;
+
+
+####################################################################################
+# Check if binlog_expire_logs_seconds can be accessed with and without @@ sign #
+####################################################################################
+SET @@global.binlog_expire_logs_seconds = 1;
+SELECT @@binlog_expire_logs_seconds = @@global.binlog_expire_logs_seconds;
+
+--Error ER_GLOBAL_VARIABLE
+SET binlog_expire_logs_seconds = 1;
+SELECT @@binlog_expire_logs_seconds;
+--Error ER_UNKNOWN_TABLE
+SELECT local.binlog_expire_logs_seconds;
+--Error ER_UNKNOWN_TABLE
+SELECT global.binlog_expire_logs_seconds;
+--Error ER_BAD_FIELD_ERROR
+SELECT binlog_expire_logs_seconds = @@session.binlog_expire_logs_seconds;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.binlog_expire_logs_seconds = @start_value_sec;
+SELECT @@global.binlog_expire_logs_seconds;
diff --git a/mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_grant.test b/mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_grant.test
new file mode 100644
index 00000000000..8b12e0af7fd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_expire_logs_seconds_grant.test
@@ -0,0 +1,10 @@
+--echo #
+--echo # MDEV-19371: Implement binlog_expire_logs_seconds for purging of binary logs
+--echo # Test that "SET binlog_expire_logs_seconds" is not allowed without BINLOG ADMIN or SUPER
+--echo #
+
+--let var = binlog_expire_logs_seconds
+--let grant = BINLOG ADMIN
+--let value = 10
+
+--source suite/sys_vars/inc/sysvar_global_grant.inc
diff --git a/mysql-test/suite/sys_vars/t/expire_logs_days_basic.test b/mysql-test/suite/sys_vars/t/expire_logs_days_basic.test
index f95c7c55f6e..3ea0f55a458 100644
--- a/mysql-test/suite/sys_vars/t/expire_logs_days_basic.test
+++ b/mysql-test/suite/sys_vars/t/expire_logs_days_basic.test
@@ -3,7 +3,7 @@
# Variable Name: expire_logs_days #
# Scope: GLOBAL #
# Access Type: Dynamic #
-# Data Type: numeric #
+# Data Type: double #
# Default Value:0 #
# Range: 0-99 #
# #
@@ -26,22 +26,22 @@
--source include/load_sysvars.inc
-########################################################################
+########################################################################
# START OF expire_logs_days TESTS #
-########################################################################
+########################################################################
-########################################################################
+########################################################################
# Saving initial value of expire_logs_days in a temporary variable #
-########################################################################
+########################################################################
SET @start_value = @@global.expire_logs_days;
--echo '#--------------------FN_DYNVARS_029_01------------------------#'
-########################################################################
+########################################################################
# Display the DEFAULT value of expire_logs_days #
-########################################################################
+########################################################################
SET @@global.expire_logs_days = 99;
SET @@global.expire_logs_days = DEFAULT;
@@ -49,18 +49,18 @@ SELECT @@global.expire_logs_days = 0;
--echo '#---------------------FN_DYNVARS_029_02-------------------------#'
-###############################################
+###############################################
# Verify default value of variable #
-###############################################
+###############################################
SET @@global.expire_logs_days = @start_value;
SELECT @@global.expire_logs_days = @start_value;
--echo '#--------------------FN_DYNVARS_029_03------------------------#'
-########################################################################
+########################################################################
# Change the value of expire_logs_days to a valid value #
-########################################################################
+########################################################################
SET @@global.expire_logs_days = 0;
SELECT @@global.expire_logs_days;
@@ -73,9 +73,9 @@ SELECT @@global.expire_logs_days;
--echo '#--------------------FN_DYNVARS_029_04-------------------------#'
-###########################################################################
+###########################################################################
# Change the value of expire_logs_days to invalid value #
-###########################################################################
+###########################################################################
SET @@global.expire_logs_days = -1;
SELECT @@global.expire_logs_days;
@@ -83,7 +83,6 @@ SET @@global.expire_logs_days = 100;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = 1024;
SELECT @@global.expire_logs_days;
---Error ER_WRONG_TYPE_FOR_VAR
SET @@global.expire_logs_days = 10000.01;
SELECT @@global.expire_logs_days;
SET @@global.expire_logs_days = -1024;
@@ -100,9 +99,9 @@ SELECT @@global.expire_logs_days;
--echo '#-------------------FN_DYNVARS_029_05----------------------------#'
-###########################################################################
+###########################################################################
# Test if accessing session expire_logs_days gives error #
-###########################################################################
+###########################################################################
--Error ER_GLOBAL_VARIABLE
SET @@session.expire_logs_days = 0;
@@ -110,24 +109,24 @@ SELECT @@expire_logs_days;
--echo '#----------------------FN_DYNVARS_029_06------------------------#'
-##############################################################################
+##############################################################################
# Check if the value in GLOBAL & SESSION Tables matches values in variable #
##############################################################################
-SELECT @@global.expire_logs_days = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+SELECT @@global.expire_logs_days = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='expire_logs_days';
-SELECT @@expire_logs_days = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+SELECT @@expire_logs_days = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='expire_logs_days';
--echo '#---------------------FN_DYNVARS_029_07----------------------#'
-###################################################################
+###################################################################
# Check if TRUE and FALSE values can be used on variable #
-###################################################################
+###################################################################
SET @@global.expire_logs_days = TRUE;
SELECT @@global.expire_logs_days;
@@ -145,7 +144,7 @@ SELECT @@expire_logs_days = @@global.expire_logs_days;
--echo '#---------------------FN_DYNVARS_029_09----------------------#'
-##########################################################################
+##########################################################################
# Check if expire_logs_days can be accessed with and without @@ sign #
##########################################################################
@@ -160,12 +159,12 @@ SELECT global.expire_logs_days;
SELECT expire_logs_days = @@session.expire_logs_days;
-##############################
+##############################
# Restore initial value #
##############################
SET @@global.expire_logs_days = @start_value;
-########################################################################
+########################################################################
# END OF expire_logs_days TESTS #
-########################################################################
+########################################################################
diff --git a/mysql-test/suite/sys_vars/t/identity_func.test b/mysql-test/suite/sys_vars/t/identity_func.test
index e3bbaa1d3a2..7398b5d0b63 100644
--- a/mysql-test/suite/sys_vars/t/identity_func.test
+++ b/mysql-test/suite/sys_vars/t/identity_func.test
@@ -46,6 +46,11 @@ PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
+# MDEV-515 takes X-lock on the table for the first insert
+# So concurrent insert won't happen on the table
+INSERT INTO t1 VALUES(100, "MDEV-515");
+INSERT INTO t2 VALUES(100, "MDEV-515");
+
--echo '#--------------------FN_DYNVARS_035_01-------------------------#'
###############################################
# Verifying initial value of identity. #
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
deleted file mode 100644
index 49349d86713..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_adaptive_max_sleep_delay_basic.test
+++ /dev/null
@@ -1,93 +0,0 @@
-################## 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 valid values
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=0;
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=100000;
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=1000000;
-SELECT @@GLOBAL.innodb_adaptive_max_sleep_delay;
-
-# 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=4294967295;
-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
-
-SET @@GLOBAL.innodb_adaptive_max_sleep_delay=-1024;
-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
---disable_warnings
-SELECT VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_adaptive_max_sleep_delay';
---enable_warnings
---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_background_scrub_data_check_interval_basic.test b/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_check_interval_basic.test
deleted file mode 100644
index 77c8671a1bc..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_check_interval_basic.test
+++ /dev/null
@@ -1,54 +0,0 @@
-# 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
deleted file mode 100644
index fdf77bbb780..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_compressed_basic.test
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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
deleted file mode 100644
index 9f1187a97ff..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_interval_basic.test
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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
deleted file mode 100644
index 76d6535ad81..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_background_scrub_data_uncompressed_basic.test
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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_buffer_pool_evict_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test
index 7d64e210865..1c3718616c0 100644
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test
@@ -2,11 +2,18 @@
# This is a debug variable for now
-- source include/have_debug.inc
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
SELECT @@global.innodb_buffer_pool_evict;
+SET GLOBAL innodb_read_only_compressed=ON;
+--error ER_UNSUPPORTED_COMPRESSED_TABLE
+CREATE TABLE t(a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
+SET GLOBAL innodb_read_only_compressed=OFF;
+
CREATE TABLE t(a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
SET GLOBAL innodb_buffer_pool_evict = 'uncompressed';
# Should always be empty.
SELECT @@global.innodb_buffer_pool_evict;
DROP TABLE t;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
diff --git a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test b/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test
deleted file mode 100644
index 8785272e10d..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_buffer_pool_instances_basic.test
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-################## mysql-test\t\innodb_buffer_pool_instances_basic.test #######
-# #
-# Variable Name: innodb_buffer_pool_instances #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: numeric #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable #
-# innodb_buffer_pool_instances #
-# 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_buffer_pool_instances);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_035_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_buffer_pool_instances=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_035_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
---disable_warnings
-SELECT @@GLOBAL.innodb_buffer_pool_instances = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_buffer_pool_instances';
---enable_warnings
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
---echo 1 Expected
-
---disable_warnings
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_buffer_pool_instances';
---enable_warnings
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_035_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@innodb_buffer_pool_instances = @@GLOBAL.innodb_buffer_pool_instances;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_035_05----------------------#'
-################################################################################
-# Check if innodb_buffer_pool_instances can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@innodb_buffer_pool_instances);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_buffer_pool_instances);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_buffer_pool_instances);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.innodb_buffer_pool_instances);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_buffer_pool_instances = @@SESSION.innodb_buffer_pool_instances;
---echo Expected error 'Readonly variable'
-
-
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
index 947007a5dd1..b0a0fcc92f5 100644
--- a/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_checksum_algorithm_basic.test
@@ -10,18 +10,6 @@ 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;
-
SET GLOBAL innodb_checksum_algorithm = 'full_crc32';
SELECT @@global.innodb_checksum_algorithm;
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
index 432c04857ec..dbb10e0bb88 100644
--- 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
@@ -2,6 +2,9 @@
# CREATE TABLE ... KEY_BLOCK_SIZE=8; does not work with page size = 4k
-- source include/have_innodb_16k.inc
+SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed;
+SET GLOBAL innodb_read_only_compressed=OFF;
+
# Check the default value
SELECT @@global.innodb_cmp_per_index_enabled;
@@ -64,3 +67,4 @@ DROP TABLE t;
#
SET GLOBAL innodb_cmp_per_index_enabled=default;
+SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed;
diff --git a/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test b/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test
deleted file mode 100644
index 67be561348a..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_commit_concurrency_basic.test
+++ /dev/null
@@ -1,138 +0,0 @@
-################# mysql-test\t\innodb_commit_concurrency_basic.test ###########
-# #
-# Variable Name: innodb_commit_concurrency #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 0 #
-# Range: 0-1000 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-#Description:Test Cases of Dynamic System Variable innodb_commit_concurrency #
-# 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_commit_concurrency TESTS #
-########################################################################
-
-
-##############################################################################
-# Saving initial value of innodb_commit_concurrency in a temporary variable#
-##############################################################################
-
-SET @global_start_value = @@global.innodb_commit_concurrency;
-SELECT @global_start_value;
-
---echo '#--------------------FN_DYNVARS_046_01------------------------#'
-########################################################################
-# Display the DEFAULT value of innodb_commit_concurrency #
-########################################################################
-
-SET @@global.innodb_commit_concurrency = 0;
-SET @@global.innodb_commit_concurrency = DEFAULT;
-SELECT @@global.innodb_commit_concurrency;
-
---echo '#---------------------FN_DYNVARS_046_02-------------------------#'
-################################################################################
-# Check if innodb_commit_concurrency can be accessed with and without @@ sign#
-################################################################################
-
---error ER_GLOBAL_VARIABLE
-SET innodb_commit_concurrency = 1;
-SET GLOBAL innodb_commit_concurrency = 1;
-SELECT @@innodb_commit_concurrency;
-
-
---Error ER_UNKNOWN_TABLE
-SELECT local.innodb_commit_concurrency;
-
-SET global innodb_commit_concurrency = 0;
-
-SELECT @@global.innodb_commit_concurrency;
-
-
---echo '#--------------------FN_DYNVARS_046_03------------------------#'
-##########################################################################
-# change the value of innodb_commit_concurrency to a valid value #
-##########################################################################
-
-
-SET @@global.innodb_commit_concurrency = 0;
-SELECT @@global.innodb_commit_concurrency;
-
---echo '#--------------------FN_DYNVARS_046_04-------------------------#'
-###########################################################################
-# Change the value of innodb_commit_concurrency to invalid value #
-###########################################################################
-
-SELECT @@global.innodb_commit_concurrency;
-SELECT @@global.innodb_commit_concurrency;
-SET @@global.innodb_commit_concurrency = -1;
-SELECT @@global.innodb_commit_concurrency;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_commit_concurrency = "T";
-SELECT @@global.innodb_commit_concurrency;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_commit_concurrency = "Y";
-SELECT @@global.innodb_commit_concurrency;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_commit_concurrency = 1.1;
-SELECT @@global.innodb_commit_concurrency;
-SET @@global.innodb_commit_concurrency = 1001;
-SELECT @@global.innodb_commit_concurrency;
-
-
-
---echo '#----------------------FN_DYNVARS_046_05------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
---disable_warnings
-SELECT @@global.innodb_commit_concurrency =
- VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_commit_concurrency';
-SELECT @@global.innodb_commit_concurrency;
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_commit_concurrency';
---enable_warnings
-
---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_commit_concurrency = OFF;
-SELECT @@global.innodb_commit_concurrency;
-
---ERROR ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_commit_concurrency = ON;
-SELECT @@global.innodb_commit_concurrency;
-
-##############################
-# Restore initial value #
-##############################
-
-
-SET @@global.innodb_commit_concurrency = @global_start_value;
-SELECT @@global.innodb_commit_concurrency;
-
-###############################################################
-# END OF innodb_commit_concurrency 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
deleted file mode 100644
index d753b8bc344..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_concurrency_tickets_basic.test
+++ /dev/null
@@ -1,181 +0,0 @@
-################# mysql-test\t\innodb_concurrency_tickets_basic.test ##########
-# #
-# Variable Name: innodb_concurrency_tickets #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 5000 #
-# Range: 1-4294967295 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-#Description:Test Cases of Dynamic System Variable innodb_concurrency_tickets #
-# 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_concurrency_tickets TESTS #
-########################################################################
-
-
-################################################################################
-# Saving initial value of innodb_concurrency_tickets in a temporary variable #
-################################################################################
-
-SET @global_start_value = @@global.innodb_concurrency_tickets;
-SELECT @global_start_value;
-
---echo '#--------------------FN_DYNVARS_046_01------------------------#'
-########################################################################
-# Display the DEFAULT value of innodb_concurrency_tickets #
-########################################################################
-
-SET @@global.innodb_concurrency_tickets = 0;
-SET @@global.innodb_concurrency_tickets = DEFAULT;
-SELECT @@global.innodb_concurrency_tickets;
-
---echo '#---------------------FN_DYNVARS_046_02-------------------------#'
-################################################################################
-# Check if innodb_concurrency_tickets can be accessed with and without @@ sign #
-################################################################################
-
---Error ER_GLOBAL_VARIABLE
-SET innodb_concurrency_tickets = 1;
-SELECT @@innodb_concurrency_tickets;
-
---Error ER_UNKNOWN_TABLE
-SELECT local.innodb_concurrency_tickets;
-
-SET global innodb_concurrency_tickets = 0;
-SELECT @@global.innodb_concurrency_tickets;
-
-
---echo '#--------------------FN_DYNVARS_046_03------------------------#'
-##########################################################################
-# change the value of innodb_concurrency_tickets to a valid value #
-##########################################################################
-
-SET @@global.innodb_concurrency_tickets = 1;
-SELECT @@global.innodb_concurrency_tickets;
-
-SET @@global.innodb_concurrency_tickets = 1000;
-SELECT @@global.innodb_concurrency_tickets;
-
-SET @@global.innodb_concurrency_tickets = 4294967295;
-SELECT @@global.innodb_concurrency_tickets;
-
---echo '#--------------------FN_DYNVARS_046_04-------------------------#'
-###########################################################################
-# Check the value of innodb_concurrency_tickets for out of bounds #
-###########################################################################
-
-# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
---disable_warnings
-SET @@global.innodb_concurrency_tickets = 4294967296;
---enable_warnings
-SELECT @@global.innodb_concurrency_tickets IN (4294967296,4294967295);
-
---disable_warnings
-SET @@global.innodb_concurrency_tickets = 12345678901;
---enable_warnings
-SELECT @@global.innodb_concurrency_tickets IN (12345678901,4294967295);
-
---disable_warnings
-SET @@global.innodb_concurrency_tickets = 18446744073709551615;
---enable_warnings
-SELECT @@global.innodb_concurrency_tickets IN (18446744073709551615,4294967295);
-
---echo '#--------------------FN_DYNVARS_046_05-------------------------#'
-###########################################################################
-# Change the value of innodb_concurrency_tickets to invalid value #
-###########################################################################
-
-SET @@global.innodb_concurrency_tickets = -1;
-SELECT @@global.innodb_concurrency_tickets;
-
-SET @@global.innodb_concurrency_tickets = -1024;
-SELECT @@global.innodb_concurrency_tickets;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = "T";
-SELECT @@global.innodb_concurrency_tickets;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = "Y";
-SELECT @@global.innodb_concurrency_tickets;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = 1.1;
-SELECT @@global.innodb_concurrency_tickets;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = " ";
-SELECT @@global.innodb_concurrency_tickets;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = ' ';
-SELECT @@global.innodb_concurrency_tickets;
-
---echo '#----------------------FN_DYNVARS_046_06------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
---disable_warnings
-SELECT @@global.innodb_concurrency_tickets =
- VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_concurrency_tickets';
---enable_warnings
-SELECT @@global.innodb_concurrency_tickets;
---disable_warnings
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_concurrency_tickets';
---enable_warnings
-
---echo '#---------------------FN_DYNVARS_046_07-------------------------#'
-###################################################################
-# Check if ON and OFF values can be used on variable #
-###################################################################
-
---ERROR ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = OFF;
-SELECT @@global.innodb_concurrency_tickets;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_concurrency_tickets = ON;
-SELECT @@global.innodb_concurrency_tickets;
-
---echo '#---------------------FN_DYNVARS_046_08----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-SET @@global.innodb_concurrency_tickets = TRUE;
-SELECT @@global.innodb_concurrency_tickets;
-SET @@global.innodb_concurrency_tickets = FALSE;
-SELECT @@global.innodb_concurrency_tickets;
-
-##############################
-# Restore initial value #
-##############################
-
-SET @@global.innodb_concurrency_tickets = @global_start_value;
-SELECT @@global.innodb_concurrency_tickets;
-
-###############################################################
-# END OF innodb_concurrency_tickets TESTS #
-###############################################################
-
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
index 4563e9b4469..9cff94ed5bc 100644
--- 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
@@ -1,5 +1,5 @@
-# Only test in debug mode since DBUG_EXECUTE_IF is used
--source include/have_debug.inc
+--source include/have_debug_sync.inc
# Can't test this with embedded server
--source include/not_embedded.inc
@@ -11,56 +11,17 @@
--source include/have_innodb.inc
connect (con1,localhost,root,,);
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+
+SET DEBUG_SYNC='create_table SIGNAL stuck WAIT_FOR ever';
+send CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+
connect (con2,localhost,root,,);
+SET DEBUG_SYNC='now WAIT_FOR stuck';
+FLUSH TABLES;
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-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
-
-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.
+# The following query will be blocked on the dict_sys.mutex held by con1
+send SELECT * FROM t1;
connection default;
@@ -73,10 +34,10 @@ call mtr.add_suppression(".*");
# The crash is expected
exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
---echo # Waitting for mysqld to crash
+--echo # Waiting for mariadbd 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
+# It may 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 detected
# in 80 seconds.
let $counter= 80;
let $mysql_errno= 0;
@@ -94,8 +55,7 @@ while (!$mysql_errno)
--sleep 1
}
---echo # Mysqld crash was detected
---echo # Waitting for reconnect after mysqld restarts
+--echo # Crash was detected
enable_reconnect;
connection default;
@@ -105,11 +65,5 @@ connection default;
# 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
+# We only have to do drop t1, as t2 as been automatically deleted by ddl recovery
+DROP TABLE t1;
diff --git a/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
index 950dbabd1bd..396d30c76c8 100644
--- a/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_fil_make_page_dirty_debug_basic.test
@@ -23,8 +23,10 @@ set innodb_fil_make_page_dirty_debug = ON;
--echo # An example usage.
create table t1 (f1 int primary key) engine = innodb;
+--enable_prepare_warnings
select space from information_schema.innodb_sys_tables
where name = 'test/t1' into @space_id;
+--disable_prepare_warnings
set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = @space_id;
drop table t1;
diff --git a/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test b/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test
deleted file mode 100644
index f12f2f670a4..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-################## mysql-test\t\innodb_force_load_corrupted_basic.test #####
-# #
-# Variable Name: innodb_force_load_corrupted #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: boolean #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable innodb_force_load_corrupted#
-# 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_031_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_031_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_force_load_corrupted=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_031_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
---disable_warnings
-SELECT IF(@@GLOBAL.innodb_force_load_corrupted, "ON", "OFF") = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_force_load_corrupted';
---enable_warnings
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
---echo 1 Expected
-
---disable_warnings
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_force_load_corrupted';
---enable_warnings
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_031_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@innodb_force_load_corrupted = @@GLOBAL.innodb_force_load_corrupted;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_031_05----------------------#'
-################################################################################
-# Check if innodb_force_load_corrupted can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@innodb_force_load_corrupted);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_force_load_corrupted);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_force_load_corrupted);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.innodb_force_load_corrupted);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_force_load_corrupted = @@SESSION.innodb_force_load_corrupted;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test
deleted file mode 100644
index 8ebc9f1652b..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_log_checksums_basic.test
+++ /dev/null
@@ -1,36 +0,0 @@
---source include/have_innodb.inc
-
-# Check the default value
-SET @orig = @@global.innodb_log_checksums;
-SELECT @orig;
-
--- error ER_WRONG_VALUE_FOR_VAR
-SET GLOBAL innodb_log_checksums = 'crc32';
-SELECT @@global.innodb_log_checksums;
-
--- error ER_WRONG_VALUE_FOR_VAR
-SET GLOBAL innodb_log_checksums = 2;
-SELECT @@global.innodb_log_checksums;
-
--- error ER_WRONG_TYPE_FOR_VAR
-SET GLOBAL innodb_log_checksums = 1e2;
-SELECT @@global.innodb_log_checksums;
-
--- error ER_WRONG_TYPE_FOR_VAR
-SET GLOBAL innodb_log_checksums = 1.0;
-SELECT @@global.innodb_log_checksums;
-
--- error ER_GLOBAL_VARIABLE
-SET innodb_log_checksums = OFF;
-SELECT @@global.innodb_log_checksums;
-
-SET GLOBAL innodb_log_checksums = OFF;
-SELECT @@global.innodb_log_checksums;
-
-SET GLOBAL innodb_log_checksums = default;
-
-SET GLOBAL innodb_log_checksums = ON;
-SELECT @@global.innodb_log_checksums;
-
-SET GLOBAL innodb_log_checksums = @orig;
-SELECT @@global.innodb_log_checksums;
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
deleted file mode 100644
index 2c83a36a0fd..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_log_compressed_pages_basic.test
+++ /dev/null
@@ -1,92 +0,0 @@
---source include/have_innodb.inc
-
-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 #
-#################################################################
-
---disable_warnings
-SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_compressed_pages';
---enable_warnings
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
---echo 1 Expected
-
---disable_warnings
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_compressed_pages';
---enable_warnings
---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_log_files_in_group_basic.opt b/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.opt
deleted file mode 100644
index 3ad42ad65d8..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb-log-files-in-group=2
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test
deleted file mode 100644
index 60046bd09e6..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_log_files_in_group_basic.test
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-################## mysql-test\t\innodb_log_files_in_group_basic.test ##########
-# #
-# Variable Name: innodb_log_files_in_group #
-# Scope: Global #
-# Access Type: Static #
-# Data Type: numeric #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author : Sharique Abdullah #
-# #
-# #
-# Description:Test Cases of Dynamic System Variable innodb_log_files_in_group #
-# 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_034_01----------------------#'
-####################################################################
-# Displaying default value #
-####################################################################
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
---echo 1 Expected
-
-
---echo '#---------------------BS_STVARS_034_02----------------------#'
-####################################################################
-# Check if Value can set #
-####################################################################
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SET @@GLOBAL.innodb_log_files_in_group=1;
---echo Expected error 'Read only variable'
-
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
---echo 1 Expected
-
-
-
-
---echo '#---------------------BS_STVARS_034_03----------------------#'
-#################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#################################################################
-
---disable_warnings
-SELECT @@GLOBAL.innodb_log_files_in_group = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_files_in_group';
---enable_warnings
---echo 1 Expected
-
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
---echo 1 Expected
-
---disable_warnings
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_files_in_group';
---enable_warnings
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_034_04----------------------#'
-################################################################################
-# Check if accessing variable with and without GLOBAL point to same variable #
-################################################################################
-SELECT @@innodb_log_files_in_group = @@GLOBAL.innodb_log_files_in_group;
---echo 1 Expected
-
-
-
---echo '#---------------------BS_STVARS_034_05----------------------#'
-################################################################################
-# Check if innodb_log_files_in_group can be accessed with and without @@ sign #
-################################################################################
-
-SELECT COUNT(@@innodb_log_files_in_group);
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_log_files_in_group);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_log_files_in_group);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT COUNT(@@GLOBAL.innodb_log_files_in_group);
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_log_files_in_group = @@SESSION.innodb_log_files_in_group;
---echo Expected error 'Readonly variable'
-
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_log_optimize_ddl_basic.test b/mysql-test/suite/sys_vars/t/innodb_log_optimize_ddl_basic.test
deleted file mode 100644
index b8983093414..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_log_optimize_ddl_basic.test
+++ /dev/null
@@ -1,62 +0,0 @@
-############# suite/sys_vars/t/innodb_log_optimize_ddl_basic.test #############
-# #
-# Variable Name: innodb_log_optimize_ddl #
-# Scope: Global #
-# Access Type: Dynamic #
-# Data Type: boolean #
-# #
-# The variable was introduced by #
-# MDEV-16809 Allow full redo logging for ALTER TABLE #
-# #
-###############################################################################
-
---source include/have_innodb.inc
-
-#### Reveal that the global innodb system variable exists
-SELECT COUNT(@@GLOBAL.innodb_log_optimize_ddl);
---echo 1 Expected
-
-#### Reveal that no session innodb system variable exists
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_log_optimize_ddl);
---echo Expected error 'Variable is a GLOBAL variable'
-
-SELECT @@GLOBAL.innodb_log_optimize_ddl INTO @innodb_log_optimize_ddl_save;
-#### Check if the value can be set
-SET @@GLOBAL.innodb_log_optimize_ddl = ON;
-SET @@GLOBAL.innodb_log_optimize_ddl = OFF;
-
-#### Check if disallowed values are refused
---error ER_WRONG_VALUE_FOR_VAR
-SET @@GLOBAL.innodb_log_optimize_ddl = 13;
---error ER_WRONG_VALUE_FOR_VAR
-SET @@GLOBAL.innodb_log_optimize_ddl = 'ABC';
-
-#### Check if the initial value was in the range of supported values
-# We use 0 and 1 in order to avoid a warning.
-SELECT @@GLOBAL.innodb_log_optimize_ddl = 0
- OR @@GLOBAL.innodb_log_optimize_ddl = 1 AS col;
---echo 1 Expected
-
-#### Check if the value presented without GLOBAL point is the same
-SELECT @@innodb_log_optimize_ddl = @@GLOBAL.innodb_log_optimize_ddl AS col;
---echo 1 Expected
-
-#### Show the value presented in information_schema and SHOW VARIABLES
-# We do not want to get and than maybe suppress the print of
-# Warning 1292 Truncated incorrect DOUBLE value: 'OFF'
-# and so we simply print the value and do not compare.
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_log_optimize_ddl';
-SHOW VARIABLES WHERE VARIABLE_NAME='innodb_log_optimize_ddl';
-
-#### Show that variants with @@local. and without @@ do not exist.
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@local.innodb_log_optimize_ddl;
---echo Expected error 'Variable is a GLOBAL variable'
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_log_optimize_ddl;
-
-#### Restore the initial value
-SET GLOBAL innodb_log_optimize_ddl = @innodb_log_optimize_ddl_save;
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test b/mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test
deleted file mode 100644
index 367116a7e36..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_page_cleaners_basic.test
+++ /dev/null
@@ -1,79 +0,0 @@
-# Variable name: innodb_page_cleaners
-# Scope: Global
-# Access type: Dynamic
-# Data type: numeric
-
---source include/have_innodb.inc
-
-SELECT COUNT(@@GLOBAL.innodb_page_cleaners);
---echo 1 Expected
-
-SELECT @@innodb_page_cleaners;
---echo 1 Expected
-
-SET @@GLOBAL.innodb_page_cleaners=2;
---echo Expected to pass
-
-SELECT @@innodb_page_cleaners;
---echo 2 Expected
-
-SET @@GLOBAL.innodb_page_cleaners=1;
---echo Expected to pass
-
-SELECT @@innodb_page_cleaners;
---echo 1 Expected
-
-SET @@GLOBAL.innodb_page_cleaners=6;
---echo Expected to pass
-
-SELECT @@innodb_page_cleaners;
---echo 6 Expected
-
-SET @@GLOBAL.innodb_page_cleaners=4;
---echo Expected to pass
-
-SELECT @@innodb_page_cleaners;
---echo 4 Expected
-
-SET @@GLOBAL.innodb_page_cleaners=0;
---echo Warning expected
-
-SELECT @@innodb_page_cleaners;
---echo 1 Expected
-
---Error ER_BAD_FIELD_ERROR
-SELECT innodb_page_cleaners = @@SESSION.innodb_page_cleaners;
---echo Expected error 'Read-only variable'
-
---disable_warnings
-SELECT @@GLOBAL.innodb_page_cleaners = VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_page_cleaners';
---enable_warnings
---echo 1 Expected
-
---disable_warnings
-SELECT COUNT(VARIABLE_VALUE)
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME='innodb_page_cleaners';
---enable_warnings
---echo 1 Expected
-
-SELECT @@innodb_page_cleaners = @@GLOBAL.innodb_page_cleaners;
---echo 1 Expected
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@local.innodb_page_cleaners);
---echo Expected error 'Variable is a GLOBAL variable'
-
---Error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT COUNT(@@SESSION.innodb_page_cleaners);
---echo Expected error 'Variable is a GLOBAL variable'
-
-# Check the default value
---disable_warnings
-SELECT VARIABLE_NAME, VARIABLE_VALUE
-FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-WHERE VARIABLE_NAME = 'innodb_page_cleaners';
---enable_warnings
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test b/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test
deleted file mode 100644
index c85cc85e78c..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test
+++ /dev/null
@@ -1,102 +0,0 @@
-
-#
-# 2010-01-27 - Added
-#
-
---source include/have_innodb.inc
-
-SET @start_global_value = @@global.innodb_replication_delay;
-SELECT @start_global_value;
-
-#
-# exists as global only
-#
---echo Valid values are zero or above
-select @@global.innodb_replication_delay >=0;
-select @@global.innodb_replication_delay;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.innodb_replication_delay;
-show global variables like 'innodb_replication_delay';
-show session variables like 'innodb_replication_delay';
---disable_warnings
-select * from information_schema.global_variables where variable_name='innodb_replication_delay';
-select * from information_schema.session_variables where variable_name='innodb_replication_delay';
---enable_warnings
-
-#
-# show that it's writable
-#
-set global innodb_replication_delay=10;
-select @@global.innodb_replication_delay;
---disable_warnings
-select * from information_schema.global_variables where variable_name='innodb_replication_delay';
-select * from information_schema.session_variables where variable_name='innodb_replication_delay';
---enable_warnings
---error ER_GLOBAL_VARIABLE
-set session innodb_replication_delay=1;
-
-#
-# check the default value
-#
-set global innodb_replication_delay=DEFAULT;
-select @@global.innodb_replication_delay;
-
-#
-# valid values
-#
-
-set global innodb_replication_delay=0;
-select @@global.innodb_replication_delay;
-set global innodb_replication_delay=65535;
-select @@global.innodb_replication_delay;
-set global innodb_replication_delay=4294967295;
-select @@global.innodb_replication_delay;
-
-#
-# incorrect types
-#
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_replication_delay=1.1;
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_replication_delay=1e1;
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_replication_delay="foo";
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_replication_delay=' ';
-select @@global.innodb_replication_delay;
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_replication_delay=" ";
-select @@global.innodb_replication_delay;
-set global innodb_replication_delay=-7;
-select @@global.innodb_replication_delay;
-set global innodb_replication_delay=-1024;
-select @@global.innodb_replication_delay;
---disable_warnings
-select * from information_schema.global_variables where variable_name='innodb_replication_delay';
---enable_warnings
-
-#
-# Check for out of bounds
-#
-
-# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
---disable_warnings
-SET @@global.innodb_replication_delay = 4294967296;
---enable_warnings
-SELECT @@global.innodb_replication_delay IN (4294967296,4294967295);
-
---disable_warnings
-SET @@global.innodb_replication_delay = 12345678901;
---enable_warnings
-SELECT @@global.innodb_replication_delay IN (12345678901,4294967295);
-
---disable_warnings
-SET @@global.innodb_replication_delay = 18446744073709551615;
---enable_warnings
-SELECT @@global.innodb_replication_delay IN (18446744073709551615,4294967295);
-
-#
-# cleanup
-#
-SET @@global.innodb_replication_delay = @start_global_value;
-SELECT @@global.innodb_replication_delay;
diff --git a/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
index 74ce3ffc049..d0996ae9a24 100644
--- a/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_saved_page_number_debug_basic.test
@@ -23,8 +23,10 @@ set innodb_saved_page_number_debug = ON;
--echo # An example usage.
create table t1 (f1 int primary key) engine = innodb;
+--enable_prepare_warnings
select space from information_schema.innodb_sys_tables
where name = 'test/t1' into @space_id;
+--disable_prepare_warnings
set global innodb_saved_page_number_debug = 0;
set global innodb_fil_make_page_dirty_debug = @space_id;
drop table t1;
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
deleted file mode 100644
index 74d76f31f49..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_scrub_log_basic.test
+++ /dev/null
@@ -1,50 +0,0 @@
---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 'Unknown 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
deleted file mode 100644
index 59a217373a2..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_scrub_log_speed_basic.test
+++ /dev/null
@@ -1,55 +0,0 @@
---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 'Unknown column in field list'
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
index c5f977321b7..e1b650184ac 100644
--- a/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
+++ b/mysql-test/suite/sys_vars/t/innodb_stats_persistent_basic.test
@@ -4,6 +4,7 @@
-- source include/have_innodb.inc
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
# show the default value
SELECT @@innodb_stats_persistent;
@@ -28,4 +29,4 @@ SET GLOBAL innodb_stats_persistent=123;
SET GLOBAL innodb_stats_persistent='foo';
# restore the environment
-SET GLOBAL innodb_stats_persistent=OFF; \ No newline at end of file
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
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
deleted file mode 100644
index 39ff69affea..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
+++ /dev/null
@@ -1,29 +0,0 @@
-# 2010-01-27 - Added
-
---source include/have_innodb.inc
-
-# 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';
---disable_warnings
-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';
---enable_warnings
-
-#
-# 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_sync_debug_basic.test b/mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test
deleted file mode 100644
index 665482e6963..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_sync_debug_basic.test
+++ /dev/null
@@ -1,16 +0,0 @@
---echo #
---echo # Basic test for innodb_sync_debug
---echo #
-
---source include/have_innodb.inc
-
-# The config variable is a debug read-only variable
--- source include/have_debug.inc
-
-SELECT @@global.innodb_sync_debug;
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-set global innodb_sync_debug = 1;
-
-SELECT @@global.innodb_sync_debug;
-
diff --git a/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test b/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test
deleted file mode 100644
index 0be32543d26..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test
+++ /dev/null
@@ -1,164 +0,0 @@
-################# mysql-test\t\innodb_thread_concurrency_basic.test ###########
-# #
-# Variable Name: innodb_thread_concurrency #
-# Scope: GLOBAL #
-# Access Type: Dynamic #
-# Data Type: Numeric #
-# Default Value: 0 #
-# Range: 0-1000 #
-# #
-# #
-# Creation Date: 2008-02-07 #
-# Author: Rizwan #
-# #
-#Description:Test Cases of Dynamic System Variable innodb_thread_concurrency #
-# 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_thread_concurrency TESTS #
-########################################################################
-
-
-################################################################################
-# Saving initial value of innodb_thread_concurrency in a temporary variable #
-################################################################################
-
-
-SET @global_start_value = @@global.innodb_thread_concurrency;
-SELECT @global_start_value;
-
-
-
---echo '#--------------------FN_DYNVARS_046_01------------------------#'
-########################################################################
-# Display the DEFAULT value of innodb_thread_concurrency #
-########################################################################
-
-
-
-SET @@global.innodb_thread_concurrency = 0;
-SET @@global.innodb_thread_concurrency = DEFAULT;
-SELECT @@global.innodb_thread_concurrency;
-
---echo '#---------------------FN_DYNVARS_046_02-------------------------#'
-###############################################################################
-# Check if innodb_thread_concurrency can be accessed with and without @@ sign #
-###############################################################################
-
---Error ER_GLOBAL_VARIABLE
-SET innodb_thread_concurrency = 1;
-SELECT @@innodb_thread_concurrency;
-
-
---Error ER_UNKNOWN_TABLE
-SELECT local.innodb_thread_concurrency;
-
-
-SET global innodb_thread_concurrency = 0;
-SELECT @@global.innodb_thread_concurrency;
-
-
---echo '#--------------------FN_DYNVARS_046_03------------------------#'
-##########################################################################
-# change the value of innodb_thread_concurrency to a valid value #
-##########################################################################
-
-
-SET @@global.innodb_thread_concurrency = 0;
-SELECT @@global.innodb_thread_concurrency;
-
-SET @@global.innodb_thread_concurrency = 1;
-SELECT @@global.innodb_thread_concurrency;
-SET @@global.innodb_thread_concurrency = 1000;
-SELECT @@global.innodb_thread_concurrency;
-
---echo '#--------------------FN_DYNVARS_046_04-------------------------#'
-###########################################################################
-# Change the value of innodb_thread_concurrency to invalid value #
-###########################################################################
-
-SET @@global.innodb_thread_concurrency = -1;
-SELECT @@global.innodb_thread_concurrency;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_thread_concurrency = "T";
-SELECT @@global.innodb_thread_concurrency;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_thread_concurrency = "Y";
-SELECT @@global.innodb_thread_concurrency;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_thread_concurrency = ' ';
-SELECT @@global.innodb_thread_concurrency;
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_thread_concurrency = " ";
-SELECT @@global.innodb_thread_concurrency;
-
-SET @@global.innodb_thread_concurrency = 1001;
-SELECT @@global.innodb_thread_concurrency;
-
---Error ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_thread_concurrency = 255.01;
-SELECT @@global.innodb_thread_concurrency;
-
---echo '#----------------------FN_DYNVARS_046_05------------------------#'
-#########################################################################
-# Check if the value in GLOBAL Table matches value in variable #
-#########################################################################
-
---disable_warnings
-SELECT @@global.innodb_thread_concurrency =
- VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_thread_concurrency';
---enable_warnings
-SELECT @@global.innodb_thread_concurrency;
---disable_warnings
-SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
- WHERE VARIABLE_NAME='innodb_thread_concurrency';
---enable_warnings
-
---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_thread_concurrency = OFF;
-SELECT @@global.innodb_thread_concurrency;
-
---ERROR ER_WRONG_TYPE_FOR_VAR
-SET @@global.innodb_thread_concurrency = ON;
-SELECT @@global.innodb_thread_concurrency;
-
---echo '#---------------------FN_DYNVARS_046_07----------------------#'
-###################################################################
-# Check if TRUE and FALSE values can be used on variable #
-###################################################################
-
-SET @@global.innodb_thread_concurrency = TRUE;
-SELECT @@global.innodb_thread_concurrency;
-SET @@global.innodb_thread_concurrency = FALSE;
-SELECT @@global.innodb_thread_concurrency;
-
-##############################
-# Restore initial value #
-##############################
-
-SET @@global.innodb_thread_concurrency = @global_start_value;
-SELECT @@global.innodb_thread_concurrency;
-
-###############################################################
-# END OF innodb_thread_concurrency TESTS #
-###############################################################
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
deleted file mode 100644
index bc4efdd1d6f..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# 2010-01-27 - Added
-#
-
---source include/have_innodb.inc
-
-SET @start_global_value = @@global.innodb_thread_sleep_delay;
-SELECT @start_global_value;
-
-#
-# exists as global only
-#
---echo Valid values are zero or above
-select @@global.innodb_thread_sleep_delay >=0;
-select @@global.innodb_thread_sleep_delay;
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-select @@session.innodb_thread_sleep_delay;
-show global variables like 'innodb_thread_sleep_delay';
-show session variables like 'innodb_thread_sleep_delay';
-select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
-select * from information_schema.session_variables where variable_name='innodb_thread_sleep_delay';
-
-#
-# show that it's writable
-#
-set global innodb_thread_sleep_delay=10;
-select @@global.innodb_thread_sleep_delay;
-select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
-select * from information_schema.session_variables where variable_name='innodb_thread_sleep_delay';
---error ER_GLOBAL_VARIABLE
-set session innodb_thread_sleep_delay=1;
-
-#
-# incorrect types
-#
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_thread_sleep_delay=1.1;
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_thread_sleep_delay=1e1;
---error ER_WRONG_TYPE_FOR_VAR
-set global innodb_thread_sleep_delay="foo";
-
-set global innodb_thread_sleep_delay=18446744073709551616;
-
-set global innodb_thread_sleep_delay=-7;
-select @@global.innodb_thread_sleep_delay;
-select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
-
-#
-# correct/overflowed values
-#
-set global innodb_thread_sleep_delay=0;
-select @@global.innodb_thread_sleep_delay;
-set global innodb_thread_sleep_delay=1000;
-select @@global.innodb_thread_sleep_delay;
-set global innodb_thread_sleep_delay=1000000;
-select @@global.innodb_thread_sleep_delay;
-set global innodb_thread_sleep_delay=1000001;
-select @@global.innodb_thread_sleep_delay;
-set global innodb_thread_sleep_delay=4294967295;
-select @@global.innodb_thread_sleep_delay;
-set global innodb_thread_sleep_delay=555;
-select @@global.innodb_thread_sleep_delay;
-
-#
-# cleanup
-#
-SET @@global.innodb_thread_sleep_delay = @start_global_value;
-SELECT @@global.innodb_thread_sleep_delay;
diff --git a/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.opt b/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.opt
deleted file mode 100644
index 71866672bd9..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb-undo-logs=42
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
deleted file mode 100644
index 54ee06d94cb..00000000000
--- a/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# 2011-08-01 Added
-#
-
---source include/have_innodb.inc
-
-#
-# exists as global only
-#
-SELECT @@global.innodb_undo_logs;
-
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@session.innodb_undo_logs;
-SHOW global variables LIKE 'innodb_undo_logs';
-SHOW session variables LIKE 'innodb_undo_logs';
---disable_warnings
-SELECT * FROM information_schema.global_variables
-WHERE variable_name='innodb_undo_logs';
-SELECT * FROM information_schema.session_variables
-WHERE variable_name='innodb_undo_logs';
---enable_warnings
-
-SET global innodb_undo_logs=100;
-SELECT @@global.innodb_undo_logs;
---error ER_GLOBAL_VARIABLE
-SET session innodb_undo_logs=1;
-
-#
-# incorrect types
-#
---error ER_WRONG_TYPE_FOR_VAR
-SET global innodb_undo_logs=1.1;
---error ER_WRONG_TYPE_FOR_VAR
-SET global innodb_undo_logs=1e1;
---error ER_WRONG_TYPE_FOR_VAR
-SET global innodb_undo_logs="foo";
-SET global innodb_undo_logs=-7;
-SELECT @@global.innodb_undo_logs;
---disable_warnings
-SELECT * FROM information_schema.global_variables
-WHERE variable_name='innodb_undo_logs';
---enable_warnings
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 088f85c48bd..f2fba791859 100644
--- a/mysql-test/suite/sys_vars/t/old_mode_basic.test
+++ b/mysql-test/suite/sys_vars/t/old_mode_basic.test
@@ -172,7 +172,7 @@ SET @@global.old_mode = 4;
SELECT @@global.old_mode;
--Error ER_WRONG_VALUE_FOR_VAR
-SET @@global.old_mode = 8;
+SET @@global.old_mode = 16;
SELECT @@global.old_mode;
# use of decimal values
@@ -237,6 +237,83 @@ SELECT @@global.old_mode;
SET @@session.old_mode = @session_start_value;
SELECT @@session.old_mode;
+--echo #
+--echo # Beginning of 10.6 test
+--echo #
+--echo # MDEV-8334: Rename utf8 to utf8mb3
+--echo #
+--echo # Save and display old values
+SET @save_old_mode = @@OLD_MODE;
+SET @save_character_set_server = @@character_set_server;
+SET @save_character_set_client = @@character_set_client;
+SET @save_character_set_results = @@character_set_results;
+SET @save_character_set_connection = @@character_set_connection;
+SET @save_character_set_filesystem = @@character_set_filesystem;
+SET @save_character_set_database = @@character_set_database;
+SET @save_collation_connection = @@collation_connection;
+SET @save_collation_server = @@collation_server;
+SET @save_collation_database = @@collation_database;
+SELECT @@OLD_MODE;
+SELECT @@character_set_server,@@character_set_client,@@character_set_results,
+@@character_set_connection, @@character_set_filesystem, @@character_set_database,
+@@collation_connection, @@collation_server, @@collation_database;
+--echo #
+--echo # UTF8MB3 alias for UTF8
+--echo #
+SET @@character_set_server = utf8;
+SET @@character_set_client = utf8;
+SET @@character_set_results = utf8;
+SET @@character_set_connection = utf8;
+SET @@character_set_filesystem = utf8;
+SET @@character_set_database = utf8;
+SET @@collation_connection = utf8_general_ci;
+SET @@collation_server = utf8_unicode_ci;
+SET @@collation_database = utf8_bin;
+SELECT @@character_set_server, @@character_set_client, @@character_set_results,
+@@character_set_connection, @@character_set_filesystem, @@character_set_database,
+@@collation_connection, @@collation_server, @@collation_database;
+CREATE DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci';
+ALTER DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_unicode_ci';
+CREATE TABLE tb1 (id1 INT) CHARACTER SET 'utf8' COLLATE 'utf8_bin';
+SHOW CREATE TABLE tb1;
+DROP TABLE tb1;
+DROP DATABASE db1;
+--echo #
+--echo # UTF8MB4 is alias for UTF8
+--echo #
+SET @@OLD_MODE=0;
+SET @@character_set_server = utf8;
+SET @@character_set_client = utf8;
+SET @@character_set_results = utf8;
+SET @@character_set_connection = utf8;
+SET @@character_set_filesystem = utf8;
+SET @@character_set_database = utf8;
+SET @@collation_connection = utf8_general_ci;
+SET @@collation_server = utf8_unicode_ci;
+SET @@collation_database = utf8_bin;
+SELECT @@character_set_server, @@character_set_client, @@character_set_results,
+@@character_set_connection, @@character_set_filesystem, @@character_set_database,
+@@collation_connection, @@collation_server, @@collation_database;
+CREATE DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci';
+ALTER DATABASE db1 CHARACTER SET = 'utf8' COLLATE = 'utf8_unicode_ci';
+CREATE TABLE tb1 (id1 INT) CHARACTER SET 'utf8' COLLATE 'utf8_bin';
+SHOW CREATE TABLE tb1;
+DROP TABLE tb1;
+DROP DATABASE db1;
+SET @@OLD_MODE = @save_old_mode;
+SET @@character_set_server = @save_character_set_server;
+SET @@character_set_client = @save_character_set_client;
+SET @@character_set_results = @save_character_set_results;
+SET @@character_set_connection = @save_character_set_connection;
+SET @@character_set_filesystem = @save_character_set_filesystem;
+SET @@character_set_database = @save_character_set_database;
+SET @@collation_connection = @save_collation_connection;
+SET @@collation_server = @save_collation_server;
+SET @@collation_database = @save_collation_database;
+--echo #
+--echo # End of 10.6 test
+--echo #
+
################################################################
# END OF old_mode TESTS #
################################################################
diff --git a/mysql-test/suite/sys_vars/t/secure_file_priv.test b/mysql-test/suite/sys_vars/t/secure_file_priv.test
index a5a465d8c98..a8565375e45 100644
--- a/mysql-test/suite/sys_vars/t/secure_file_priv.test
+++ b/mysql-test/suite/sys_vars/t/secure_file_priv.test
@@ -33,7 +33,9 @@ print FILE "SELECT load_file('",$protected_file,"') AS loaded_file;\n";
close(FILE);
EOF
+--enable_prepare_warnings
--source $MYSQL_TMP_DIR/bug50373.inc
+--disable_prepare_warnings
--remove_file $MYSQL_TMP_DIR/bug50373.inc
--enable_query_log
diff --git a/mysql-test/suite/sys_vars/t/stored_program_cache_func.test b/mysql-test/suite/sys_vars/t/stored_program_cache_func.test
index f85fc8eb1bf..611c33b530e 100644
--- a/mysql-test/suite/sys_vars/t/stored_program_cache_func.test
+++ b/mysql-test/suite/sys_vars/t/stored_program_cache_func.test
@@ -1,3 +1,5 @@
+--source include/protocol.inc
+
create procedure p1() select 1;
flush status;
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
deleted file mode 100644
index 812fb0cfd73..00000000000
--- a/mysql-test/suite/sys_vars/t/wsrep_replicate_myisam_basic.test
+++ /dev/null
@@ -1,36 +0,0 @@
---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_strict_ddl_basic.test b/mysql-test/suite/sys_vars/t/wsrep_strict_ddl_basic.test
deleted file mode 100644
index 04d20ff3db5..00000000000
--- a/mysql-test/suite/sys_vars/t/wsrep_strict_ddl_basic.test
+++ /dev/null
@@ -1,42 +0,0 @@
---source include/have_wsrep.inc
-
---echo #
---echo # wsrep_strict_ddl
---echo #
-
---echo # save the initial value
-SET @wsrep_strict_ddl_global_saved = @@global.wsrep_strict_ddl;
-
---echo # default
-SELECT @@global.wsrep_strict_ddl;
-
---echo
---echo # scope
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@session.wsrep_strict_ddl;
-SET @@global.wsrep_strict_ddl=OFF;
-SELECT @@global.wsrep_strict_ddl;
-SET @@global.wsrep_strict_ddl=ON;
-SELECT @@global.wsrep_strict_ddl;
-
---echo
---echo # valid values
-SET @@global.wsrep_strict_ddl='OFF';
-SELECT @@global.wsrep_strict_ddl;
-SET @@global.wsrep_strict_ddl=ON;
-SELECT @@global.wsrep_strict_ddl;
-SET @@global.wsrep_strict_ddl=default;
-SELECT @@global.wsrep_strict_ddl;
-
---echo
---echo # invalid values
---error ER_WRONG_VALUE_FOR_VAR
-SET @@global.wsrep_strict_ddl=NULL;
---error ER_WRONG_VALUE_FOR_VAR
-SET @@global.wsrep_strict_ddl='junk';
-
---echo
---echo # restore the initial value
-SET @@global.wsrep_strict_ddl = @wsrep_strict_ddl_global_saved;
-
---echo # End of test
diff --git a/mysql-test/suite/sysschema/include/ps_setup_actors_cleanup.inc b/mysql-test/suite/sysschema/include/ps_setup_actors_cleanup.inc
new file mode 100644
index 00000000000..0e18278df7d
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/ps_setup_actors_cleanup.inc
@@ -0,0 +1,5 @@
+# Reset the performance_schema.setup_actors table
+
+TRUNCATE TABLE performance_schema.setup_actors;
+
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
diff --git a/mysql-test/suite/sysschema/include/ps_setup_consumers_cleanup.inc b/mysql-test/suite/sysschema/include/ps_setup_consumers_cleanup.inc
new file mode 100644
index 00000000000..ee591ec6f31
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/ps_setup_consumers_cleanup.inc
@@ -0,0 +1,3 @@
+# Reset the performance_schema.setup_consumers table
+
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
diff --git a/mysql-test/suite/sysschema/include/ps_setup_instruments_cleanup.inc b/mysql-test/suite/sysschema/include/ps_setup_instruments_cleanup.inc
new file mode 100644
index 00000000000..aa782d120b5
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/ps_setup_instruments_cleanup.inc
@@ -0,0 +1,3 @@
+# Reset the performance_schema.setup_instruments table
+
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
diff --git a/mysql-test/suite/sysschema/include/ps_setup_reset_to_default_cleanup.inc b/mysql-test/suite/sysschema/include/ps_setup_reset_to_default_cleanup.inc
new file mode 100644
index 00000000000..6be56538f8a
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/ps_setup_reset_to_default_cleanup.inc
@@ -0,0 +1,9 @@
+# Reset all Performance Schema configuration
+
+--source ./ps_setup_instruments_cleanup.inc
+
+--source ./ps_setup_actors_cleanup.inc
+
+--source ./ps_setup_consumers_cleanup.inc
+
+--source ./ps_threads_cleanup.inc
diff --git a/mysql-test/suite/sysschema/include/ps_threads_cleanup.inc b/mysql-test/suite/sysschema/include/ps_threads_cleanup.inc
new file mode 100644
index 00000000000..708f2f7cc57
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/ps_threads_cleanup.inc
@@ -0,0 +1,3 @@
+# Reset the performance_schema.setup_consumers table
+
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/include/ps_truncate_all_tables.inc b/mysql-test/suite/sysschema/include/ps_truncate_all_tables.inc
new file mode 100644
index 00000000000..4811b8af473
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/ps_truncate_all_tables.inc
@@ -0,0 +1,6 @@
+# Reset all underlying Performance Schema data
+
+--disable_result_log
+--disable_query_log ONCE
+CALL sys.ps_truncate_all_tables(FALSE);
+--enable_result_log
diff --git a/mysql-test/suite/sysschema/include/sys_config_cleanup.inc b/mysql-test/suite/sysschema/include/sys_config_cleanup.inc
new file mode 100644
index 00000000000..af8d0362519
--- /dev/null
+++ b/mysql-test/suite/sysschema/include/sys_config_cleanup.inc
@@ -0,0 +1,17 @@
+# Reset the sys.sys_config table
+
+# Note, we have to disable the triggers to reset the set_by column back to NULL
+# as the sys.sys_config_update_set_user trigger will overwrite it to the current user
+SET @sys.ignore_sys_config_triggers := true;
+
+DELETE FROM sys.sys_config;
+
+INSERT IGNORE INTO sys.sys_config (variable, value) VALUES
+ ('statement_truncate_len', 64),
+ ('statement_performance_analyzer.limit', 100),
+ ('statement_performance_analyzer.view', NULL),
+ ('diagnostics.allow_i_s_tables', 'OFF'),
+ ('diagnostics.include_raw', 'OFF'),
+ ('ps_thread_trx_info.max_length', 65535);
+
+SET @sys.ignore_sys_config_triggers := NULL;
diff --git a/mysql-test/suite/sysschema/r/all_sys_objects_exist.result b/mysql-test/suite/sysschema/r/all_sys_objects_exist.result
new file mode 100644
index 00000000000..6dddd8a186c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/all_sys_objects_exist.result
@@ -0,0 +1,159 @@
+USE sys;
+SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'sys' ORDER BY TABLE_NAME;
+TABLE_NAME
+host_summary
+host_summary_by_file_io
+host_summary_by_file_io_type
+host_summary_by_stages
+host_summary_by_statement_latency
+host_summary_by_statement_type
+innodb_buffer_stats_by_schema
+innodb_buffer_stats_by_table
+innodb_lock_waits
+io_by_thread_by_latency
+io_global_by_file_by_bytes
+io_global_by_file_by_latency
+io_global_by_wait_by_bytes
+io_global_by_wait_by_latency
+latest_file_io
+memory_by_host_by_current_bytes
+memory_by_thread_by_current_bytes
+memory_by_user_by_current_bytes
+memory_global_by_current_bytes
+memory_global_total
+metrics
+processlist
+ps_check_lost_instrumentation
+schema_auto_increment_columns
+schema_index_statistics
+schema_object_overview
+schema_redundant_indexes
+schema_tables_with_full_table_scans
+schema_table_lock_waits
+schema_table_statistics
+schema_table_statistics_with_buffer
+schema_unused_indexes
+session
+session_ssl_status
+statements_with_errors_or_warnings
+statements_with_full_table_scans
+statements_with_runtimes_in_95th_percentile
+statements_with_sorting
+statements_with_temp_tables
+statement_analysis
+sys_config
+user_summary
+user_summary_by_file_io
+user_summary_by_file_io_type
+user_summary_by_stages
+user_summary_by_statement_latency
+user_summary_by_statement_type
+version
+waits_by_host_by_latency
+waits_by_user_by_latency
+waits_global_by_latency
+wait_classes_global_by_avg_latency
+wait_classes_global_by_latency
+x$host_summary
+x$host_summary_by_file_io
+x$host_summary_by_file_io_type
+x$host_summary_by_stages
+x$host_summary_by_statement_latency
+x$host_summary_by_statement_type
+x$innodb_buffer_stats_by_schema
+x$innodb_buffer_stats_by_table
+x$innodb_lock_waits
+x$io_by_thread_by_latency
+x$io_global_by_file_by_bytes
+x$io_global_by_file_by_latency
+x$io_global_by_wait_by_bytes
+x$io_global_by_wait_by_latency
+x$latest_file_io
+x$memory_by_host_by_current_bytes
+x$memory_by_thread_by_current_bytes
+x$memory_by_user_by_current_bytes
+x$memory_global_by_current_bytes
+x$memory_global_total
+x$processlist
+x$ps_digest_95th_percentile_by_avg_us
+x$ps_digest_avg_latency_distribution
+x$ps_schema_table_statistics_io
+x$schema_flattened_keys
+x$schema_index_statistics
+x$schema_tables_with_full_table_scans
+x$schema_table_lock_waits
+x$schema_table_statistics
+x$schema_table_statistics_with_buffer
+x$session
+x$statements_with_errors_or_warnings
+x$statements_with_full_table_scans
+x$statements_with_runtimes_in_95th_percentile
+x$statements_with_sorting
+x$statements_with_temp_tables
+x$statement_analysis
+x$user_summary
+x$user_summary_by_file_io
+x$user_summary_by_file_io_type
+x$user_summary_by_stages
+x$user_summary_by_statement_latency
+x$user_summary_by_statement_type
+x$waits_by_host_by_latency
+x$waits_by_user_by_latency
+x$waits_global_by_latency
+x$wait_classes_global_by_avg_latency
+x$wait_classes_global_by_latency
+SELECT ROUTINE_NAME, ROUTINE_TYPE FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'sys' ORDER BY ROUTINE_TYPE, ROUTINE_NAME;
+ROUTINE_NAME ROUTINE_TYPE
+extract_schema_from_file_name FUNCTION
+extract_table_from_file_name FUNCTION
+format_bytes FUNCTION
+format_path FUNCTION
+format_statement FUNCTION
+format_time FUNCTION
+list_add FUNCTION
+list_drop FUNCTION
+ps_is_account_enabled FUNCTION
+ps_is_consumer_enabled FUNCTION
+ps_is_instrument_default_enabled FUNCTION
+ps_is_instrument_default_timed FUNCTION
+ps_is_thread_instrumented FUNCTION
+ps_thread_account FUNCTION
+ps_thread_id FUNCTION
+ps_thread_stack FUNCTION
+ps_thread_trx_info FUNCTION
+quote_identifier FUNCTION
+sys_get_config FUNCTION
+version_major FUNCTION
+version_minor FUNCTION
+version_patch FUNCTION
+create_synonym_db PROCEDURE
+diagnostics PROCEDURE
+execute_prepared_stmt PROCEDURE
+ps_setup_disable_background_threads PROCEDURE
+ps_setup_disable_consumer PROCEDURE
+ps_setup_disable_instrument PROCEDURE
+ps_setup_disable_thread PROCEDURE
+ps_setup_enable_background_threads PROCEDURE
+ps_setup_enable_consumer PROCEDURE
+ps_setup_enable_instrument PROCEDURE
+ps_setup_enable_thread PROCEDURE
+ps_setup_reload_saved PROCEDURE
+ps_setup_reset_to_default PROCEDURE
+ps_setup_save PROCEDURE
+ps_setup_show_disabled PROCEDURE
+ps_setup_show_disabled_consumers PROCEDURE
+ps_setup_show_disabled_instruments PROCEDURE
+ps_setup_show_enabled PROCEDURE
+ps_setup_show_enabled_consumers PROCEDURE
+ps_setup_show_enabled_instruments PROCEDURE
+ps_statement_avg_latency_histogram PROCEDURE
+ps_trace_statement_digest PROCEDURE
+ps_trace_thread PROCEDURE
+ps_truncate_all_tables PROCEDURE
+statement_performance_analyzer PROCEDURE
+table_exists PROCEDURE
+SELECT TRIGGER_NAME FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA = 'sys' ORDER BY TRIGGER_NAME;
+TRIGGER_NAME
+SELECT sys_version FROM sys.version;
+sys_version
+1.5.1
diff --git a/mysql-test/suite/sysschema/r/fn_extract_schema_from_file_name.result b/mysql-test/suite/sysschema/r/fn_extract_schema_from_file_name.result
new file mode 100644
index 00000000000..c25f82ebcb7
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_extract_schema_from_file_name.result
@@ -0,0 +1,6 @@
+SELECT sys.extract_schema_from_file_name(NULL);
+sys.extract_schema_from_file_name(NULL)
+NULL
+SELECT sys.extract_schema_from_file_name('/var/lib/mysql/employees/employee.ibd');
+sys.extract_schema_from_file_name('/var/lib/mysql/employees/employee.ibd')
+employees
diff --git a/mysql-test/suite/sysschema/r/fn_extract_table_from_file_name.result b/mysql-test/suite/sysschema/r/fn_extract_table_from_file_name.result
new file mode 100644
index 00000000000..a9297feb8a0
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_extract_table_from_file_name.result
@@ -0,0 +1,6 @@
+SELECT sys.extract_table_from_file_name(NULL);
+sys.extract_table_from_file_name(NULL)
+NULL
+SELECT sys.extract_table_from_file_name('/var/lib/mysql/employees/employee.ibd');
+sys.extract_table_from_file_name('/var/lib/mysql/employees/employee.ibd')
+employee
diff --git a/mysql-test/suite/sysschema/r/fn_format_bytes.result b/mysql-test/suite/sysschema/r/fn_format_bytes.result
new file mode 100644
index 00000000000..5bf6c99b5f3
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_format_bytes.result
@@ -0,0 +1,39 @@
+SELECT sys.format_bytes(NULL);
+sys.format_bytes(NULL)
+NULL
+SELECT sys.format_bytes(1);
+sys.format_bytes(1)
+1 bytes
+SELECT sys.format_bytes(1023);
+sys.format_bytes(1023)
+1023 bytes
+SELECT sys.format_bytes(1024);
+sys.format_bytes(1024)
+1.00 KiB
+SELECT sys.format_bytes(1048575);
+sys.format_bytes(1048575)
+1024.00 KiB
+SELECT sys.format_bytes(1048576);
+sys.format_bytes(1048576)
+1.00 MiB
+SELECT sys.format_bytes(1073741823);
+sys.format_bytes(1073741823)
+1024.00 MiB
+SELECT sys.format_bytes(1073741824);
+sys.format_bytes(1073741824)
+1.00 GiB
+SELECT sys.format_bytes(1099511627775);
+sys.format_bytes(1099511627775)
+1024.00 GiB
+SELECT sys.format_bytes(1099511627776);
+sys.format_bytes(1099511627776)
+1.00 TiB
+SELECT sys.format_bytes(1125899906842623);
+sys.format_bytes(1125899906842623)
+1024.00 TiB
+SELECT sys.format_bytes(1125899906842624);
+sys.format_bytes(1125899906842624)
+1.00 PiB
+SELECT sys.format_bytes(1125899906842624238947293);
+sys.format_bytes(1125899906842624238947293)
+1000000000.00 PiB
diff --git a/mysql-test/suite/sysschema/r/fn_format_path.result b/mysql-test/suite/sysschema/r/fn_format_path.result
new file mode 100644
index 00000000000..5672b09f07a
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_format_path.result
@@ -0,0 +1,14 @@
+SELECT sys.format_path(NULL);
+sys.format_path(NULL)
+NULL
+SET @mypath := CONCAT(@@global.datadir, 'foo/bar.foo');
+SELECT sys.format_path(@mypath);
+sys.format_path(@mypath)
+@@datadir/foo/bar.foo
+SET @mypath := CONCAT(@@global.tmpdir, '/foo/bar.foo');
+SELECT sys.format_path(@mypath);
+sys.format_path(@mypath)
+@@tmpdir/foo/bar.foo
+SELECT sys.format_path('/foo/bar/baz.foo');
+sys.format_path('/foo/bar/baz.foo')
+/foo/bar/baz.foo
diff --git a/mysql-test/suite/sysschema/r/fn_format_statement.result b/mysql-test/suite/sysschema/r/fn_format_statement.result
new file mode 100644
index 00000000000..b07e4b0249e
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_format_statement.result
@@ -0,0 +1,10 @@
+SELECT sys.format_statement(NULL);
+sys.format_statement(NULL)
+NULL
+SELECT sys.format_statement('SELECT foo, bar, baz, foobar, foobaz FROM foo JOIN bar USING (foobar) JOIN baz USING (foobar) WHERE foo = \'foo\' AND bar = \'bar\'') AS statement;
+statement
+SELECT foo, bar, baz, foobar, ... RE foo = 'foo' AND bar = 'bar'
+SET @sys.statement_truncate_len = 80;
+SELECT sys.format_statement('SELECT foo, bar, baz, foobar, foobaz FROM foo JOIN bar USING (foobar) JOIN baz USING (foobar) WHERE foo = \'foo\' AND bar = \'bar\'') AS statement;
+statement
+SELECT foo, bar, baz, foobar, foobaz F ... bar) WHERE foo = 'foo' AND bar = 'bar'
diff --git a/mysql-test/suite/sysschema/r/fn_format_time.result b/mysql-test/suite/sysschema/r/fn_format_time.result
new file mode 100644
index 00000000000..6854bb88c19
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_format_time.result
@@ -0,0 +1,57 @@
+SELECT sys.format_time(NULL);
+sys.format_time(NULL)
+NULL
+SELECT sys.format_time(1);
+sys.format_time(1)
+1 ps
+SELECT sys.format_time(999);
+sys.format_time(999)
+999 ps
+SELECT sys.format_time(1000);
+sys.format_time(1000)
+1.00 ns
+SELECT sys.format_time(999999);
+sys.format_time(999999)
+1000.00 ns
+SELECT sys.format_time(1000000);
+sys.format_time(1000000)
+1.00 us
+SELECT sys.format_time(999999999);
+sys.format_time(999999999)
+1000.00 us
+SELECT sys.format_time(1000000000);
+sys.format_time(1000000000)
+1.00 ms
+SELECT sys.format_time(999999999999);
+sys.format_time(999999999999)
+1000.00 ms
+SELECT sys.format_time(1000000000000);
+sys.format_time(1000000000000)
+1.00 s
+SELECT sys.format_time(59999999999999);
+sys.format_time(59999999999999)
+60.00 s
+SELECT sys.format_time(60000000000000);
+sys.format_time(60000000000000)
+1.00 m
+SELECT sys.format_time(3599999999999999);
+sys.format_time(3599999999999999)
+60.00 m
+SELECT sys.format_time(3600000000000000);
+sys.format_time(3600000000000000)
+1.00 h
+SELECT sys.format_time(86399999999999988);
+sys.format_time(86399999999999988)
+24.00 h
+SELECT sys.format_time(86400000000000000);
+sys.format_time(86400000000000000)
+1.00 d
+SELECT sys.format_time(604799999999999888);
+sys.format_time(604799999999999888)
+7.00 d
+SELECT sys.format_time(604800000000000000);
+sys.format_time(604800000000000000)
+1.00 w
+SELECT sys.format_time(2389472398472389748237429837423984728374);
+sys.format_time(2389472398472389748237429837423984728374)
+3950847219696411300000.00 w
diff --git a/mysql-test/suite/sysschema/r/fn_list_add.result b/mysql-test/suite/sysschema/r/fn_list_add.result
new file mode 100644
index 00000000000..c3ade975aa2
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_list_add.result
@@ -0,0 +1,28 @@
+SELECT sys.list_add(NULL, 'foo');
+sys.list_add(NULL, 'foo')
+foo
+SELECT sys.list_add('', 'foo');
+sys.list_add('', 'foo')
+foo
+SELECT sys.list_add('bar', 'foo');
+sys.list_add('bar', 'foo')
+bar,foo
+SELECT sys.list_add('bar, ', 'foo');
+sys.list_add('bar, ', 'foo')
+bar,foo
+SELECT sys.list_add('foo', NULL);
+ERROR 02200: Function sys.list_add: in_add_value input variable should not be NULL
+SET @sqlmode := @@sql_mode;
+SELECT @@sql_mode;
+@@sql_mode
+STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+SET SESSION sql_mode = sys.list_add(@@sql_mode, 'ANSI_QUOTES');
+SELECT @@sql_mode;
+@@sql_mode
+ANSI_QUOTES,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+SET SESSION sql_mode = @sqlmode;
+SET @sqlmode := NULL;
+SET @input := REPEAT('a', 4194304);
+SELECT sys.list_add(@input, 'foo');
+ERROR 22001: Data too long for column 'in_list' at row 1
+SET @input := NULL;
diff --git a/mysql-test/suite/sysschema/r/fn_list_drop.result b/mysql-test/suite/sysschema/r/fn_list_drop.result
new file mode 100644
index 00000000000..17c1ede108c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_list_drop.result
@@ -0,0 +1,30 @@
+SELECT sys.list_drop('1,2,3,4,5', '1');
+sys.list_drop('1,2,3,4,5', '1')
+2,3,4,5
+SELECT sys.list_drop('1,2,3,4,5', '3');
+sys.list_drop('1,2,3,4,5', '3')
+1,2,4,5
+SELECT sys.list_drop('1,2,3,4,5', '5');
+sys.list_drop('1,2,3,4,5', '5')
+1,2,3,4
+SELECT sys.list_drop('1, 2, 3, 4, 5', '1');
+sys.list_drop('1, 2, 3, 4, 5', '1')
+ 2, 3, 4, 5
+SELECT sys.list_drop('1, 2, 3, 4, 5', '3');
+sys.list_drop('1, 2, 3, 4, 5', '3')
+1, 2, 4, 5
+SELECT sys.list_drop('1, 2, 3, 4, 5', '5');
+sys.list_drop('1, 2, 3, 4, 5', '5')
+1, 2, 3, 4
+SELECT sys.list_drop('1,2,3,4,5', NULL);
+ERROR 02200: Function sys.list_drop: in_drop_value input variable should not be NULL
+SET @sqlmode := @@sql_mode;
+SELECT @@sql_mode;
+@@sql_mode
+STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+SET SESSION sql_mode = sys.list_drop(@@sql_mode, 'STRICT_TRANS_TABLES');
+SELECT @@sql_mode;
+@@sql_mode
+ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+SET SESSION sql_mode = @sqlmode;
+SET @sqlmode := NULL;
diff --git a/mysql-test/suite/sysschema/r/fn_ps_is_account_enabled.result b/mysql-test/suite/sysschema/r/fn_ps_is_account_enabled.result
new file mode 100644
index 00000000000..79bad719835
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_is_account_enabled.result
@@ -0,0 +1,14 @@
+SELECT sys.ps_is_account_enabled('foo', 'bar');
+sys.ps_is_account_enabled('foo', 'bar')
+YES
+DELETE FROM performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES
+('test', 'test', '%', 'YES', 'NO');
+SELECT sys.ps_is_account_enabled('foo', 'bar');
+sys.ps_is_account_enabled('foo', 'bar')
+NO
+SELECT sys.ps_is_account_enabled('test', 'test');
+sys.ps_is_account_enabled('test', 'test')
+YES
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
diff --git a/mysql-test/suite/sysschema/r/fn_ps_is_consumer_enabled.result b/mysql-test/suite/sysschema/r/fn_ps_is_consumer_enabled.result
new file mode 100644
index 00000000000..e69c0728b21
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_is_consumer_enabled.result
@@ -0,0 +1,42 @@
+UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name = 'events_stages_history';
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+sys.ps_is_consumer_enabled('events_stages_history')
+NO
+SELECT sys.ps_is_consumer_enabled('global_instrumentation');
+sys.ps_is_consumer_enabled('global_instrumentation')
+YES
+UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name = 'events_stages_current';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name = 'events_stages_history';
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+sys.ps_is_consumer_enabled('events_stages_history')
+NO
+UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name = 'events_stages_current';
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+sys.ps_is_consumer_enabled('events_stages_history')
+YES
+UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name = 'global_instrumentation';
+SELECT sys.ps_is_consumer_enabled('thread_instrumentation');
+sys.ps_is_consumer_enabled('thread_instrumentation')
+NO
+SELECT sys.ps_is_consumer_enabled('statements_digest');
+sys.ps_is_consumer_enabled('statements_digest')
+NO
+SELECT sys.ps_is_consumer_enabled('events_stages_current');
+sys.ps_is_consumer_enabled('events_stages_current')
+NO
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+sys.ps_is_consumer_enabled('events_stages_history')
+NO
+SELECT sys.ps_is_consumer_enabled('events_stages_history_long');
+sys.ps_is_consumer_enabled('events_stages_history_long')
+NO
+SELECT sys.ps_is_consumer_enabled('events_statements_current');
+sys.ps_is_consumer_enabled('events_statements_current')
+NO
+SELECT sys.ps_is_consumer_enabled('events_statements_history');
+sys.ps_is_consumer_enabled('events_statements_history')
+NO
+SELECT sys.ps_is_consumer_enabled('events_statements_history_long');
+sys.ps_is_consumer_enabled('events_statements_history_long')
+NO
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
diff --git a/mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_enabled.result b/mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_enabled.result
new file mode 100644
index 00000000000..e9143fafca0
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_enabled.result
@@ -0,0 +1,48 @@
+SELECT sys.ps_is_instrument_default_enabled('memory/performance_schema/internal_buffers');
+sys.ps_is_instrument_default_enabled('memory/performance_schema/internal_buffers')
+YES
+SELECT sys.ps_is_instrument_default_enabled('statement/sql/select');
+sys.ps_is_instrument_default_enabled('statement/sql/select')
+YES
+SELECT sys.ps_is_instrument_default_enabled('statement/sp/error');
+sys.ps_is_instrument_default_enabled('statement/sp/error')
+YES
+SELECT sys.ps_is_instrument_default_enabled('statement/com/Prepare');
+sys.ps_is_instrument_default_enabled('statement/com/Prepare')
+YES
+SELECT sys.ps_is_instrument_default_enabled('wait/io/file/sql/binlog');
+sys.ps_is_instrument_default_enabled('wait/io/file/sql/binlog')
+YES
+SELECT sys.ps_is_instrument_default_enabled('wait/io/table/sql/handler');
+sys.ps_is_instrument_default_enabled('wait/io/table/sql/handler')
+YES
+SELECT sys.ps_is_instrument_default_enabled('wait/lock/table/sql/handler');
+sys.ps_is_instrument_default_enabled('wait/lock/table/sql/handler')
+YES
+SELECT sys.ps_is_instrument_default_enabled('idle');
+sys.ps_is_instrument_default_enabled('idle')
+YES
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/mutex/sql/LOCK_plugin');
+sys.ps_is_instrument_default_enabled('wait/synch/mutex/sql/LOCK_plugin')
+NO
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/rwlock/sql/LOCK_grant');
+sys.ps_is_instrument_default_enabled('wait/synch/rwlock/sql/LOCK_grant')
+NO
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/sxlock/innodb/btr_search_latch');
+sys.ps_is_instrument_default_enabled('wait/synch/sxlock/innodb/btr_search_latch')
+NO
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond');
+sys.ps_is_instrument_default_enabled('wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond')
+NO
+SELECT sys.ps_is_instrument_default_enabled('stage/sql/end');
+sys.ps_is_instrument_default_enabled('stage/sql/end')
+NO
+SELECT sys.ps_is_instrument_default_enabled('transaction');
+sys.ps_is_instrument_default_enabled('transaction')
+NO
+SELECT sys.ps_is_instrument_default_enabled('wait/io/socket/sql/server_tcpip_socket');
+sys.ps_is_instrument_default_enabled('wait/io/socket/sql/server_tcpip_socket')
+NO
+SELECT sys.ps_is_instrument_default_enabled('wait/lock/metadata/sql/mdl');
+sys.ps_is_instrument_default_enabled('wait/lock/metadata/sql/mdl')
+NO
diff --git a/mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_timed.result b/mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_timed.result
new file mode 100644
index 00000000000..99f426c6dca
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_is_instrument_default_timed.result
@@ -0,0 +1,48 @@
+SELECT sys.ps_is_instrument_default_timed('wait/io/file/sql/binlog');
+sys.ps_is_instrument_default_timed('wait/io/file/sql/binlog')
+YES
+SELECT sys.ps_is_instrument_default_timed('statement/sql/select');
+sys.ps_is_instrument_default_timed('statement/sql/select')
+YES
+SELECT sys.ps_is_instrument_default_timed('statement/sp/error');
+sys.ps_is_instrument_default_timed('statement/sp/error')
+YES
+SELECT sys.ps_is_instrument_default_timed('statement/com/Prepare');
+sys.ps_is_instrument_default_timed('statement/com/Prepare')
+YES
+SELECT sys.ps_is_instrument_default_timed('wait/io/table/sql/handler');
+sys.ps_is_instrument_default_timed('wait/io/table/sql/handler')
+YES
+SELECT sys.ps_is_instrument_default_timed('wait/lock/table/sql/handler');
+sys.ps_is_instrument_default_timed('wait/lock/table/sql/handler')
+YES
+SELECT sys.ps_is_instrument_default_timed('idle');
+sys.ps_is_instrument_default_timed('idle')
+YES
+SELECT sys.ps_is_instrument_default_timed('wait/synch/mutex/sql/LOCK_plugin');
+sys.ps_is_instrument_default_timed('wait/synch/mutex/sql/LOCK_plugin')
+NO
+SELECT sys.ps_is_instrument_default_timed('wait/synch/rwlock/sql/LOCK_grant');
+sys.ps_is_instrument_default_timed('wait/synch/rwlock/sql/LOCK_grant')
+NO
+SELECT sys.ps_is_instrument_default_timed('wait/synch/sxlock/innodb/btr_search_latch');
+sys.ps_is_instrument_default_timed('wait/synch/sxlock/innodb/btr_search_latch')
+NO
+SELECT sys.ps_is_instrument_default_timed('wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond');
+sys.ps_is_instrument_default_timed('wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond')
+NO
+SELECT sys.ps_is_instrument_default_timed('stage/sql/end');
+sys.ps_is_instrument_default_timed('stage/sql/end')
+NO
+SELECT sys.ps_is_instrument_default_timed('transaction');
+sys.ps_is_instrument_default_timed('transaction')
+NO
+SELECT sys.ps_is_instrument_default_timed('wait/io/socket/sql/server_tcpip_socket');
+sys.ps_is_instrument_default_timed('wait/io/socket/sql/server_tcpip_socket')
+NO
+SELECT sys.ps_is_instrument_default_timed('memory/performance_schema/internal_buffers');
+sys.ps_is_instrument_default_timed('memory/performance_schema/internal_buffers')
+NO
+SELECT sys.ps_is_instrument_default_timed('wait/lock/metadata/sql/mdl');
+sys.ps_is_instrument_default_timed('wait/lock/metadata/sql/mdl')
+NO
diff --git a/mysql-test/suite/sysschema/r/fn_ps_is_thread_instrumented.result b/mysql-test/suite/sysschema/r/fn_ps_is_thread_instrumented.result
new file mode 100644
index 00000000000..90583e3cd19
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_is_thread_instrumented.result
@@ -0,0 +1,14 @@
+SELECT sys.ps_is_thread_instrumented(NULL);
+sys.ps_is_thread_instrumented(NULL)
+NULL
+SELECT sys.ps_is_thread_instrumented(CONNECTION_ID());
+sys.ps_is_thread_instrumented(CONNECTION_ID())
+YES
+UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = CONNECTION_ID();
+SELECT sys.ps_is_thread_instrumented(CONNECTION_ID());
+sys.ps_is_thread_instrumented(CONNECTION_ID())
+NO
+SELECT sys.ps_is_thread_instrumented(234623462376);
+sys.ps_is_thread_instrumented(234623462376)
+UNKNOWN
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/fn_ps_thread_account.result b/mysql-test/suite/sysschema/r/fn_ps_thread_account.result
new file mode 100644
index 00000000000..67f7e8fac86
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_thread_account.result
@@ -0,0 +1,9 @@
+SELECT sys.ps_thread_account(NULL);
+sys.ps_thread_account(NULL)
+NULL
+SELECT sys.ps_thread_account(234623462376);
+sys.ps_thread_account(234623462376)
+NULL
+SELECT sys.ps_thread_account(sys.ps_thread_id(NULL));
+sys.ps_thread_account(sys.ps_thread_id(NULL))
+root@localhost
diff --git a/mysql-test/suite/sysschema/r/fn_ps_thread_id.result b/mysql-test/suite/sysschema/r/fn_ps_thread_id.result
new file mode 100644
index 00000000000..8d1677af6b1
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_thread_id.result
@@ -0,0 +1,9 @@
+SELECT sys.ps_thread_id(234623462376);
+sys.ps_thread_id(234623462376)
+NULL
+SELECT sys.ps_thread_id(CONNECTION_ID()) = @ps_thread_id;
+sys.ps_thread_id(CONNECTION_ID()) = @ps_thread_id
+1
+SELECT sys.ps_thread_id(NULL) = @ps_thread_id;
+sys.ps_thread_id(NULL) = @ps_thread_id
+1
diff --git a/mysql-test/suite/sysschema/r/fn_ps_thread_trx_info.result b/mysql-test/suite/sysschema/r/fn_ps_thread_trx_info.result
new file mode 100644
index 00000000000..fe11e70203a
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_ps_thread_trx_info.result
@@ -0,0 +1,92 @@
+SELECT sys.ps_thread_trx_info(234623462376);
+sys.ps_thread_trx_info(234623462376)
+NULL
+SELECT JSON_VALID(sys.ps_thread_trx_info(sys.ps_thread_id(NULL)));
+JSON_VALID(sys.ps_thread_trx_info(sys.ps_thread_id(NULL)))
+1
+CREATE DATABASE trx;
+CREATE TABLE trx.info (id INT PRIMARY KEY, info VARCHAR(20));
+connect con1,localhost,root,,;
+connection con1;
+USE trx;
+START TRANSACTION;
+INSERT INTO info VALUES (1, 'foo');
+COMMIT;
+START TRANSACTION;
+INSERT INTO info VALUES (2, 'bar');
+COMMIT;
+connection default;
+SET @json_doc := sys.ps_thread_trx_info(@ps_thread_id);
+SELECT JSON_VALID(@json_doc);
+JSON_VALID(@json_doc)
+1
+SELECT JSON_LENGTH(@json_doc);
+JSON_LENGTH(@json_doc)
+2
+SELECT JSON_KEYS(JSON_EXTRACT(@json_doc, '$[0]'));
+JSON_KEYS(JSON_EXTRACT(@json_doc, '$[0]'))
+["time", "state", "mode", "autocommitted", "gtid", "isolation", "statements_executed"]
+SELECT JSON_CONTAINS_PATH(@json_doc, 'one', '$[0].time');
+JSON_CONTAINS_PATH(@json_doc, 'one', '$[0].time')
+1
+SELECT JSON_CONTAINS(@json_doc, '"COMMITTED"', '$[0].state');
+JSON_CONTAINS(@json_doc, '"COMMITTED"', '$[0].state')
+1
+SELECT JSON_CONTAINS(@json_doc, '"READ WRITE"', '$[0].mode');
+JSON_CONTAINS(@json_doc, '"READ WRITE"', '$[0].mode')
+1
+SELECT JSON_CONTAINS(@json_doc, '"NO"', '$[0].autocommitted');
+JSON_CONTAINS(@json_doc, '"NO"', '$[0].autocommitted')
+1
+SELECT JSON_CONTAINS(@json_doc, '"AUTOMATIC"', '$[0].gtid');
+JSON_CONTAINS(@json_doc, '"AUTOMATIC"', '$[0].gtid')
+0
+SELECT JSON_CONTAINS(@json_doc, '"REPEATABLE READ"', '$[0].isolation');
+JSON_CONTAINS(@json_doc, '"REPEATABLE READ"', '$[0].isolation')
+1
+SELECT JSON_KEYS(JSON_EXTRACT(@json_doc, '$[0].statements_executed[0]'));
+JSON_KEYS(JSON_EXTRACT(@json_doc, '$[0].statements_executed[0]'))
+["sql_text", "time", "schema", "rows_examined", "rows_affected", "rows_sent", "tmp_tables", "tmp_disk_tables", "sort_rows", "sort_merge_passes"]
+SELECT JSON_CONTAINS_PATH(@json_doc, 'one', '$[0].statements_executed[0].time');
+JSON_CONTAINS_PATH(@json_doc, 'one', '$[0].statements_executed[0].time')
+1
+SELECT JSON_CONTAINS(@json_doc, '"INSERT INTO info VALUES (1, \'foo\')"', '$[0].statements_executed[0].sql_text');
+JSON_CONTAINS(@json_doc, '"INSERT INTO info VALUES (1, \'foo\')"', '$[0].statements_executed[0].sql_text')
+1
+SELECT JSON_CONTAINS(@json_doc, '"trx"', '$[0].statements_executed[0].schema');
+JSON_CONTAINS(@json_doc, '"trx"', '$[0].statements_executed[0].schema')
+1
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].rows_examined');
+JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].rows_examined')
+1
+SELECT JSON_CONTAINS(@json_doc, '1', '$[0].statements_executed[0].rows_affected');
+JSON_CONTAINS(@json_doc, '1', '$[0].statements_executed[0].rows_affected')
+1
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].rows_sent');
+JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].rows_sent')
+1
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].tmp_tables');
+JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].tmp_tables')
+1
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].tmp_disk_tables');
+JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].tmp_disk_tables')
+1
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].sort_rows');
+JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].sort_rows')
+1
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].sort_merge_passes');
+JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].sort_merge_passes')
+1
+SELECT JSON_CONTAINS(@json_doc, '"COMMIT"', '$[0].statements_executed[1].sql_text');
+JSON_CONTAINS(@json_doc, '"COMMIT"', '$[0].statements_executed[1].sql_text')
+1
+SET @sys.ps_thread_trx_info.max_length = 100;
+SELECT sys.ps_thread_trx_info(@ps_thread_id);
+sys.ps_thread_trx_info(@ps_thread_id)
+{ "error": "Trx info truncated: Row 1X was cut by GROUP_CONCAT()" }
+SET @sys.ps_thread_trx_info.max_length = NULL;
+SELECT JSON_VALID(sys.ps_thread_trx_info(@ps_thread_id));
+JSON_VALID(sys.ps_thread_trx_info(@ps_thread_id))
+1
+disconnect con1;
+DROP DATABASE trx;
diff --git a/mysql-test/suite/sysschema/r/fn_quote_identifier.result b/mysql-test/suite/sysschema/r/fn_quote_identifier.result
new file mode 100644
index 00000000000..5d0a496443f
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_quote_identifier.result
@@ -0,0 +1,21 @@
+SELECT sys.quote_identifier(NULL);
+sys.quote_identifier(NULL)
+NULL
+SELECT sys.quote_identifier('abc');
+sys.quote_identifier('abc')
+`abc`
+SELECT sys.quote_identifier('ab`c');
+sys.quote_identifier('ab`c')
+`ab``c`
+SELECT sys.quote_identifier('ab``c');
+sys.quote_identifier('ab``c')
+`ab````c`
+SELECT sys.quote_identifier('ab```c');
+sys.quote_identifier('ab```c')
+`ab``````c`
+SELECT sys.quote_identifier('a`b`c');
+sys.quote_identifier('a`b`c')
+`a``b``c`
+SELECT sys.quote_identifier('a`b``c');
+sys.quote_identifier('a`b``c')
+`a``b````c`
diff --git a/mysql-test/suite/sysschema/r/fn_sys_get_config.result b/mysql-test/suite/sysschema/r/fn_sys_get_config.result
new file mode 100644
index 00000000000..26345cfdd7f
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/fn_sys_get_config.result
@@ -0,0 +1,8 @@
+SET @sys.statement_truncate_len := IFNULL(@sys.statement_truncate_len, sys.sys_get_config('statement_truncate_len', 128));
+SELECT @sys.statement_truncate_len;
+@sys.statement_truncate_len
+64
+SET @sys.foo := IFNULL(@sys.foo, sys.sys_get_config('foo', 'foobar'));
+SELECT @sys.foo;
+@sys.foo
+foobar
diff --git a/mysql-test/suite/sysschema/r/mysqldump.result b/mysql-test/suite/sysschema/r/mysqldump.result
new file mode 100644
index 00000000000..43a4fcbf6a2
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/mysqldump.result
@@ -0,0 +1,25 @@
+CREATE TEMPORARY TABLE tmp_global_priv AS SELECT * FROM mysql.global_priv;
+CREATE TEMPORARY TABLE tmp_tables_priv AS SELECT * FROM mysql.tables_priv;
+DROP DATABASE sys;
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+sys
+test
+TRUNCATE TABLE mysql.global_priv;
+INSERT INTO mysql.global_priv (SELECT * FROM tmp_global_priv);
+DROP TEMPORARY TABLE tmp_global_priv;
+TRUNCATE TABLE mysql.tables_priv;
+INSERT INTO mysql.tables_priv (SELECT * FROM tmp_tables_priv);
+DROP TEMPORARY TABLE tmp_tables_priv;
+FLUSH PRIVILEGES;
diff --git a/mysql-test/suite/sysschema/r/pr_create_synonym_db.result b/mysql-test/suite/sysschema/r/pr_create_synonym_db.result
new file mode 100644
index 00000000000..bd7e4edc6e6
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_create_synonym_db.result
@@ -0,0 +1,52 @@
+CREATE TABLE t1 (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE TABLE t2 (t2_id int PRIMARY KEY, t1_id int, t2_val int, INDEX (t1_id));
+CREATE TABLE `is` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE SQL SECURITY INVOKER VIEW myview AS SELECT * FROM t1 NATURAL JOIN t2;
+CALL sys.create_synonym_db('test', 'test1');
+summary
+Created 5 views in the `test1` database
+SELECT TABLE_NAME, SECURITY_TYPE FROM information_schema.VIEWS WHERE TABLE_SCHEMA = 'test1' ORDER BY TABLE_NAME;
+TABLE_NAME SECURITY_TYPE
+ab`c INVOKER
+is INVOKER
+myview INVOKER
+t1 INVOKER
+t2 INVOKER
+CALL sys.create_synonym_db('test', 'test1');
+ERROR HY000: Can't create database test1; database exists
+CREATE SCHEMA test2;
+CALL sys.create_synonym_db('test', 'test2');
+ERROR HY000: Can't create database test2; database exists
+SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test2';
+COUNT(*)
+0
+CALL sys.create_synonym_db('test', 'is');
+summary
+Created 5 views in the `is` database
+SELECT TABLE_NAME, SECURITY_TYPE FROM information_schema.VIEWS WHERE TABLE_SCHEMA = 'is' ORDER BY TABLE_NAME;
+TABLE_NAME SECURITY_TYPE
+ab`c INVOKER
+is INVOKER
+myview INVOKER
+t1 INVOKER
+t2 INVOKER
+CALL sys.create_synonym_db('is', 'i`s');
+summary
+Created 5 views in the `i``s` database
+SELECT TABLE_NAME, SECURITY_TYPE FROM information_schema.VIEWS WHERE TABLE_SCHEMA = 'i`s' ORDER BY TABLE_NAME;
+TABLE_NAME SECURITY_TYPE
+ab`c INVOKER
+is INVOKER
+myview INVOKER
+t1 INVOKER
+t2 INVOKER
+DROP SCHEMA test1;
+DROP SCHEMA test2;
+DROP SCHEMA `is`;
+DROP SCHEMA `i``s`;
+DROP VIEW test.myview;
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP TABLE `is`;
+DROP TABLE `ab``c`;
diff --git a/mysql-test/suite/sysschema/r/pr_diagnostics.result b/mysql-test/suite/sysschema/r/pr_diagnostics.result
new file mode 100644
index 00000000000..d07295bdbe9
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_diagnostics.result
@@ -0,0 +1,15 @@
+SET @sys.debug = 'ON',
+@sys.diagnostics.allow_i_s_tables = 'ON',
+@sys.diagnostics.include_raw = 'ON';
+CALL sys.diagnostics(4, 2, 'full');
+SET @sys.debug = 'OFF',
+@sys.diagnostics.allow_i_s_tables = 'OFF',
+@sys.diagnostics.include_raw = 'OFF';
+CALL sys.diagnostics(0, 0, 'full');
+summary
+Disabled 1 thread
+ERROR 45000: in_max_runtime must be greater than 0
+CALL sys.diagnostics(2, 0, 'full');
+ERROR 45000: in_interval must be greater than 0
+CALL sys.diagnostics(1, 2, 'full');
+ERROR 45000: in_max_runtime must be greater than or equal to in_interval
diff --git a/mysql-test/suite/sysschema/r/pr_execute_prepared_stmt.result b/mysql-test/suite/sysschema/r/pr_execute_prepared_stmt.result
new file mode 100644
index 00000000000..8341580a856
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_execute_prepared_stmt.result
@@ -0,0 +1,21 @@
+SET @sql := "CREATE TABLE test.t1 (i INT) Engine=MEMORY";
+CALL sys.execute_prepared_stmt(@sql);
+SHOW CREATE TABLE test.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SET @sql := CONCAT('INSERT INTO test.t1 VALUES (', 1, ')');
+CALL sys.execute_prepared_stmt(@sql);
+SELECT * FROM test.t1;
+i
+1
+SET @sql := "DROP TABLE test.t1";
+CALL sys.execute_prepared_stmt(@sql);
+SHOW TABLES;
+Tables_in_test
+SET @sql = NULL;
+CALL sys.execute_prepared_stmt(NULL);
+ERROR 45000: The @sys.execute_prepared_stmt.sql must contain a query
+CALL sys.execute_prepared_stmt('foo');
+ERROR 45000: The @sys.execute_prepared_stmt.sql must contain a query
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_reset_to_default.result b/mysql-test/suite/sysschema/r/pr_ps_setup_reset_to_default.result
new file mode 100644
index 00000000000..78258de1a4c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_reset_to_default.result
@@ -0,0 +1,60 @@
+CALL sys.ps_setup_reset_to_default(TRUE);
+status
+Resetting: setup_actors
+DELETE
+FROM performance_schema.setup_actors
+ WHERE NOT (HOST = '%' AND USER = '%' AND ROLE = '%')
+status
+Resetting: setup_actors
+INSERT IGNORE INTO performance_schema.setup_actors
+VALUES ('%', '%', '%', 'YES', 'YES')
+status
+Resetting: setup_instruments
+UPDATE performance_schema.setup_instruments
+ SET ENABLED = sys.ps_is_instrument_default_enabled(NAME),
+ TIMED = sys.ps_is_instrument_default_timed(NAME)
+status
+Resetting: setup_consumers
+UPDATE performance_schema.setup_consumers
+ SET ENABLED = IF(NAME IN ('events_statements_current', 'events_transactions_current', 'global_instrumentation', 'thread_instrumentation', 'statements_digest'), 'YES', 'NO')
+status
+Resetting: setup_objects
+DELETE
+FROM performance_schema.setup_objects
+ WHERE NOT (OBJECT_TYPE IN ('EVENT', 'FUNCTION', 'PROCEDURE', 'TABLE', 'TRIGGER') AND OBJECT_NAME = '%'
+ AND (OBJECT_SCHEMA = 'mysql'AND ENABLED = 'NO'AND TIMED = 'NO' )
+OR (OBJECT_SCHEMA = 'performance_schema' AND ENABLED = 'NO'AND TIMED = 'NO' )
+OR (OBJECT_SCHEMA = 'information_schema' AND ENABLED = 'NO'AND TIMED = 'NO' )
+OR (OBJECT_SCHEMA = '%'AND ENABLED = 'YES' AND TIMED = 'YES'))
+status
+Resetting: setup_objects
+INSERT IGNORE INTO performance_schema.setup_objects
+VALUES ('EVENT', 'mysql' , '%', 'NO' , 'NO' ),
+ ('EVENT', 'performance_schema', '%', 'NO' , 'NO' ),
+ ('EVENT', 'information_schema', '%', 'NO' , 'NO' ),
+ ('EVENT', '%' , '%', 'YES', 'YES'),
+ ('FUNCTION' , 'mysql' , '%', 'NO' , 'NO' ),
+ ('FUNCTION' , 'performance_schema', '%', 'NO' , 'NO' ),
+ ('FUNCTION' , 'information_schema', '%', 'NO' , 'NO' ),
+ ('FUNCTION' , '%' , '%', 'YES', 'YES'),
+ ('PROCEDURE', 'mysql' , '%', 'NO' , 'NO' ),
+ ('PROCEDURE', 'performance_schema', '%', 'NO' , 'NO' ),
+ ('PROCEDURE', 'information_schema', '%', 'NO' , 'NO' ),
+ ('PROCEDURE', '%' , '%', 'YES', 'YES'),
+ ('TABLE', 'mysql' , '%', 'NO' , 'NO' ),
+ ('TABLE', 'performance_schema', '%', 'NO' , 'NO' ),
+ ('TABLE', 'information_schema', '%', 'NO' , 'NO' ),
+ ('TABLE', '%' , '%', 'YES', 'YES'),
+ ('TRIGGER', 'mysql' , '%', 'NO' , 'NO' ),
+ ('TRIGGER', 'performance_schema', '%', 'NO' , 'NO' ),
+ ('TRIGGER', 'information_schema', '%', 'NO' , 'NO' ),
+ ('TRIGGER', '%' , '%', 'YES', 'YES')
+status
+Resetting: threads
+UPDATE performance_schema.threads
+ SET INSTRUMENTED = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled.result b/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled.result
new file mode 100644
index 00000000000..cf8ca76e214
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled.result
@@ -0,0 +1,205 @@
+INSERT INTO performance_schema.setup_actors
+VALUES ('localhost', 'foo', '%', 'YES', 'YES'),
+('localhost', 'bar', '%', 'NO', 'NO');
+UPDATE performance_schema.setup_instruments
+SET ENABLED = 'NO'
+ WHERE NAME LIKE 'stage/innodb/%'
+ OR NAME LIKE 'statement/com/%'
+ OR NAME = 'idle';
+UPDATE performance_schema.setup_consumers
+SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+UPDATE performance_schema.threads SET INSTRUMENTED = 'NO' WHERE NAME LIKE 'thread/innodb/srv\_%';
+CALL sys.ps_setup_show_disabled(FALSE, FALSE);
+performance_schema_enabled
+1
+object_type objects enabled timed
+EVENT information_schema.% NO NO
+EVENT mysql.% NO NO
+EVENT performance_schema.% NO NO
+FUNCTION information_schema.% NO NO
+FUNCTION mysql.% NO NO
+FUNCTION performance_schema.% NO NO
+PROCEDURE information_schema.% NO NO
+PROCEDURE mysql.% NO NO
+PROCEDURE performance_schema.% NO NO
+TABLE information_schema.% NO NO
+TABLE mysql.% NO NO
+TABLE performance_schema.% NO NO
+TRIGGER information_schema.% NO NO
+TRIGGER mysql.% NO NO
+TRIGGER performance_schema.% NO NO
+disabled_consumers
+events_stages_history_long
+events_statements_history_long
+events_transactions_history_long
+events_waits_history_long
+CALL sys.ps_setup_show_disabled(TRUE, FALSE);
+performance_schema_enabled
+1
+object_type objects enabled timed
+EVENT information_schema.% NO NO
+EVENT mysql.% NO NO
+EVENT performance_schema.% NO NO
+FUNCTION information_schema.% NO NO
+FUNCTION mysql.% NO NO
+FUNCTION performance_schema.% NO NO
+PROCEDURE information_schema.% NO NO
+PROCEDURE mysql.% NO NO
+PROCEDURE performance_schema.% NO NO
+TABLE information_schema.% NO NO
+TABLE mysql.% NO NO
+TABLE performance_schema.% NO NO
+TRIGGER information_schema.% NO NO
+TRIGGER mysql.% NO NO
+TRIGGER performance_schema.% NO NO
+disabled_consumers
+events_stages_history_long
+events_statements_history_long
+events_transactions_history_long
+events_waits_history_long
+disabled_instruments timed
+idle YES
+stage/innodb/alter table (end) YES
+stage/innodb/alter table (insert) YES
+stage/innodb/alter table (log apply index) YES
+stage/innodb/alter table (log apply table) YES
+stage/innodb/alter table (merge sort) YES
+stage/innodb/alter table (read PK and internal sort) YES
+stage/innodb/buffer pool load YES
+statement/com/Binlog Dump YES
+statement/com/Bulk_execute YES
+statement/com/Change user YES
+statement/com/Close stmt YES
+statement/com/Connect YES
+statement/com/Connect Out YES
+statement/com/Create DB YES
+statement/com/Daemon YES
+statement/com/Debug YES
+statement/com/Delayed insert YES
+statement/com/Drop DB YES
+statement/com/Error YES
+statement/com/Execute YES
+statement/com/Fetch YES
+statement/com/Field List YES
+statement/com/Init DB YES
+statement/com/Kill YES
+statement/com/Long Data YES
+statement/com/Ping YES
+statement/com/Prepare YES
+statement/com/Processlist YES
+statement/com/Quit YES
+statement/com/Refresh YES
+statement/com/Register Slave YES
+statement/com/Reset connection YES
+statement/com/Reset stmt YES
+statement/com/Set option YES
+statement/com/Shutdown YES
+statement/com/Slave_IO YES
+statement/com/Slave_SQL YES
+statement/com/Slave_worker YES
+statement/com/Sleep YES
+statement/com/Statistics YES
+statement/com/Table Dump YES
+statement/com/Time YES
+statement/com/Unimpl get tid YES
+CALL sys.ps_setup_show_disabled(FALSE, TRUE);
+performance_schema_enabled
+1
+object_type objects enabled timed
+EVENT information_schema.% NO NO
+EVENT mysql.% NO NO
+EVENT performance_schema.% NO NO
+FUNCTION information_schema.% NO NO
+FUNCTION mysql.% NO NO
+FUNCTION performance_schema.% NO NO
+PROCEDURE information_schema.% NO NO
+PROCEDURE mysql.% NO NO
+PROCEDURE performance_schema.% NO NO
+TABLE information_schema.% NO NO
+TABLE mysql.% NO NO
+TABLE performance_schema.% NO NO
+TRIGGER information_schema.% NO NO
+TRIGGER mysql.% NO NO
+TRIGGER performance_schema.% NO NO
+disabled_consumers
+events_stages_history_long
+events_statements_history_long
+events_transactions_history_long
+events_waits_history_long
+disabled_threads thread_type
+CALL sys.ps_setup_show_disabled(TRUE, TRUE);
+performance_schema_enabled
+1
+object_type objects enabled timed
+EVENT information_schema.% NO NO
+EVENT mysql.% NO NO
+EVENT performance_schema.% NO NO
+FUNCTION information_schema.% NO NO
+FUNCTION mysql.% NO NO
+FUNCTION performance_schema.% NO NO
+PROCEDURE information_schema.% NO NO
+PROCEDURE mysql.% NO NO
+PROCEDURE performance_schema.% NO NO
+TABLE information_schema.% NO NO
+TABLE mysql.% NO NO
+TABLE performance_schema.% NO NO
+TRIGGER information_schema.% NO NO
+TRIGGER mysql.% NO NO
+TRIGGER performance_schema.% NO NO
+disabled_consumers
+events_stages_history_long
+events_statements_history_long
+events_transactions_history_long
+events_waits_history_long
+disabled_threads thread_type
+disabled_instruments timed
+idle YES
+stage/innodb/alter table (end) YES
+stage/innodb/alter table (insert) YES
+stage/innodb/alter table (log apply index) YES
+stage/innodb/alter table (log apply table) YES
+stage/innodb/alter table (merge sort) YES
+stage/innodb/alter table (read PK and internal sort) YES
+stage/innodb/buffer pool load YES
+statement/com/Binlog Dump YES
+statement/com/Bulk_execute YES
+statement/com/Change user YES
+statement/com/Close stmt YES
+statement/com/Connect YES
+statement/com/Connect Out YES
+statement/com/Create DB YES
+statement/com/Daemon YES
+statement/com/Debug YES
+statement/com/Delayed insert YES
+statement/com/Drop DB YES
+statement/com/Error YES
+statement/com/Execute YES
+statement/com/Fetch YES
+statement/com/Field List YES
+statement/com/Init DB YES
+statement/com/Kill YES
+statement/com/Long Data YES
+statement/com/Ping YES
+statement/com/Prepare YES
+statement/com/Processlist YES
+statement/com/Quit YES
+statement/com/Refresh YES
+statement/com/Register Slave YES
+statement/com/Reset connection YES
+statement/com/Reset stmt YES
+statement/com/Set option YES
+statement/com/Shutdown YES
+statement/com/Slave_IO YES
+statement/com/Slave_SQL YES
+statement/com/Slave_worker YES
+statement/com/Sleep YES
+statement/com/Statistics YES
+statement/com/Table Dump YES
+statement/com/Time YES
+statement/com/Unimpl get tid YES
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_consumers.result b/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_consumers.result
new file mode 100644
index 00000000000..c9aae2d2444
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_consumers.result
@@ -0,0 +1,14 @@
+UPDATE performance_schema.setup_consumers
+SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+CALL sys.ps_setup_show_disabled_consumers();
+disabled_consumers
+events_stages_history_long
+events_statements_history_long
+events_transactions_history_long
+events_waits_history_long
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_instruments.result b/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_instruments.result
new file mode 100644
index 00000000000..b0aa5f6d357
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_show_disabled_instruments.result
@@ -0,0 +1,56 @@
+UPDATE performance_schema.setup_instruments
+SET ENABLED = 'NO'
+ WHERE NAME LIKE 'stage/innodb/%'
+ OR NAME LIKE 'statement/com/%'
+ OR NAME = 'idle';
+CALL sys.ps_setup_show_disabled_instruments();
+disabled_instruments timed
+idle YES
+stage/innodb/alter table (end) YES
+stage/innodb/alter table (insert) YES
+stage/innodb/alter table (log apply index) YES
+stage/innodb/alter table (log apply table) YES
+stage/innodb/alter table (merge sort) YES
+stage/innodb/alter table (read PK and internal sort) YES
+stage/innodb/buffer pool load YES
+statement/com/Binlog Dump YES
+statement/com/Bulk_execute YES
+statement/com/Change user YES
+statement/com/Close stmt YES
+statement/com/Connect YES
+statement/com/Connect Out YES
+statement/com/Create DB YES
+statement/com/Daemon YES
+statement/com/Debug YES
+statement/com/Delayed insert YES
+statement/com/Drop DB YES
+statement/com/Error YES
+statement/com/Execute YES
+statement/com/Fetch YES
+statement/com/Field List YES
+statement/com/Init DB YES
+statement/com/Kill YES
+statement/com/Long Data YES
+statement/com/Ping YES
+statement/com/Prepare YES
+statement/com/Processlist YES
+statement/com/Quit YES
+statement/com/Refresh YES
+statement/com/Register Slave YES
+statement/com/Reset connection YES
+statement/com/Reset stmt YES
+statement/com/Set option YES
+statement/com/Shutdown YES
+statement/com/Slave_IO YES
+statement/com/Slave_SQL YES
+statement/com/Slave_worker YES
+statement/com/Sleep YES
+statement/com/Statistics YES
+statement/com/Table Dump YES
+statement/com/Time YES
+statement/com/Unimpl get tid YES
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled.result b/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled.result
new file mode 100644
index 00000000000..261ccb191ed
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled.result
@@ -0,0 +1,362 @@
+INSERT INTO performance_schema.setup_actors
+VALUES ('localhost', 'foo', '%', 'YES', 'YES'),
+('localhost', 'bar', '%', 'NO', 'NO');
+UPDATE performance_schema.setup_instruments
+SET ENABLED = 'NO'
+ WHERE NAME NOT LIKE 'memory/performance_schema/%'
+ AND NAME NOT LIKE 'stage/innodb/%'
+ AND NAME NOT LIKE 'statement/com/%'
+ AND NAME <> 'idle';
+UPDATE performance_schema.setup_consumers
+SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+UPDATE performance_schema.threads
+SET INSTRUMENTED = 'NO'
+ WHERE NAME LIKE 'thread/innodb/srv\_%'
+ OR NAME LIKE '%con\_%'
+ OR NAME LIKE '%signal_handler%';
+CALL sys.ps_setup_show_enabled(FALSE, FALSE);
+performance_schema_enabled
+1
+enabled_users
+'%'@'%'
+'foo'@'localhost'
+object_type objects enabled timed
+EVENT %.% YES YES
+FUNCTION %.% YES YES
+PROCEDURE %.% YES YES
+TABLE %.% YES YES
+TRIGGER %.% YES YES
+enabled_consumers
+events_stages_current
+events_stages_history
+events_statements_current
+events_statements_history
+events_transactions_current
+events_transactions_history
+events_waits_current
+events_waits_history
+global_instrumentation
+statements_digest
+thread_instrumentation
+CALL sys.ps_setup_show_enabled(TRUE, FALSE);
+performance_schema_enabled
+1
+enabled_users
+'%'@'%'
+'foo'@'localhost'
+object_type objects enabled timed
+EVENT %.% YES YES
+FUNCTION %.% YES YES
+PROCEDURE %.% YES YES
+TABLE %.% YES YES
+TRIGGER %.% YES YES
+enabled_consumers
+events_stages_current
+events_stages_history
+events_statements_current
+events_statements_history
+events_transactions_current
+events_transactions_history
+events_waits_current
+events_waits_history
+global_instrumentation
+statements_digest
+thread_instrumentation
+enabled_instruments timed
+idle YES
+memory/performance_schema/accounts NO
+memory/performance_schema/cond_class NO
+memory/performance_schema/cond_instances NO
+memory/performance_schema/events_stages_history NO
+memory/performance_schema/events_stages_history_long NO
+memory/performance_schema/events_stages_summary_by_account_by_event_name NO
+memory/performance_schema/events_stages_summary_by_host_by_event_name NO
+memory/performance_schema/events_stages_summary_by_thread_by_event_name NO
+memory/performance_schema/events_stages_summary_by_user_by_event_name NO
+memory/performance_schema/events_stages_summary_global_by_event_name NO
+memory/performance_schema/events_statements_current NO
+memory/performance_schema/events_statements_current.sqltext NO
+memory/performance_schema/events_statements_current.tokens NO
+memory/performance_schema/events_statements_history NO
+memory/performance_schema/events_statements_history.sqltext NO
+memory/performance_schema/events_statements_history.tokens NO
+memory/performance_schema/events_statements_history_long NO
+memory/performance_schema/events_statements_history_long.sqltext NO
+memory/performance_schema/events_statements_history_long.tokens NO
+memory/performance_schema/events_statements_summary_by_account_by_event_name NO
+memory/performance_schema/events_statements_summary_by_digest NO
+memory/performance_schema/events_statements_summary_by_digest.tokens NO
+memory/performance_schema/events_statements_summary_by_host_by_event_name NO
+memory/performance_schema/events_statements_summary_by_program NO
+memory/performance_schema/events_statements_summary_by_thread_by_event_name NO
+memory/performance_schema/events_statements_summary_by_user_by_event_name NO
+memory/performance_schema/events_statements_summary_global_by_event_name NO
+memory/performance_schema/events_transactions_history NO
+memory/performance_schema/events_transactions_history_long NO
+memory/performance_schema/events_transactions_summary_by_account_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_host_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_thread_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_user_by_event_name NO
+memory/performance_schema/events_waits_history NO
+memory/performance_schema/events_waits_history_long NO
+memory/performance_schema/events_waits_summary_by_account_by_event_name NO
+memory/performance_schema/events_waits_summary_by_host_by_event_name NO
+memory/performance_schema/events_waits_summary_by_thread_by_event_name NO
+memory/performance_schema/events_waits_summary_by_user_by_event_name NO
+memory/performance_schema/file_class NO
+memory/performance_schema/file_handle NO
+memory/performance_schema/file_instances NO
+memory/performance_schema/hosts NO
+memory/performance_schema/memory_class NO
+memory/performance_schema/memory_summary_by_account_by_event_name NO
+memory/performance_schema/memory_summary_by_host_by_event_name NO
+memory/performance_schema/memory_summary_by_thread_by_event_name NO
+memory/performance_schema/memory_summary_by_user_by_event_name NO
+memory/performance_schema/memory_summary_global_by_event_name NO
+memory/performance_schema/metadata_locks NO
+memory/performance_schema/mutex_class NO
+memory/performance_schema/mutex_instances NO
+memory/performance_schema/prepared_statements_instances NO
+memory/performance_schema/rwlock_class NO
+memory/performance_schema/rwlock_instances NO
+memory/performance_schema/scalable_buffer NO
+memory/performance_schema/session_connect_attrs NO
+memory/performance_schema/setup_actors NO
+memory/performance_schema/setup_objects NO
+memory/performance_schema/socket_class NO
+memory/performance_schema/socket_instances NO
+memory/performance_schema/stage_class NO
+memory/performance_schema/statement_class NO
+memory/performance_schema/table_handles NO
+memory/performance_schema/table_io_waits_summary_by_index_usage NO
+memory/performance_schema/table_lock_waits_summary_by_table NO
+memory/performance_schema/table_shares NO
+memory/performance_schema/threads NO
+memory/performance_schema/thread_class NO
+memory/performance_schema/users NO
+stage/innodb/alter table (end) YES
+stage/innodb/alter table (insert) YES
+stage/innodb/alter table (log apply index) YES
+stage/innodb/alter table (log apply table) YES
+stage/innodb/alter table (merge sort) YES
+stage/innodb/alter table (read PK and internal sort) YES
+stage/innodb/buffer pool load YES
+statement/com/Binlog Dump YES
+statement/com/Bulk_execute YES
+statement/com/Change user YES
+statement/com/Close stmt YES
+statement/com/Connect YES
+statement/com/Connect Out YES
+statement/com/Create DB YES
+statement/com/Daemon YES
+statement/com/Debug YES
+statement/com/Delayed insert YES
+statement/com/Drop DB YES
+statement/com/Error YES
+statement/com/Execute YES
+statement/com/Fetch YES
+statement/com/Field List YES
+statement/com/Init DB YES
+statement/com/Kill YES
+statement/com/Long Data YES
+statement/com/Ping YES
+statement/com/Prepare YES
+statement/com/Processlist YES
+statement/com/Quit YES
+statement/com/Refresh YES
+statement/com/Register Slave YES
+statement/com/Reset connection YES
+statement/com/Reset stmt YES
+statement/com/Set option YES
+statement/com/Shutdown YES
+statement/com/Slave_IO YES
+statement/com/Slave_SQL YES
+statement/com/Slave_worker YES
+statement/com/Sleep YES
+statement/com/Statistics YES
+statement/com/Table Dump YES
+statement/com/Time YES
+statement/com/Unimpl get tid YES
+CALL sys.ps_setup_show_enabled(FALSE, TRUE);
+performance_schema_enabled
+1
+enabled_users
+'%'@'%'
+'foo'@'localhost'
+object_type objects enabled timed
+EVENT %.% YES YES
+FUNCTION %.% YES YES
+PROCEDURE %.% YES YES
+TABLE %.% YES YES
+TRIGGER %.% YES YES
+enabled_consumers
+events_stages_current
+events_stages_history
+events_statements_current
+events_statements_history
+events_transactions_current
+events_transactions_history
+events_waits_current
+events_waits_history
+global_instrumentation
+statements_digest
+thread_instrumentation
+enabled_threads thread_type
+aria/checkpoint_background BACKGROUND
+innodb/page_cleaner_thread BACKGROUND
+mysys/statement_timer BACKGROUND
+root@localhost FOREGROUND
+sql/main BACKGROUND
+sql/manager BACKGROUND
+CALL sys.ps_setup_show_enabled(TRUE, TRUE);
+performance_schema_enabled
+1
+enabled_users
+'%'@'%'
+'foo'@'localhost'
+object_type objects enabled timed
+EVENT %.% YES YES
+FUNCTION %.% YES YES
+PROCEDURE %.% YES YES
+TABLE %.% YES YES
+TRIGGER %.% YES YES
+enabled_consumers
+events_stages_current
+events_stages_history
+events_statements_current
+events_statements_history
+events_transactions_current
+events_transactions_history
+events_waits_current
+events_waits_history
+global_instrumentation
+statements_digest
+thread_instrumentation
+enabled_threads thread_type
+aria/checkpoint_background BACKGROUND
+innodb/page_cleaner_thread BACKGROUND
+mysys/statement_timer BACKGROUND
+root@localhost FOREGROUND
+sql/main BACKGROUND
+sql/manager BACKGROUND
+enabled_instruments timed
+idle YES
+memory/performance_schema/accounts NO
+memory/performance_schema/cond_class NO
+memory/performance_schema/cond_instances NO
+memory/performance_schema/events_stages_history NO
+memory/performance_schema/events_stages_history_long NO
+memory/performance_schema/events_stages_summary_by_account_by_event_name NO
+memory/performance_schema/events_stages_summary_by_host_by_event_name NO
+memory/performance_schema/events_stages_summary_by_thread_by_event_name NO
+memory/performance_schema/events_stages_summary_by_user_by_event_name NO
+memory/performance_schema/events_stages_summary_global_by_event_name NO
+memory/performance_schema/events_statements_current NO
+memory/performance_schema/events_statements_current.sqltext NO
+memory/performance_schema/events_statements_current.tokens NO
+memory/performance_schema/events_statements_history NO
+memory/performance_schema/events_statements_history.sqltext NO
+memory/performance_schema/events_statements_history.tokens NO
+memory/performance_schema/events_statements_history_long NO
+memory/performance_schema/events_statements_history_long.sqltext NO
+memory/performance_schema/events_statements_history_long.tokens NO
+memory/performance_schema/events_statements_summary_by_account_by_event_name NO
+memory/performance_schema/events_statements_summary_by_digest NO
+memory/performance_schema/events_statements_summary_by_digest.tokens NO
+memory/performance_schema/events_statements_summary_by_host_by_event_name NO
+memory/performance_schema/events_statements_summary_by_program NO
+memory/performance_schema/events_statements_summary_by_thread_by_event_name NO
+memory/performance_schema/events_statements_summary_by_user_by_event_name NO
+memory/performance_schema/events_statements_summary_global_by_event_name NO
+memory/performance_schema/events_transactions_history NO
+memory/performance_schema/events_transactions_history_long NO
+memory/performance_schema/events_transactions_summary_by_account_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_host_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_thread_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_user_by_event_name NO
+memory/performance_schema/events_waits_history NO
+memory/performance_schema/events_waits_history_long NO
+memory/performance_schema/events_waits_summary_by_account_by_event_name NO
+memory/performance_schema/events_waits_summary_by_host_by_event_name NO
+memory/performance_schema/events_waits_summary_by_thread_by_event_name NO
+memory/performance_schema/events_waits_summary_by_user_by_event_name NO
+memory/performance_schema/file_class NO
+memory/performance_schema/file_handle NO
+memory/performance_schema/file_instances NO
+memory/performance_schema/hosts NO
+memory/performance_schema/memory_class NO
+memory/performance_schema/memory_summary_by_account_by_event_name NO
+memory/performance_schema/memory_summary_by_host_by_event_name NO
+memory/performance_schema/memory_summary_by_thread_by_event_name NO
+memory/performance_schema/memory_summary_by_user_by_event_name NO
+memory/performance_schema/memory_summary_global_by_event_name NO
+memory/performance_schema/metadata_locks NO
+memory/performance_schema/mutex_class NO
+memory/performance_schema/mutex_instances NO
+memory/performance_schema/prepared_statements_instances NO
+memory/performance_schema/rwlock_class NO
+memory/performance_schema/rwlock_instances NO
+memory/performance_schema/scalable_buffer NO
+memory/performance_schema/session_connect_attrs NO
+memory/performance_schema/setup_actors NO
+memory/performance_schema/setup_objects NO
+memory/performance_schema/socket_class NO
+memory/performance_schema/socket_instances NO
+memory/performance_schema/stage_class NO
+memory/performance_schema/statement_class NO
+memory/performance_schema/table_handles NO
+memory/performance_schema/table_io_waits_summary_by_index_usage NO
+memory/performance_schema/table_lock_waits_summary_by_table NO
+memory/performance_schema/table_shares NO
+memory/performance_schema/threads NO
+memory/performance_schema/thread_class NO
+memory/performance_schema/users NO
+stage/innodb/alter table (end) YES
+stage/innodb/alter table (insert) YES
+stage/innodb/alter table (log apply index) YES
+stage/innodb/alter table (log apply table) YES
+stage/innodb/alter table (merge sort) YES
+stage/innodb/alter table (read PK and internal sort) YES
+stage/innodb/buffer pool load YES
+statement/com/Binlog Dump YES
+statement/com/Bulk_execute YES
+statement/com/Change user YES
+statement/com/Close stmt YES
+statement/com/Connect YES
+statement/com/Connect Out YES
+statement/com/Create DB YES
+statement/com/Daemon YES
+statement/com/Debug YES
+statement/com/Delayed insert YES
+statement/com/Drop DB YES
+statement/com/Error YES
+statement/com/Execute YES
+statement/com/Fetch YES
+statement/com/Field List YES
+statement/com/Init DB YES
+statement/com/Kill YES
+statement/com/Long Data YES
+statement/com/Ping YES
+statement/com/Prepare YES
+statement/com/Processlist YES
+statement/com/Quit YES
+statement/com/Refresh YES
+statement/com/Register Slave YES
+statement/com/Reset connection YES
+statement/com/Reset stmt YES
+statement/com/Set option YES
+statement/com/Shutdown YES
+statement/com/Slave_IO YES
+statement/com/Slave_SQL YES
+statement/com/Slave_worker YES
+statement/com/Sleep YES
+statement/com/Statistics YES
+statement/com/Table Dump YES
+statement/com/Time YES
+statement/com/Unimpl get tid YES
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_consumers.result b/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_consumers.result
new file mode 100644
index 00000000000..283a58f60d2
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_consumers.result
@@ -0,0 +1,21 @@
+UPDATE performance_schema.setup_consumers
+SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+CALL sys.ps_setup_show_enabled_consumers();
+enabled_consumers
+events_stages_current
+events_stages_history
+events_statements_current
+events_statements_history
+events_transactions_current
+events_transactions_history
+events_waits_current
+events_waits_history
+global_instrumentation
+statements_digest
+thread_instrumentation
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_instruments.result b/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_instruments.result
new file mode 100644
index 00000000000..36399f0d0cc
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_setup_show_enabled_instruments.result
@@ -0,0 +1,127 @@
+UPDATE performance_schema.setup_instruments
+SET ENABLED = 'NO'
+ WHERE NAME NOT LIKE 'memory/performance_schema/%'
+ AND NAME NOT LIKE 'stage/innodb/%'
+ AND NAME NOT LIKE 'statement/com/%'
+ AND NAME <> 'idle';
+CALL sys.ps_setup_show_enabled_instruments();
+enabled_instruments timed
+idle YES
+memory/performance_schema/accounts NO
+memory/performance_schema/cond_class NO
+memory/performance_schema/cond_instances NO
+memory/performance_schema/events_stages_history NO
+memory/performance_schema/events_stages_history_long NO
+memory/performance_schema/events_stages_summary_by_account_by_event_name NO
+memory/performance_schema/events_stages_summary_by_host_by_event_name NO
+memory/performance_schema/events_stages_summary_by_thread_by_event_name NO
+memory/performance_schema/events_stages_summary_by_user_by_event_name NO
+memory/performance_schema/events_stages_summary_global_by_event_name NO
+memory/performance_schema/events_statements_current NO
+memory/performance_schema/events_statements_current.sqltext NO
+memory/performance_schema/events_statements_current.tokens NO
+memory/performance_schema/events_statements_history NO
+memory/performance_schema/events_statements_history.sqltext NO
+memory/performance_schema/events_statements_history.tokens NO
+memory/performance_schema/events_statements_history_long NO
+memory/performance_schema/events_statements_history_long.sqltext NO
+memory/performance_schema/events_statements_history_long.tokens NO
+memory/performance_schema/events_statements_summary_by_account_by_event_name NO
+memory/performance_schema/events_statements_summary_by_digest NO
+memory/performance_schema/events_statements_summary_by_digest.tokens NO
+memory/performance_schema/events_statements_summary_by_host_by_event_name NO
+memory/performance_schema/events_statements_summary_by_program NO
+memory/performance_schema/events_statements_summary_by_thread_by_event_name NO
+memory/performance_schema/events_statements_summary_by_user_by_event_name NO
+memory/performance_schema/events_statements_summary_global_by_event_name NO
+memory/performance_schema/events_transactions_history NO
+memory/performance_schema/events_transactions_history_long NO
+memory/performance_schema/events_transactions_summary_by_account_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_host_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_thread_by_event_name NO
+memory/performance_schema/events_transactions_summary_by_user_by_event_name NO
+memory/performance_schema/events_waits_history NO
+memory/performance_schema/events_waits_history_long NO
+memory/performance_schema/events_waits_summary_by_account_by_event_name NO
+memory/performance_schema/events_waits_summary_by_host_by_event_name NO
+memory/performance_schema/events_waits_summary_by_thread_by_event_name NO
+memory/performance_schema/events_waits_summary_by_user_by_event_name NO
+memory/performance_schema/file_class NO
+memory/performance_schema/file_handle NO
+memory/performance_schema/file_instances NO
+memory/performance_schema/hosts NO
+memory/performance_schema/memory_class NO
+memory/performance_schema/memory_summary_by_account_by_event_name NO
+memory/performance_schema/memory_summary_by_host_by_event_name NO
+memory/performance_schema/memory_summary_by_thread_by_event_name NO
+memory/performance_schema/memory_summary_by_user_by_event_name NO
+memory/performance_schema/memory_summary_global_by_event_name NO
+memory/performance_schema/metadata_locks NO
+memory/performance_schema/mutex_class NO
+memory/performance_schema/mutex_instances NO
+memory/performance_schema/prepared_statements_instances NO
+memory/performance_schema/rwlock_class NO
+memory/performance_schema/rwlock_instances NO
+memory/performance_schema/scalable_buffer NO
+memory/performance_schema/session_connect_attrs NO
+memory/performance_schema/setup_actors NO
+memory/performance_schema/setup_objects NO
+memory/performance_schema/socket_class NO
+memory/performance_schema/socket_instances NO
+memory/performance_schema/stage_class NO
+memory/performance_schema/statement_class NO
+memory/performance_schema/table_handles NO
+memory/performance_schema/table_io_waits_summary_by_index_usage NO
+memory/performance_schema/table_lock_waits_summary_by_table NO
+memory/performance_schema/table_shares NO
+memory/performance_schema/threads NO
+memory/performance_schema/thread_class NO
+memory/performance_schema/users NO
+stage/innodb/alter table (end) YES
+stage/innodb/alter table (insert) YES
+stage/innodb/alter table (log apply index) YES
+stage/innodb/alter table (log apply table) YES
+stage/innodb/alter table (merge sort) YES
+stage/innodb/alter table (read PK and internal sort) YES
+stage/innodb/buffer pool load YES
+statement/com/Binlog Dump YES
+statement/com/Bulk_execute YES
+statement/com/Change user YES
+statement/com/Close stmt YES
+statement/com/Connect YES
+statement/com/Connect Out YES
+statement/com/Create DB YES
+statement/com/Daemon YES
+statement/com/Debug YES
+statement/com/Delayed insert YES
+statement/com/Drop DB YES
+statement/com/Error YES
+statement/com/Execute YES
+statement/com/Fetch YES
+statement/com/Field List YES
+statement/com/Init DB YES
+statement/com/Kill YES
+statement/com/Long Data YES
+statement/com/Ping YES
+statement/com/Prepare YES
+statement/com/Processlist YES
+statement/com/Quit YES
+statement/com/Refresh YES
+statement/com/Register Slave YES
+statement/com/Reset connection YES
+statement/com/Reset stmt YES
+statement/com/Set option YES
+statement/com/Shutdown YES
+statement/com/Slave_IO YES
+statement/com/Slave_SQL YES
+statement/com/Slave_worker YES
+statement/com/Sleep YES
+statement/com/Statistics YES
+statement/com/Table Dump YES
+statement/com/Time YES
+statement/com/Unimpl get tid YES
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+TRUNCATE TABLE performance_schema.setup_actors;
+INSERT INTO performance_schema.setup_actors VALUES ('%', '%', '%', 'YES', 'YES');
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
diff --git a/mysql-test/suite/sysschema/r/pr_ps_trace_statement_digest.result b/mysql-test/suite/sysschema/r/pr_ps_trace_statement_digest.result
new file mode 100644
index 00000000000..25be758172b
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_ps_trace_statement_digest.result
@@ -0,0 +1,30 @@
+use test;
+SET @threadid = sys.ps_thread_id(NULL);
+CREATE TABLE t1 (id INT PRIMARY KEY, val int) ENGINE=MEMORY;
+INSERT INTO test.t1 VALUES (1, 9);
+SET @digest.insert = (SELECT DIGEST FROM performance_schema.events_statements_history WHERE THREAD_ID = @threadid AND SQL_TEXT LIKE 'INSERT INTO test.t1 VALUES (1, 9)');
+SELECT * FROM t1;
+id val
+1 9
+SET @digest.select = (SELECT DIGEST FROM performance_schema.events_statements_history WHERE THREAD_ID = @threadid AND SQL_TEXT LIKE 'SELECT * FROM t1');
+SHOW CREATE TABLE test.t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `val` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
+SET @digest.show = (SELECT DIGEST FROM performance_schema.events_statements_history WHERE THREAD_ID = @threadid AND SQL_TEXT LIKE 'SHOW CREATE TABLE test.t1');
+CREATE SCHEMA test_sys;
+use test_sys;
+CALL sys.ps_trace_statement_digest(@digest.insert, 0.5, 0.1, FALSE, FALSE);
+CALL sys.ps_trace_statement_digest(@digest.select, 0.5, 0.1, FALSE, FALSE);
+CALL sys.ps_trace_statement_digest(@digest.show , 0.5, 0.1, FALSE, FALSE);
+CALL sys.ps_trace_statement_digest(@digest.insert, 0.5, 0.1, TRUE , FALSE);
+use test;
+DROP SCHEMA test_sys;
+DROP TABLE t1;
+SET @threadid = NULL,
+@digest.insert = NULL,
+@digest.select = NULL,
+@digest.show = NULL;
diff --git a/mysql-test/suite/sysschema/r/pr_statement_performance_analyzer.result b/mysql-test/suite/sysschema/r/pr_statement_performance_analyzer.result
new file mode 100644
index 00000000000..df084f8c1a5
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_statement_performance_analyzer.result
@@ -0,0 +1,211 @@
+use test;
+DROP TABLE IF EXISTS t1;
+DROP TEMPORARY TABLE IF EXISTS tmp_digests_ini;
+DROP VIEW IF EXISTS view_digests;
+CREATE TABLE t1 (id INT PRIMARY KEY, val int);
+connect con1,localhost,root,,;
+connection con1;
+use test;
+connection default;
+UPDATE performance_schema.threads SET INSTRUMENTED = IF(THREAD_ID = CON1_THREAD_ID, 'YES', 'NO');
+CALL sys.ps_setup_enable_consumer('events_statements_history_long');
+CALL sys.ps_truncate_all_tables(FALSE);
+connection con1;
+INSERT INTO t1 VALUES (1, 0);
+connection default;
+connection con1;
+UPDATE t1 SET val = 1 WHERE id = 1;
+connection default;
+connection con1;
+SELECT t1a.* FROM t1 AS t1a LEFT OUTER JOIN (SELECT * FROM t1 AS t1b1 INNER JOIN t1 AS t1b2 USING (id, val)) AS t1b ON t1b.id > t1a.id ORDER BY t1a.val, t1a.id;
+id val
+1 1
+connection default;
+CALL sys.statement_performance_analyzer('create_tmp', 'test.tmp_digests_ini', NULL);
+CALL sys.statement_performance_analyzer('snapshot', NULL, NULL);
+CALL sys.statement_performance_analyzer('save', 'test.tmp_digests_ini', NULL);
+DO SLEEP(1.2);
+connection con1;
+INSERT INTO t1 VALUES (2, 0);
+UPDATE t1 SET val = 1 WHERE id = 2;
+SELECT t1a.* FROM t1 AS t1a LEFT OUTER JOIN (SELECT * FROM t1 AS t1b1 INNER JOIN t1 AS t1b2 USING (id, val)) AS t1b ON t1b.id > t1a.id ORDER BY t1a.val, t1a.id;
+id val
+1 1
+2 1
+disconnect con1;
+connection default;
+CALL sys.statement_performance_analyzer('snapshot', NULL, NULL);
+SELECT DIGEST, COUNT_STAR FROM performance_schema.events_statements_summary_by_digest;
+DIGEST COUNT_STAR
+DIGEST_INSERT 2
+DIGEST_SELECT 2
+DIGEST_UPDATE 2
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_runtimes_in_95th_percentile');
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_runtimes_in_95th_percentile');
+CALL sys.statement_performance_analyzer('overall', NULL, 'analysis');
+Next Output
+QUERY_INSERT test 2 0 0 LATENCY LATENCY LATENCY LATENCY 0 0 0 0 2 1 0 0 0 0 DIGEST_INSERT FIRST_SEEN LAST_SEEN
+QUERY_SELECT test * 2 0 0 LATENCY LATENCY LATENCY LATENCY 3 2 9 5 0 0 0 0 2 0 DIGEST_SELECT FIRST_SEEN LAST_SEEN
+QUERY_UPDATE test 2 0 0 LATENCY LATENCY LATENCY LATENCY 0 0 2 1 2 1 0 0 0 0 DIGEST_UPDATE FIRST_SEEN LAST_SEEN
+Top 100 Queries Ordered by Total Latency
+query db full_scan exec_count err_count warn_count total_latency max_latency avg_latency lock_latency rows_sent rows_sent_avg rows_examined rows_examined_avg rows_affected rows_affected_avg tmp_tables tmp_disk_tables rows_sorted sort_merge_passes digest first_seen last_seen
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'analysis');
+Next Output
+QUERY_INSERT test 1 0 0 LATENCY LATENCY LATENCY LATENCY 0 0 0 0 1 1 0 0 0 0 DIGEST_INSERT FIRST_SEEN LAST_SEEN
+QUERY_SELECT test * 1 0 0 LATENCY LATENCY LATENCY LATENCY 2 2 9 9 0 0 0 0 2 0 DIGEST_SELECT FIRST_SEEN LAST_SEEN
+QUERY_UPDATE test 1 0 0 LATENCY LATENCY LATENCY LATENCY 0 0 1 1 1 1 0 0 0 0 DIGEST_UPDATE FIRST_SEEN LAST_SEEN
+Top 100 Queries Ordered by Total Latency
+query db full_scan exec_count err_count warn_count total_latency max_latency avg_latency lock_latency rows_sent rows_sent_avg rows_examined rows_examined_avg rows_affected rows_affected_avg tmp_tables tmp_disk_tables rows_sorted sort_merge_passes digest first_seen last_seen
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_errors_or_warnings');
+Next Output
+Top 100 Queries with Errors
+query db exec_count errors error_pct warnings warning_pct first_seen last_seen digest
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_errors_or_warnings');
+Next Output
+Top 100 Queries with Errors
+query db exec_count errors error_pct warnings warning_pct first_seen last_seen digest
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_full_table_scans');
+Next Output
+Top 100 Queries with Full Table Scan
+query db exec_count total_latency no_index_used_count no_good_index_used_count no_index_used_pct rows_sent rows_examined rows_sent_avg rows_examined_avg first_seen last_seen digest
+QUERY_SELECT test 2 LATENCY 1 0 50 3 9 2 5 FIRST_SEEN LAST_SEEN DIGEST_SELECT
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_full_table_scans');
+Next Output
+Top 100 Queries with Full Table Scan
+query db exec_count total_latency no_index_used_count no_good_index_used_count no_index_used_pct rows_sent rows_examined rows_sent_avg rows_examined_avg first_seen last_seen digest
+QUERY_SELECT test 1 LATENCY 1 0 100 2 9 2 9 FIRST_SEEN LAST_SEEN DIGEST_SELECT
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_sorting');
+Next Output
+Top 100 Queries with Sorting
+query db exec_count total_latency sort_merge_passes avg_sort_merges sorts_using_scans sort_using_range rows_sorted avg_rows_sorted first_seen last_seen digest
+QUERY_SELECT test 2 LATENCY 0 0 1 0 2 1 FIRST_SEEN LAST_SEEN DIGEST_SELECT
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_sorting');
+Next Output
+Top 100 Queries with Sorting
+query db exec_count total_latency sort_merge_passes avg_sort_merges sorts_using_scans sort_using_range rows_sorted avg_rows_sorted first_seen last_seen digest
+QUERY_SELECT test 1 LATENCY 0 0 1 0 2 2 FIRST_SEEN LAST_SEEN DIGEST_SELECT
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_temp_tables');
+Next Output
+Top 100 Queries with Internal Temporary Tables
+query db exec_count total_latency memory_tmp_tables disk_tmp_tables avg_tmp_tables_per_query tmp_tables_to_disk_pct first_seen last_seen digest
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_temp_tables');
+Next Output
+Top 100 Queries with Internal Temporary Tables
+query db exec_count total_latency memory_tmp_tables disk_tmp_tables avg_tmp_tables_per_query tmp_tables_to_disk_pct first_seen last_seen digest
+CREATE VIEW test.view_digests AS
+SELECT sys.format_statement(DIGEST_TEXT) AS query,
+SCHEMA_NAME AS db,
+COUNT_STAR AS exec_count,
+sys.format_time(SUM_TIMER_WAIT) AS total_latency,
+sys.format_time(AVG_TIMER_WAIT) AS avg_latency,
+ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg,
+ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg,
+ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg,
+DIGEST AS digest
+FROM performance_schema.events_statements_summary_by_digest
+ORDER BY SUBSTRING(query, 1, 6);
+SET @sys.statement_performance_analyzer.view = 'test.view_digests';
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+Next Output
+Top 100 Queries Using Custom View
+query db exec_count total_latency avg_latency rows_sent_avg rows_examined_avg rows_affected_avg digest
+QUERY_INSERT test 2 LATENCY LATENCY 0 0 1 DIGEST_INSERT
+QUERY_SELECT test 2 LATENCY LATENCY 2 5 0 DIGEST_SELECT
+QUERY_UPDATE test 2 LATENCY LATENCY 0 1 1 DIGEST_UPDATE
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'custom');
+Next Output
+Top 100 Queries Using Custom View
+query db exec_count total_latency avg_latency rows_sent_avg rows_examined_avg rows_affected_avg digest
+QUERY_INSERT test 1 LATENCY LATENCY 0 0 1 DIGEST_INSERT
+QUERY_SELECT test 1 LATENCY LATENCY 2 9 0 DIGEST_SELECT
+QUERY_UPDATE test 1 LATENCY LATENCY 0 1 1 DIGEST_UPDATE
+SET @sys.statement_performance_analyzer.limit = 2;
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+Next Output
+Top 2 Queries Using Custom View
+query db exec_count total_latency avg_latency rows_sent_avg rows_examined_avg rows_affected_avg digest
+QUERY_INSERT test 2 LATENCY LATENCY 0 0 1 DIGEST_INSERT
+QUERY_SELECT test 2 LATENCY LATENCY 2 5 0 DIGEST_SELECT
+SET SESSION sql_mode = 'NO_AUTO_CREATE_USER';
+CALL sys.statement_performance_analyzer('do magic', NULL, NULL);
+ERROR 45000: Unknown action. Supported actions are: cleanup, create_table, create_tmp, delta, overall, save, snapshot
+SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
+CALL sys.statement_performance_analyzer('do magic', NULL, NULL);
+ERROR 01000: Data truncated for column 'in_action' at row 1
+CALL sys.statement_performance_analyzer('create_tmp', 'sys.tmp_digests', NULL);
+ERROR 45000: Invalid value for in_table: `sys`.`tmp_digests` is reserved table name.
+CALL sys.statement_performance_analyzer('create_tmp', 'sys.tmp_digests_delta', NULL);
+ERROR 45000: Invalid value for in_table: `sys`.`tmp_digests_delta` is reserved table name.
+CALL sys.statement_performance_analyzer('create_tmp', 'tmp_digests', NULL);
+ERROR 45000: Invalid value for in_table: `sys`.`tmp_digests` is reserved table name.
+CALL sys.statement_performance_analyzer('create_tmp', 'test.tmp_digests', NULL);
+CREATE TABLE test.tmp_unsupported LIKE test.tmp_digests_ini;
+CALL sys.statement_performance_analyzer('create_tmp', 'test.tmp_digests_ini', NULL);
+ERROR 45000: Cannot create the table `test`.`tmp_digests_ini` as it already exists.
+CALL sys.statement_performance_analyzer('create_table', 'test.tmp_digests_ini', NULL);
+ERROR 45000: Cannot create the table `test`.`tmp_digests_ini` as it already exists as a temporary table.
+CALL sys.statement_performance_analyzer('create_table', 'test.tmp_unsupported', NULL);
+ERROR 45000: Cannot create the table `test`.`tmp_unsupported` as it already exists.
+ALTER TABLE test.tmp_unsupported ADD COLUMN myvar int DEFAULT 0;
+CALL sys.statement_performance_analyzer('save', 'test.tmp_unsupported', NULL);
+ERROR 45000: The table `test`.`tmp_unsupported` has the wrong definition.
+CALL sys.statement_performance_analyzer('snapshot', 'test.new_table', NULL);
+ERROR 45000: The snapshot action requires in_table to be NULL, NOW() or specify an existing table. The table ...`.`new_table` does not exist.
+CALL sys.statement_performance_analyzer('overall', 'test.new_table', 'analysis');
+ERROR 45000: The overall action requires in_table to be NULL, NOW() or specify an existing table. The table ...`.`new_table` does not exist.
+CALL sys.statement_performance_analyzer('delta', 'test.new_table', 'analysis');
+ERROR 45000: The delta action requires in_table to be an existing table. The table `test`.`new_table` does not exist.
+CALL sys.statement_performance_analyzer('save', 'test.new_table', NULL);
+ERROR 45000: The save action requires in_table to be an existing table. The table `test`.`new_table` does not exist.
+SET @sys.statement_performance_analyzer.view = NULL;
+DELETE FROM sys.sys_config WHERE variable = 'statement_performance_analyzer.view';
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+Next Output
+Top 2 Queries Using Custom View
+ERROR 45000: The @sys.statement_performance_analyzer.view user variable must be set with the view or query to use.
+SET @sys.statement_performance_analyzer.view = 'test.tmp_unsupported';
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+Next Output
+Top 2 Queries Using Custom View
+ERROR 45000: The @sys.statement_performance_analyzer.view user variable is set but specified neither an existing view nor a query.
+CALL sys.table_exists('sys', 'tmp_digests', @exists);
+SELECT @exists;
+@exists
+TEMPORARY
+CALL sys.table_exists('sys', 'tmp_digests_delta', @exists);
+SELECT @exists;
+@exists
+TEMPORARY
+CALL sys.statement_performance_analyzer('cleanup', NULL, NULL);
+DROP TEMPORARY TABLE sys.tmp_digests;
+ERROR 42S02: Unknown table 'sys.tmp_digests'
+DROP TEMPORARY TABLE sys.tmp_digests_delta;
+ERROR 42S02: Unknown table 'sys.tmp_digests_delta'
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'analysis');
+ERROR 45000: An existing snapshot generated with the statement_performance_analyzer() must exist.
+DROP TEMPORARY TABLE sys.tmp_digests_delta;
+ERROR 42S02: Unknown table 'sys.tmp_digests_delta'
+SET @identifier := REPEAT('a', 65);
+CALL sys.statement_performance_analyzer('snapshot', CONCAT(@identifier, '.', @identifier), NULL);
+ERROR 22001: Data too long for column 'in_table' at row 1
+DROP TEMPORARY TABLE test.tmp_digests_ini;
+DROP TEMPORARY TABLE test.tmp_digests;
+DROP TABLE test.tmp_unsupported;
+DROP TABLE test.t1;
+DROP VIEW view_digests;
+SET @identifier := NULL;
+SET SESSION sql_mode = @@global.sql_mode;
+SET @sys.statement_performance_analyzer.limit = NULL;
+SET @sys.statement_performance_analyzer.view = NULL;
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.threads SET instrumented = 'YES';
+SET @sys.ignore_sys_config_triggers := true;
+DELETE FROM sys.sys_config;
+INSERT IGNORE INTO sys.sys_config (variable, value) VALUES
+('statement_truncate_len', 64),
+('statement_performance_analyzer.limit', 100),
+('statement_performance_analyzer.view', NULL),
+('diagnostics.allow_i_s_tables', 'OFF'),
+('diagnostics.include_raw', 'OFF'),
+('ps_thread_trx_info.max_length', 65535);
+SET @sys.ignore_sys_config_triggers := NULL;
diff --git a/mysql-test/suite/sysschema/r/pr_table_exists.result b/mysql-test/suite/sysschema/r/pr_table_exists.result
new file mode 100644
index 00000000000..88917418f67
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/pr_table_exists.result
@@ -0,0 +1,72 @@
+CREATE TABLE t1 (id INT PRIMARY KEY);
+CALL sys.table_exists('test', 't1', @exists);
+SELECT @exists;
+@exists
+BASE TABLE
+DROP TABLE t1;
+CREATE view v_t1 AS SELECT 1;
+CALL sys.table_exists('test', 'v_t1', @exists);
+SELECT @exists;
+@exists
+VIEW
+DROP VIEW v_t1;
+CREATE TABLE tv (i int) with system versioning;
+CALL sys.table_exists('test','tv',@exists);
+SELECT @exists;
+@exists
+BASE TABLE
+DROP TABLE tv;
+CREATE SEQUENCE s;
+CALL sys.table_exists('test','s',@exists);
+SELECT @exists;
+@exists
+SEQUENCE
+DROP SEQUENCE s;
+CREATE TEMPORARY TABLE t1 (id INT PRIMARY KEY);
+CALL sys.table_exists('test', 't1', @exists);
+SELECT @exists;
+@exists
+TEMPORARY
+DROP TEMPORARY TABLE t1;
+CALL sys.table_exists('information_schema', 'all_plugins', @exists);
+SELECT @exists;
+@exists
+SYSTEM VIEW
+CALL sys.table_exists('test', 't2', @exists);
+SELECT @exists;
+@exists
+
+SET @identifier := REPEAT('a', 65);
+CALL sys.table_exists(@identifier, 't1', @exists);
+ERROR 22001: Data too long for column 'in_db' at row 1
+CALL sys.table_exists('test', @identifier, @exists);
+ERROR 22001: Data too long for column 'in_table' at row 1
+SET @identifier := NULL;
+#
+# MDEV-28391: table_exists procedure fails with
+# Incorrect table name with backtick identifiers
+#
+CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CALL sys.table_exists('test', 'ab`c', @tbl_type);
+SELECT @tbl_type;
+@tbl_type
+BASE TABLE
+DROP TABLE `ab``c`;
+CREATE TEMPORARY TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CALL sys.table_exists('test', 'ab`c', @tbl_type);
+SELECT @tbl_type;
+@tbl_type
+TEMPORARY
+DROP TABLE `ab``c`;
+CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE TEMPORARY TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CALL sys.table_exists('test', 'ab`c', @tbl_type);
+SELECT @tbl_type;
+@tbl_type
+TEMPORARY
+# We cannot send quoted identifer to the procedure, no table will be found
+CALL sys.table_exists('test', '`ab``c`', @tbl_type);
+SELECT @tbl_type;
+@tbl_type
+
+DROP TABLE `ab``c`;
diff --git a/mysql-test/suite/sysschema/r/t_sys_config.result b/mysql-test/suite/sysschema/r/t_sys_config.result
new file mode 100644
index 00000000000..f13196c6503
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/t_sys_config.result
@@ -0,0 +1,46 @@
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='sys';
+COUNT(*)
+0
+DESC sys.sys_config;
+Field Type Null Key Default Extra
+variable varchar(128) NO PRI NULL
+value varchar(128) YES NULL
+set_time timestamp NO current_timestamp() on update current_timestamp()
+set_by varchar(128) YES NULL
+SELECT variable, value, set_by FROM sys.sys_config ORDER BY 1;
+variable value set_by
+diagnostics.allow_i_s_tables OFF NULL
+diagnostics.include_raw OFF NULL
+ps_thread_trx_info.max_length 65535 NULL
+statement_performance_analyzer.limit 100 NULL
+statement_performance_analyzer.view NULL NULL
+statement_truncate_len 64 NULL
+UPDATE sys.sys_config SET value = 128 WHERE variable = 'statement_truncate_len';
+SELECT variable, value, set_by FROM sys.sys_config ORDER BY 1;
+variable value set_by
+diagnostics.allow_i_s_tables OFF NULL
+diagnostics.include_raw OFF NULL
+ps_thread_trx_info.max_length 65535 NULL
+statement_performance_analyzer.limit 100 NULL
+statement_performance_analyzer.view NULL NULL
+statement_truncate_len 128 NULL
+INSERT INTO sys.sys_config (variable, value) VALUES ('foo', 'bar');
+SELECT variable, value, set_by FROM sys.sys_config ORDER BY 1;
+variable value set_by
+diagnostics.allow_i_s_tables OFF NULL
+diagnostics.include_raw OFF NULL
+foo bar NULL
+ps_thread_trx_info.max_length 65535 NULL
+statement_performance_analyzer.limit 100 NULL
+statement_performance_analyzer.view NULL NULL
+statement_truncate_len 128 NULL
+SET @sys.ignore_sys_config_triggers := true;
+DELETE FROM sys.sys_config;
+INSERT IGNORE INTO sys.sys_config (variable, value) VALUES
+('statement_truncate_len', 64),
+('statement_performance_analyzer.limit', 100),
+('statement_performance_analyzer.view', NULL),
+('diagnostics.allow_i_s_tables', 'OFF'),
+('diagnostics.include_raw', 'OFF'),
+('ps_thread_trx_info.max_length', 65535);
+SET @sys.ignore_sys_config_triggers := NULL;
diff --git a/mysql-test/suite/sysschema/r/v_host_summary.result b/mysql-test/suite/sysschema/r/v_host_summary.result
new file mode 100644
index 00000000000..b619a8a55fd
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_host_summary.result
@@ -0,0 +1,30 @@
+DESC sys.host_summary;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+statements decimal(64,0) YES NULL
+statement_latency text YES NULL
+statement_avg_latency text YES NULL
+table_scans decimal(65,0) YES NULL
+file_ios decimal(64,0) YES NULL
+file_io_latency text YES NULL
+current_connections decimal(41,0) YES NULL
+total_connections decimal(41,0) YES NULL
+unique_users bigint(21) NO 0
+current_memory text YES NULL
+total_memory_allocated text YES NULL
+SELECT * FROM sys.host_summary;
+DESC sys.x$host_summary;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+statements decimal(64,0) YES NULL
+statement_latency decimal(64,0) YES NULL
+statement_avg_latency decimal(65,4) YES NULL
+table_scans decimal(65,0) YES NULL
+file_ios decimal(64,0) YES NULL
+file_io_latency decimal(64,0) YES NULL
+current_connections decimal(41,0) YES NULL
+total_connections decimal(41,0) YES NULL
+unique_users bigint(21) NO 0
+current_memory decimal(63,0) YES NULL
+total_memory_allocated decimal(64,0) YES NULL
+SELECT * FROM sys.x$host_summary;
diff --git a/mysql-test/suite/sysschema/r/v_host_summary_by_file_io.result b/mysql-test/suite/sysschema/r/v_host_summary_by_file_io.result
new file mode 100644
index 00000000000..8e257163da7
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_host_summary_by_file_io.result
@@ -0,0 +1,12 @@
+DESC sys.host_summary_by_file_io;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+ios decimal(42,0) YES NULL
+io_latency text YES NULL
+SELECT * FROM sys.host_summary_by_file_io;
+DESC sys.x$host_summary_by_file_io;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+ios decimal(42,0) YES NULL
+io_latency decimal(42,0) YES NULL
+SELECT * FROM sys.x$host_summary_by_file_io;
diff --git a/mysql-test/suite/sysschema/r/v_host_summary_by_file_io_type.result b/mysql-test/suite/sysschema/r/v_host_summary_by_file_io_type.result
new file mode 100644
index 00000000000..c9a56aa9943
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_host_summary_by_file_io_type.result
@@ -0,0 +1,16 @@
+DESC sys.host_summary_by_file_io_type;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.host_summary_by_file_io_type;
+DESC sys.x$host_summary_by_file_io_type;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$host_summary_by_file_io_type;
diff --git a/mysql-test/suite/sysschema/r/v_host_summary_by_stages.result b/mysql-test/suite/sysschema/r/v_host_summary_by_stages.result
new file mode 100644
index 00000000000..0ee6f25562c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_host_summary_by_stages.result
@@ -0,0 +1,16 @@
+DESC sys.host_summary_by_stages;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+avg_latency text YES NULL
+SELECT * FROM sys.host_summary_by_stages;
+DESC sys.x$host_summary_by_stages;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$host_summary_by_stages;
diff --git a/mysql-test/suite/sysschema/r/v_host_summary_by_statement_latency.result b/mysql-test/suite/sysschema/r/v_host_summary_by_statement_latency.result
new file mode 100644
index 00000000000..882a30b71a1
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_host_summary_by_statement_latency.result
@@ -0,0 +1,24 @@
+DESC sys.host_summary_by_statement_latency;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+total decimal(42,0) YES NULL
+total_latency text YES NULL
+max_latency text YES NULL
+lock_latency text YES NULL
+rows_sent decimal(42,0) YES NULL
+rows_examined decimal(42,0) YES NULL
+rows_affected decimal(42,0) YES NULL
+full_scans decimal(43,0) YES NULL
+SELECT * FROM sys.host_summary_by_statement_latency;
+DESC sys.x$host_summary_by_statement_latency;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+total decimal(42,0) YES NULL
+total_latency decimal(42,0) YES NULL
+max_latency bigint(20) unsigned YES NULL
+lock_latency decimal(42,0) YES NULL
+rows_sent decimal(42,0) YES NULL
+rows_examined decimal(42,0) YES NULL
+rows_affected decimal(42,0) YES NULL
+full_scans decimal(43,0) YES NULL
+SELECT * FROM sys.x$host_summary_by_statement_latency;
diff --git a/mysql-test/suite/sysschema/r/v_host_summary_by_statement_type.result b/mysql-test/suite/sysschema/r/v_host_summary_by_statement_type.result
new file mode 100644
index 00000000000..eec8f8695c6
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_host_summary_by_statement_type.result
@@ -0,0 +1,26 @@
+DESC sys.host_summary_by_statement_type;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+statement varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+max_latency text YES NULL
+lock_latency text YES NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_examined bigint(20) unsigned NO NULL
+rows_affected bigint(20) unsigned NO NULL
+full_scans bigint(21) unsigned NO 0
+SELECT * FROM sys.host_summary_by_statement_type;
+DESC sys.x$host_summary_by_statement_type;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+statement varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+lock_latency bigint(20) unsigned NO NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_examined bigint(20) unsigned NO NULL
+rows_affected bigint(20) unsigned NO NULL
+full_scans bigint(21) unsigned NO 0
+SELECT * FROM sys.x$host_summary_by_statement_type;
diff --git a/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_schema.result b/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_schema.result
new file mode 100644
index 00000000000..fbfa41f7867
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_schema.result
@@ -0,0 +1,20 @@
+DESC sys.innodb_buffer_stats_by_schema;
+Field Type Null Key Default Extra
+object_schema text YES NULL
+allocated text YES NULL
+data text YES NULL
+pages bigint(21) NO 0
+pages_hashed bigint(21) NO 0
+pages_old bigint(21) NO 0
+rows_cached decimal(44,0) YES NULL
+SELECT * FROM sys.innodb_buffer_stats_by_schema;
+DESC sys.x$innodb_buffer_stats_by_schema;
+Field Type Null Key Default Extra
+object_schema text YES NULL
+allocated decimal(43,0) YES NULL
+data decimal(43,0) YES NULL
+pages bigint(21) NO 0
+pages_hashed bigint(21) NO 0
+pages_old bigint(21) NO 0
+rows_cached decimal(44,0) NO 0
+SELECT * FROM sys.x$innodb_buffer_stats_by_schema;
diff --git a/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_table.result b/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_table.result
new file mode 100644
index 00000000000..27c7d9917a4
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_innodb_buffer_stats_by_table.result
@@ -0,0 +1,22 @@
+DESC sys.innodb_buffer_stats_by_table;
+Field Type Null Key Default Extra
+object_schema text YES NULL
+object_name text YES NULL
+allocated text YES NULL
+data text YES NULL
+pages bigint(21) NO 0
+pages_hashed bigint(21) NO 0
+pages_old bigint(21) NO 0
+rows_cached decimal(44,0) YES NULL
+SELECT * FROM sys.innodb_buffer_stats_by_table;
+DESC sys.x$innodb_buffer_stats_by_table;
+Field Type Null Key Default Extra
+object_schema text YES NULL
+object_name text YES NULL
+allocated decimal(43,0) YES NULL
+data decimal(43,0) YES NULL
+pages bigint(21) NO 0
+pages_hashed bigint(21) NO 0
+pages_old bigint(21) NO 0
+rows_cached decimal(44,0) NO 0
+SELECT * FROM sys.x$innodb_buffer_stats_by_table;
diff --git a/mysql-test/suite/sysschema/r/v_innodb_lock_waits.result b/mysql-test/suite/sysschema/r/v_innodb_lock_waits.result
new file mode 100644
index 00000000000..d8e2c496d13
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_innodb_lock_waits.result
@@ -0,0 +1,70 @@
+DESC sys.innodb_lock_waits;
+Field Type Null Key Default Extra
+wait_started datetime YES NULL
+wait_age time /* mariadb-5.3 */ YES NULL
+wait_age_secs bigint(21) YES NULL
+locked_table varchar(1024) NO NULL
+locked_index varchar(1024) YES NULL
+locked_type enum('RECORD','TABLE') NO NULL
+waiting_trx_id bigint(21) unsigned NO NULL
+waiting_trx_started datetime NO NULL
+waiting_trx_age time /* mariadb-5.3 */ YES NULL
+waiting_trx_rows_locked bigint(21) unsigned NO NULL
+waiting_trx_rows_modified bigint(21) unsigned NO NULL
+waiting_pid bigint(21) unsigned NO NULL
+waiting_query longtext YES NULL
+waiting_lock_id varchar(81) NO NULL
+waiting_lock_mode enum('S','S,GAP','X','X,GAP','IS','IS,GAP','IX','IX,GAP','AUTO_INC') NO NULL
+blocking_trx_id bigint(21) unsigned NO NULL
+blocking_pid bigint(21) unsigned NO NULL
+blocking_query longtext YES NULL
+blocking_lock_id varchar(81) NO NULL
+blocking_lock_mode enum('S','S,GAP','X','X,GAP','IS','IS,GAP','IX','IX,GAP','AUTO_INC') NO NULL
+blocking_trx_started datetime NO NULL
+blocking_trx_age time /* mariadb-5.3 */ YES NULL
+blocking_trx_rows_locked bigint(21) unsigned NO NULL
+blocking_trx_rows_modified bigint(21) unsigned NO NULL
+sql_kill_blocking_query varchar(32) YES NULL
+sql_kill_blocking_connection varchar(26) YES NULL
+SELECT * FROM sys.innodb_lock_waits;
+DESC sys.x$innodb_lock_waits;
+Field Type Null Key Default Extra
+wait_started datetime YES NULL
+wait_age time /* mariadb-5.3 */ YES NULL
+wait_age_secs bigint(21) YES NULL
+locked_table varchar(1024) NO NULL
+locked_index varchar(1024) YES NULL
+locked_type enum('RECORD','TABLE') NO NULL
+waiting_trx_id bigint(21) unsigned NO NULL
+waiting_trx_started datetime NO NULL
+waiting_trx_age time /* mariadb-5.3 */ YES NULL
+waiting_trx_rows_locked bigint(21) unsigned NO NULL
+waiting_trx_rows_modified bigint(21) unsigned NO NULL
+waiting_pid bigint(21) unsigned NO NULL
+waiting_query varchar(1024) YES NULL
+waiting_lock_id varchar(81) NO NULL
+waiting_lock_mode enum('S','S,GAP','X','X,GAP','IS','IS,GAP','IX','IX,GAP','AUTO_INC') NO NULL
+blocking_trx_id bigint(21) unsigned NO NULL
+blocking_pid bigint(21) unsigned NO NULL
+blocking_query varchar(1024) YES NULL
+blocking_lock_id varchar(81) NO NULL
+blocking_lock_mode enum('S','S,GAP','X','X,GAP','IS','IS,GAP','IX','IX,GAP','AUTO_INC') NO NULL
+blocking_trx_started datetime NO NULL
+blocking_trx_age time /* mariadb-5.3 */ YES NULL
+blocking_trx_rows_locked bigint(21) unsigned NO NULL
+blocking_trx_rows_modified bigint(21) unsigned NO NULL
+sql_kill_blocking_query varchar(32) YES NULL
+sql_kill_blocking_connection varchar(26) YES NULL
+SELECT * FROM sys.x$innodb_lock_waits;
+#
+# Start of 10.6 tests
+#
+#
+# MDEV-26507 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed
+#
+SET SESSION sql_mode='ALLOW_INVALID_DATES';
+SELECT * FROM sys.x$innodb_lock_waits;
+SET SESSION sql_mode=DEFAULT;
+#
+# End of 10.6 tests
+#
diff --git a/mysql-test/suite/sysschema/r/v_io_by_thread_by_latency.result b/mysql-test/suite/sysschema/r/v_io_by_thread_by_latency.result
new file mode 100644
index 00000000000..fddd2f266df
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_io_by_thread_by_latency.result
@@ -0,0 +1,22 @@
+DESC sys.io_by_thread_by_latency;
+Field Type Null Key Default Extra
+user varchar(384) YES NULL
+total decimal(42,0) YES NULL
+total_latency text YES NULL
+min_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+thread_id bigint(20) unsigned NO NULL
+processlist_id bigint(20) unsigned YES NULL
+SELECT * FROM sys.io_by_thread_by_latency;
+DESC sys.x$io_by_thread_by_latency;
+Field Type Null Key Default Extra
+user varchar(384) YES NULL
+total decimal(42,0) YES NULL
+total_latency decimal(42,0) YES NULL
+min_latency bigint(20) unsigned YES NULL
+avg_latency decimal(24,4) YES NULL
+max_latency bigint(20) unsigned YES NULL
+thread_id bigint(20) unsigned NO NULL
+processlist_id bigint(20) unsigned YES NULL
+SELECT * FROM sys.x$io_by_thread_by_latency;
diff --git a/mysql-test/suite/sysschema/r/v_io_global_by_file_by_bytes.result b/mysql-test/suite/sysschema/r/v_io_global_by_file_by_bytes.result
new file mode 100644
index 00000000000..06e8839395f
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_io_global_by_file_by_bytes.result
@@ -0,0 +1,24 @@
+DESC sys.io_global_by_file_by_bytes;
+Field Type Null Key Default Extra
+file varchar(512) YES NULL
+count_read bigint(20) unsigned NO NULL
+total_read text YES NULL
+avg_read text YES NULL
+count_write bigint(20) unsigned NO NULL
+total_written text YES NULL
+avg_write text YES NULL
+total text YES NULL
+write_pct decimal(26,2) NO 0.00
+SELECT * FROM sys.io_global_by_file_by_bytes;
+DESC sys.x$io_global_by_file_by_bytes;
+Field Type Null Key Default Extra
+file varchar(512) NO NULL
+count_read bigint(20) unsigned NO NULL
+total_read bigint(20) NO NULL
+avg_read decimal(23,4) NO 0.0000
+count_write bigint(20) unsigned NO NULL
+total_written bigint(20) NO NULL
+avg_write decimal(23,4) NO 0.0000
+total bigint(21) NO 0
+write_pct decimal(26,2) NO 0.00
+SELECT * FROM sys.x$io_global_by_file_by_bytes;
diff --git a/mysql-test/suite/sysschema/r/v_io_global_by_file_by_latency.result b/mysql-test/suite/sysschema/r/v_io_global_by_file_by_latency.result
new file mode 100644
index 00000000000..32d992c2751
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_io_global_by_file_by_latency.result
@@ -0,0 +1,24 @@
+DESC sys.io_global_by_file_by_latency;
+Field Type Null Key Default Extra
+file varchar(512) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+count_read bigint(20) unsigned NO NULL
+read_latency text YES NULL
+count_write bigint(20) unsigned NO NULL
+write_latency text YES NULL
+count_misc bigint(20) unsigned NO NULL
+misc_latency text YES NULL
+SELECT * FROM sys.io_global_by_file_by_latency;
+DESC sys.x$io_global_by_file_by_latency;
+Field Type Null Key Default Extra
+file varchar(512) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+count_read bigint(20) unsigned NO NULL
+read_latency bigint(20) unsigned NO NULL
+count_write bigint(20) unsigned NO NULL
+write_latency bigint(20) unsigned NO NULL
+count_misc bigint(20) unsigned NO NULL
+misc_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$io_global_by_file_by_latency;
diff --git a/mysql-test/suite/sysschema/r/v_io_global_by_wait_by_bytes.result b/mysql-test/suite/sysschema/r/v_io_global_by_wait_by_bytes.result
new file mode 100644
index 00000000000..3d5dcbffbf6
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_io_global_by_wait_by_bytes.result
@@ -0,0 +1,32 @@
+DESC sys.io_global_by_wait_by_bytes;
+Field Type Null Key Default Extra
+event_name varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+min_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+count_read bigint(20) unsigned NO NULL
+total_read text YES NULL
+avg_read text YES NULL
+count_write bigint(20) unsigned NO NULL
+total_written text YES NULL
+avg_written text YES NULL
+total_requested text YES NULL
+SELECT * FROM sys.io_global_by_wait_by_bytes;
+DESC sys.x$io_global_by_wait_by_bytes;
+Field Type Null Key Default Extra
+event_name varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+min_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+count_read bigint(20) unsigned NO NULL
+total_read bigint(20) NO NULL
+avg_read decimal(23,4) NO 0.0000
+count_write bigint(20) unsigned NO NULL
+total_written bigint(20) NO NULL
+avg_written decimal(23,4) NO 0.0000
+total_requested bigint(21) NO 0
+SELECT * FROM sys.x$io_global_by_wait_by_bytes;
diff --git a/mysql-test/suite/sysschema/r/v_io_global_by_wait_by_latency.result b/mysql-test/suite/sysschema/r/v_io_global_by_wait_by_latency.result
new file mode 100644
index 00000000000..1c5db297964
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_io_global_by_wait_by_latency.result
@@ -0,0 +1,34 @@
+DESC sys.io_global_by_wait_by_latency;
+Field Type Null Key Default Extra
+event_name varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+read_latency text YES NULL
+write_latency text YES NULL
+misc_latency text YES NULL
+count_read bigint(20) unsigned NO NULL
+total_read text YES NULL
+avg_read text YES NULL
+count_write bigint(20) unsigned NO NULL
+total_written text YES NULL
+avg_written text YES NULL
+SELECT * FROM sys.io_global_by_wait_by_latency;
+DESC sys.x$io_global_by_wait_by_latency;
+Field Type Null Key Default Extra
+event_name varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+read_latency bigint(20) unsigned NO NULL
+write_latency bigint(20) unsigned NO NULL
+misc_latency bigint(20) unsigned NO NULL
+count_read bigint(20) unsigned NO NULL
+total_read bigint(20) NO NULL
+avg_read decimal(23,4) NO 0.0000
+count_write bigint(20) unsigned NO NULL
+total_written bigint(20) NO NULL
+avg_written decimal(23,4) NO 0.0000
+SELECT * FROM sys.x$io_global_by_wait_by_latency;
diff --git a/mysql-test/suite/sysschema/r/v_latest_file_io.result b/mysql-test/suite/sysschema/r/v_latest_file_io.result
new file mode 100644
index 00000000000..a65cdb2dd10
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_latest_file_io.result
@@ -0,0 +1,16 @@
+DESC sys.latest_file_io;
+Field Type Null Key Default Extra
+thread varchar(214) YES NULL
+file varchar(512) YES NULL
+latency text YES NULL
+operation varchar(32) NO NULL
+requested text YES NULL
+SELECT * FROM sys.latest_file_io;
+DESC sys.x$latest_file_io;
+Field Type Null Key Default Extra
+thread varchar(214) YES NULL
+file varchar(512) YES NULL
+latency bigint(20) unsigned YES NULL
+operation varchar(32) NO NULL
+requested bigint(20) YES NULL
+SELECT * FROM sys.x$latest_file_io;
diff --git a/mysql-test/suite/sysschema/r/v_memory_by_host_by_current_bytes.result b/mysql-test/suite/sysschema/r/v_memory_by_host_by_current_bytes.result
new file mode 100644
index 00000000000..9b0e0f9189c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_memory_by_host_by_current_bytes.result
@@ -0,0 +1,18 @@
+DESC sys.memory_by_host_by_current_bytes;
+Field Type Null Key Default Extra
+host varchar(60) YES NULL
+current_count_used decimal(41,0) YES NULL
+current_allocated text YES NULL
+current_avg_alloc text YES NULL
+current_max_alloc text YES NULL
+total_allocated text YES NULL
+SELECT * FROM sys.memory_by_host_by_current_bytes;
+DESC sys.x$memory_by_host_by_current_bytes;
+Field Type Null Key Default Extra
+host varchar(60) YES NULL
+current_count_used decimal(41,0) YES NULL
+current_allocated decimal(41,0) YES NULL
+current_avg_alloc decimal(45,4) NO 0.0000
+current_max_alloc bigint(20) YES NULL
+total_allocated decimal(42,0) YES NULL
+SELECT * FROM sys.x$memory_by_host_by_current_bytes;
diff --git a/mysql-test/suite/sysschema/r/v_memory_by_thread_by_current_bytes.result b/mysql-test/suite/sysschema/r/v_memory_by_thread_by_current_bytes.result
new file mode 100644
index 00000000000..80bb84c3e71
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_memory_by_thread_by_current_bytes.result
@@ -0,0 +1,20 @@
+DESC sys.memory_by_thread_by_current_bytes;
+Field Type Null Key Default Extra
+thread_id bigint(20) unsigned NO NULL
+user varchar(384) YES NULL
+current_count_used decimal(41,0) YES NULL
+current_allocated text YES NULL
+current_avg_alloc text YES NULL
+current_max_alloc text YES NULL
+total_allocated text YES NULL
+SELECT * FROM sys.memory_by_thread_by_current_bytes;
+DESC sys.x$memory_by_thread_by_current_bytes;
+Field Type Null Key Default Extra
+thread_id bigint(20) unsigned NO NULL
+user varchar(384) YES NULL
+current_count_used decimal(41,0) YES NULL
+current_allocated decimal(41,0) YES NULL
+current_avg_alloc decimal(45,4) NO 0.0000
+current_max_alloc bigint(20) YES NULL
+total_allocated decimal(42,0) YES NULL
+SELECT * FROM sys.x$memory_by_thread_by_current_bytes;
diff --git a/mysql-test/suite/sysschema/r/v_memory_by_user_by_current_bytes.result b/mysql-test/suite/sysschema/r/v_memory_by_user_by_current_bytes.result
new file mode 100644
index 00000000000..95d56d9d301
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_memory_by_user_by_current_bytes.result
@@ -0,0 +1,18 @@
+DESC sys.memory_by_user_by_current_bytes;
+Field Type Null Key Default Extra
+user varchar(32) YES NULL
+current_count_used decimal(41,0) YES NULL
+current_allocated text YES NULL
+current_avg_alloc text YES NULL
+current_max_alloc text YES NULL
+total_allocated text YES NULL
+SELECT * FROM sys.memory_by_user_by_current_bytes;
+DESC sys.x$memory_by_user_by_current_bytes;
+Field Type Null Key Default Extra
+user varchar(32) YES NULL
+current_count_used decimal(41,0) YES NULL
+current_allocated decimal(41,0) YES NULL
+current_avg_alloc decimal(45,4) NO 0.0000
+current_max_alloc bigint(20) YES NULL
+total_allocated decimal(42,0) YES NULL
+SELECT * FROM sys.x$memory_by_user_by_current_bytes;
diff --git a/mysql-test/suite/sysschema/r/v_memory_global_by_current_bytes.result b/mysql-test/suite/sysschema/r/v_memory_global_by_current_bytes.result
new file mode 100644
index 00000000000..aef384dd6c4
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_memory_global_by_current_bytes.result
@@ -0,0 +1,20 @@
+DESC sys.memory_global_by_current_bytes;
+Field Type Null Key Default Extra
+event_name varchar(128) NO NULL
+current_count bigint(20) NO NULL
+current_alloc text YES NULL
+current_avg_alloc text YES NULL
+high_count bigint(20) NO NULL
+high_alloc text YES NULL
+high_avg_alloc text YES NULL
+SELECT * FROM sys.memory_global_by_current_bytes;
+DESC sys.x$memory_global_by_current_bytes;
+Field Type Null Key Default Extra
+event_name varchar(128) NO NULL
+current_count bigint(20) NO NULL
+current_alloc bigint(20) NO NULL
+current_avg_alloc decimal(23,4) NO 0.0000
+high_count bigint(20) NO NULL
+high_alloc bigint(20) NO NULL
+high_avg_alloc decimal(23,4) NO 0.0000
+SELECT * FROM sys.x$memory_global_by_current_bytes;
diff --git a/mysql-test/suite/sysschema/r/v_memory_global_total.result b/mysql-test/suite/sysschema/r/v_memory_global_total.result
new file mode 100644
index 00000000000..e114cefaf6c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_memory_global_total.result
@@ -0,0 +1,8 @@
+DESC sys.memory_global_total;
+Field Type Null Key Default Extra
+total_allocated text YES NULL
+SELECT * FROM sys.memory_global_total;
+DESC sys.x$memory_global_total;
+Field Type Null Key Default Extra
+total_allocated decimal(41,0) YES NULL
+SELECT * FROM sys.x$memory_global_total;
diff --git a/mysql-test/suite/sysschema/r/v_metrics.result b/mysql-test/suite/sysschema/r/v_metrics.result
new file mode 100644
index 00000000000..bfc840edb1f
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_metrics.result
@@ -0,0 +1,7 @@
+DESC sys.metrics;
+Field Type Null Key Default Extra
+Variable_name varchar(193) YES NULL
+Variable_value varchar(1024) YES NULL
+Type varchar(210) YES NULL
+Enabled varchar(3) NO
+SELECT * FROM sys.metrics;
diff --git a/mysql-test/suite/sysschema/r/v_processlist.result b/mysql-test/suite/sysschema/r/v_processlist.result
new file mode 100644
index 00000000000..dfc048143d6
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_processlist.result
@@ -0,0 +1,62 @@
+DESC sys.processlist;
+Field Type Null Key Default Extra
+thd_id bigint(20) unsigned NO NULL
+conn_id bigint(20) unsigned YES NULL
+user varchar(384) YES NULL
+db varchar(64) YES NULL
+command varchar(16) YES NULL
+state varchar(64) YES NULL
+time bigint(20) YES NULL
+current_statement longtext YES NULL
+statement_latency mediumtext YES NULL
+progress decimal(26,2) YES NULL
+lock_latency text YES NULL
+rows_examined bigint(20) unsigned YES NULL
+rows_sent bigint(20) unsigned YES NULL
+rows_affected bigint(20) unsigned YES NULL
+tmp_tables bigint(20) unsigned YES NULL
+tmp_disk_tables bigint(20) unsigned YES NULL
+full_scan varchar(3) YES NULL
+last_statement longtext YES NULL
+last_statement_latency mediumtext YES NULL
+current_memory text YES NULL
+last_wait varchar(128) YES NULL
+last_wait_latency mediumtext YES NULL
+source varchar(64) YES NULL
+trx_latency text YES NULL
+trx_state enum('ACTIVE','COMMITTED','ROLLED BACK') YES NULL
+trx_autocommit enum('YES','NO') YES NULL
+pid varchar(1024) YES NULL
+program_name varchar(1024) YES NULL
+SELECT * FROM sys.processlist;
+DESC sys.x$processlist;
+Field Type Null Key Default Extra
+thd_id bigint(20) unsigned NO NULL
+conn_id bigint(20) unsigned YES NULL
+user varchar(384) YES NULL
+db varchar(64) YES NULL
+command varchar(16) YES NULL
+state varchar(64) YES NULL
+time bigint(20) YES NULL
+current_statement longtext YES NULL
+statement_latency bigint(20) unsigned YES NULL
+progress decimal(26,2) YES NULL
+lock_latency bigint(20) unsigned YES NULL
+rows_examined bigint(20) unsigned YES NULL
+rows_sent bigint(20) unsigned YES NULL
+rows_affected bigint(20) unsigned YES NULL
+tmp_tables bigint(20) unsigned YES NULL
+tmp_disk_tables bigint(20) unsigned YES NULL
+full_scan varchar(3) YES NULL
+last_statement longtext YES NULL
+last_statement_latency bigint(20) unsigned YES NULL
+current_memory decimal(41,0) YES NULL
+last_wait varchar(128) YES NULL
+last_wait_latency varchar(20) YES NULL
+source varchar(64) YES NULL
+trx_latency bigint(20) unsigned YES NULL
+trx_state enum('ACTIVE','COMMITTED','ROLLED BACK') YES NULL
+trx_autocommit enum('YES','NO') YES NULL
+pid varchar(1024) YES NULL
+program_name varchar(1024) YES NULL
+SELECT * FROM sys.x$processlist;
diff --git a/mysql-test/suite/sysschema/r/v_ps_check_lost_instrumentation.result b/mysql-test/suite/sysschema/r/v_ps_check_lost_instrumentation.result
new file mode 100644
index 00000000000..dfbd20466db
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_ps_check_lost_instrumentation.result
@@ -0,0 +1,5 @@
+DESC sys.ps_check_lost_instrumentation;
+Field Type Null Key Default Extra
+variable_name varchar(64) NO NULL
+variable_value varchar(1024) YES NULL
+SELECT * FROM sys.ps_check_lost_instrumentation;
diff --git a/mysql-test/suite/sysschema/r/v_ps_digest_95th_percentile_by_avg_us.result b/mysql-test/suite/sysschema/r/v_ps_digest_95th_percentile_by_avg_us.result
new file mode 100644
index 00000000000..6378c9cfe63
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_ps_digest_95th_percentile_by_avg_us.result
@@ -0,0 +1,18 @@
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+Field Type Null Key Default Extra
+avg_us decimal(21,0) YES NULL
+percentile decimal(46,4) NO 0.0000
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+Field Type Null Key Default Extra
+avg_us decimal(21,0) YES NULL
+percentile decimal(46,4) NO 0.0000
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+Field Type Null Key Default Extra
+avg_us decimal(21,0) YES NULL
+percentile decimal(46,4) NO 0.0000
+SELECT * FROM sys.x$ps_digest_95th_percentile_by_avg_us;
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+Field Type Null Key Default Extra
+avg_us decimal(21,0) YES NULL
+percentile decimal(46,4) NO 0.0000
+SELECT * FROM sys.x$ps_digest_95th_percentile_by_avg_us;
diff --git a/mysql-test/suite/sysschema/r/v_ps_digest_avg_latency_distribution.result b/mysql-test/suite/sysschema/r/v_ps_digest_avg_latency_distribution.result
new file mode 100644
index 00000000000..a3eb1e28e21
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_ps_digest_avg_latency_distribution.result
@@ -0,0 +1,18 @@
+DESC sys.x$ps_digest_avg_latency_distribution;
+Field Type Null Key Default Extra
+cnt bigint(21) NO 0
+avg_us decimal(21,0) YES NULL
+DESC sys.x$ps_digest_avg_latency_distribution;
+Field Type Null Key Default Extra
+cnt bigint(21) NO 0
+avg_us decimal(21,0) YES NULL
+DESC sys.x$ps_digest_avg_latency_distribution;
+Field Type Null Key Default Extra
+cnt bigint(21) NO 0
+avg_us decimal(21,0) YES NULL
+SELECT * FROM sys.x$ps_digest_avg_latency_distribution;
+DESC sys.x$ps_digest_avg_latency_distribution;
+Field Type Null Key Default Extra
+cnt bigint(21) NO 0
+avg_us decimal(21,0) YES NULL
+SELECT * FROM sys.x$ps_digest_avg_latency_distribution;
diff --git a/mysql-test/suite/sysschema/r/v_ps_schema_table_statistics_io.result b/mysql-test/suite/sysschema/r/v_ps_schema_table_statistics_io.result
new file mode 100644
index 00000000000..0b1ae3bf55c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_ps_schema_table_statistics_io.result
@@ -0,0 +1,50 @@
+DESC sys.x$ps_schema_table_statistics_io;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+count_read decimal(42,0) YES NULL
+sum_number_of_bytes_read decimal(41,0) YES NULL
+sum_timer_read decimal(42,0) YES NULL
+count_write decimal(42,0) YES NULL
+sum_number_of_bytes_write decimal(41,0) YES NULL
+sum_timer_write decimal(42,0) YES NULL
+count_misc decimal(42,0) YES NULL
+sum_timer_misc decimal(42,0) YES NULL
+DESC sys.x$ps_schema_table_statistics_io;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+count_read decimal(42,0) YES NULL
+sum_number_of_bytes_read decimal(41,0) YES NULL
+sum_timer_read decimal(42,0) YES NULL
+count_write decimal(42,0) YES NULL
+sum_number_of_bytes_write decimal(41,0) YES NULL
+sum_timer_write decimal(42,0) YES NULL
+count_misc decimal(42,0) YES NULL
+sum_timer_misc decimal(42,0) YES NULL
+DESC sys.x$ps_schema_table_statistics_io;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+count_read decimal(42,0) YES NULL
+sum_number_of_bytes_read decimal(41,0) YES NULL
+sum_timer_read decimal(42,0) YES NULL
+count_write decimal(42,0) YES NULL
+sum_number_of_bytes_write decimal(41,0) YES NULL
+sum_timer_write decimal(42,0) YES NULL
+count_misc decimal(42,0) YES NULL
+sum_timer_misc decimal(42,0) YES NULL
+SELECT * FROM sys.x$ps_schema_table_statistics_io;
+DESC sys.x$ps_schema_table_statistics_io;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+count_read decimal(42,0) YES NULL
+sum_number_of_bytes_read decimal(41,0) YES NULL
+sum_timer_read decimal(42,0) YES NULL
+count_write decimal(42,0) YES NULL
+sum_number_of_bytes_write decimal(41,0) YES NULL
+sum_timer_write decimal(42,0) YES NULL
+count_misc decimal(42,0) YES NULL
+sum_timer_misc decimal(42,0) YES NULL
+SELECT * FROM sys.x$ps_schema_table_statistics_io;
diff --git a/mysql-test/suite/sysschema/r/v_schema_auto_increment_columns.result b/mysql-test/suite/sysschema/r/v_schema_auto_increment_columns.result
new file mode 100644
index 00000000000..ef2ad76b600
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_auto_increment_columns.result
@@ -0,0 +1,143 @@
+DESC sys.schema_auto_increment_columns;
+Field Type Null Key Default Extra
+table_schema varchar(64) NO NULL
+table_name varchar(64) NO NULL
+column_name varchar(64) NO NULL
+data_type varchar(64) NO NULL
+column_type longtext NO NULL
+is_signed int(1) NO 0
+is_unsigned int(1) NO 0
+max_value bigint(21) unsigned YES NULL
+auto_increment bigint(21) unsigned YES NULL
+auto_increment_ratio decimal(25,4) unsigned YES NULL
+SELECT * FROM sys.schema_auto_increment_columns;
+CREATE DATABASE auto_incs;
+CREATE TABLE auto_incs.tinyintcol (
+id TINYINT AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.tinyintcol (foo) VALUES (100);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+CREATE TABLE auto_incs.tinyintcolunsigned (
+id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.tinyintcolunsigned (foo) (SELECT foo FROM auto_incs.tinyintcol);
+CREATE TABLE auto_incs.smallintcol (
+id SMALLINT AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.smallintcol (foo) VALUES (200);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+CREATE TABLE auto_incs.smallintcolunsigned (
+id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.smallintcolunsigned (foo) (SELECT foo FROM auto_incs.smallintcol);
+CREATE TABLE auto_incs.mediumintcol (
+id MEDIUMINT AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.mediumintcol (foo) VALUES (300);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+CREATE TABLE auto_incs.mediumintcolunsigned (
+id MEDIUMINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.mediumintcolunsigned (foo) (SELECT foo FROM auto_incs.mediumintcol);
+CREATE TABLE auto_incs.intcol (
+id INT AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.intcol (foo) VALUES (400);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+CREATE TABLE auto_incs.intcolunsigned (
+id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.intcolunsigned (foo) (SELECT foo FROM auto_incs.intcol);
+CREATE TABLE auto_incs.bigintcol (
+id BIGINT AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.bigintcol (foo) VALUES (500);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+CREATE TABLE auto_incs.bigintcolunsigned (
+id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+foo INT
+);
+INSERT INTO auto_incs.bigintcolunsigned (foo) (SELECT foo FROM auto_incs.bigintcol);
+SELECT * FROM sys.schema_auto_increment_columns;
+table_schema table_name column_name data_type column_type is_signed is_unsigned max_value auto_increment auto_increment_ratio
+auto_incs tinyintcol id tinyint tinyint(4) 1 0 127 17 0.1339
+auto_incs tinyintcolunsigned id tinyint tinyint(3) unsigned 0 1 255 17 0.0667
+auto_incs smallintcol id smallint smallint(6) 1 0 32767 2049 0.0625
+auto_incs smallintcolunsigned id smallint smallint(5) unsigned 0 1 65535 2049 0.0313
+auto_incs mediumintcol id mediumint mediumint(9) 1 0 8388607 131073 0.0156
+auto_incs mediumintcolunsigned id mediumint mediumint(8) unsigned 0 1 16777215 131073 0.0078
+auto_incs intcol id int int(11) 1 0 2147483647 131073 0.0001
+auto_incs intcolunsigned id int int(10) unsigned 0 1 4294967295 131073 0.0000
+auto_incs bigintcol id bigint bigint(20) 1 0 9223372036854775807 131073 0.0000
+auto_incs bigintcolunsigned id bigint bigint(20) unsigned 0 1 18446744073709551615 131073 0.0000
+DROP DATABASE auto_incs;
diff --git a/mysql-test/suite/sysschema/r/v_schema_index_statistics.result b/mysql-test/suite/sysschema/r/v_schema_index_statistics.result
new file mode 100644
index 00000000000..63cf1931e79
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_index_statistics.result
@@ -0,0 +1,28 @@
+DESC sys.schema_index_statistics;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+index_name varchar(64) YES NULL
+rows_selected bigint(20) unsigned NO NULL
+select_latency text YES NULL
+rows_inserted bigint(20) unsigned NO NULL
+insert_latency text YES NULL
+rows_updated bigint(20) unsigned NO NULL
+update_latency text YES NULL
+rows_deleted bigint(20) unsigned NO NULL
+delete_latency text YES NULL
+SELECT * FROM sys.schema_index_statistics;
+DESC sys.x$schema_index_statistics;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+index_name varchar(64) YES NULL
+rows_selected bigint(20) unsigned NO NULL
+select_latency bigint(20) unsigned NO NULL
+rows_inserted bigint(20) unsigned NO NULL
+insert_latency bigint(20) unsigned NO NULL
+rows_updated bigint(20) unsigned NO NULL
+update_latency bigint(20) unsigned NO NULL
+rows_deleted bigint(20) unsigned NO NULL
+delete_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$schema_index_statistics;
diff --git a/mysql-test/suite/sysschema/r/v_schema_object_overview.result b/mysql-test/suite/sysschema/r/v_schema_object_overview.result
new file mode 100644
index 00000000000..1c6144e956f
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_object_overview.result
@@ -0,0 +1,6 @@
+DESC sys.schema_object_overview;
+Field Type Null Key Default Extra
+db varchar(64) NO
+object_type varchar(64) YES NULL
+count bigint(21) NO 0
+SELECT * FROM sys.schema_object_overview;
diff --git a/mysql-test/suite/sysschema/r/v_schema_redundant_indexes.result b/mysql-test/suite/sysschema/r/v_schema_redundant_indexes.result
new file mode 100644
index 00000000000..2199c959cd0
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_redundant_indexes.result
@@ -0,0 +1,37 @@
+DESC sys.schema_redundant_indexes;
+Field Type Null Key Default Extra
+table_schema varchar(64) NO NULL
+table_name varchar(64) NO NULL
+redundant_index_name varchar(64) NO NULL
+redundant_index_columns mediumtext YES NULL
+redundant_index_non_unique bigint(1) YES NULL
+dominant_index_name varchar(64) NO NULL
+dominant_index_columns mediumtext YES NULL
+dominant_index_non_unique bigint(1) YES NULL
+subpart_exists int(1) YES NULL
+sql_drop_index varchar(223) YES NULL
+SELECT * FROM sys.schema_redundant_indexes;
+DESC sys.x$schema_flattened_keys;
+Field Type Null Key Default Extra
+table_schema varchar(64) NO NULL
+table_name varchar(64) NO NULL
+index_name varchar(64) NO NULL
+non_unique bigint(1) YES NULL
+subpart_exists bigint(1) YES NULL
+index_columns mediumtext YES NULL
+SELECT * FROM sys.x$schema_flattened_keys;
+CREATE DATABASE rkey;
+CREATE TABLE rkey.rkey (
+i INT,
+j INT,
+k INT,
+PRIMARY KEY (i),
+KEY (j),
+KEY (j, k),
+KEY (i, j, k)
+);
+SELECT * FROM sys.schema_redundant_indexes;
+table_schema table_name redundant_index_name redundant_index_columns redundant_index_non_unique dominant_index_name dominant_index_columns dominant_index_non_unique subpart_exists sql_drop_index
+rkey rkey j j 1 j_2 j,k 1 0 ALTER TABLE `rkey`.`rkey` DROP INDEX `j`
+rkey rkey i i,j,k 1 PRIMARY i 0 0 ALTER TABLE `rkey`.`rkey` DROP INDEX `i`
+DROP DATABASE rkey;
diff --git a/mysql-test/suite/sysschema/r/v_schema_table_lock_waits.result b/mysql-test/suite/sysschema/r/v_schema_table_lock_waits.result
new file mode 100644
index 00000000000..e51b3f2753d
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_table_lock_waits.result
@@ -0,0 +1,61 @@
+DESC sys.schema_table_lock_waits;
+Field Type Null Key Default Extra
+object_schema varchar(64) YES NULL
+object_name varchar(64) YES NULL
+waiting_thread_id bigint(20) unsigned NO NULL
+waiting_pid bigint(20) unsigned YES NULL
+waiting_account text YES NULL
+waiting_lock_type varchar(32) NO NULL
+waiting_lock_duration varchar(32) NO NULL
+waiting_query longtext YES NULL
+waiting_query_secs bigint(20) YES NULL
+waiting_query_rows_affected bigint(20) unsigned YES NULL
+waiting_query_rows_examined bigint(20) unsigned YES NULL
+blocking_thread_id bigint(20) unsigned NO NULL
+blocking_pid bigint(20) unsigned YES NULL
+blocking_account text YES NULL
+blocking_lock_type varchar(32) NO NULL
+blocking_lock_duration varchar(32) NO NULL
+sql_kill_blocking_query varchar(31) YES NULL
+sql_kill_blocking_connection varchar(25) YES NULL
+SELECT * FROM sys.schema_table_lock_waits;
+DESC sys.x$schema_table_lock_waits;
+Field Type Null Key Default Extra
+object_schema varchar(64) YES NULL
+object_name varchar(64) YES NULL
+waiting_thread_id bigint(20) unsigned NO NULL
+waiting_pid bigint(20) unsigned YES NULL
+waiting_account text YES NULL
+waiting_lock_type varchar(32) NO NULL
+waiting_lock_duration varchar(32) NO NULL
+waiting_query longtext YES NULL
+waiting_query_secs bigint(20) YES NULL
+waiting_query_rows_affected bigint(20) unsigned YES NULL
+waiting_query_rows_examined bigint(20) unsigned YES NULL
+blocking_thread_id bigint(20) unsigned NO NULL
+blocking_pid bigint(20) unsigned YES NULL
+blocking_account text YES NULL
+blocking_lock_type varchar(32) NO NULL
+blocking_lock_duration varchar(32) NO NULL
+sql_kill_blocking_query varchar(31) YES NULL
+sql_kill_blocking_connection varchar(25) YES NULL
+SELECT * FROM sys.x$schema_table_lock_waits;
+connect con1,localhost,root,,;
+connect con2,localhost,root,,;
+connection con1;
+CREATE TABLE test.lock_waits (i INT PRIMARY KEY, j INT) ENGINE = InnoDB;
+LOCK TABLE lock_waits WRITE;
+connection con2;
+ALTER TABLE test.lock_waits ADD k VARCHAR(20);
+connection default;
+SELECT object_schema, object_name,
+waiting_account, waiting_lock_type, waiting_query,
+blocking_account, blocking_lock_type, blocking_lock_duration
+FROM sys.schema_table_lock_waits;
+object_schema object_name waiting_account waiting_lock_type waiting_query blocking_account blocking_lock_type blocking_lock_duration
+test lock_waits root@localhost SHARED_UPGRADABLE ALTER TABLE test.lock_waits ADD k VARCHAR(20) root@localhost SHARED_NO_READ_WRITE TRANSACTION
+disconnect con1;
+connection default;
+disconnect con2;
+connection default;
+DROP TABLE test.lock_waits;
diff --git a/mysql-test/suite/sysschema/r/v_schema_table_statistics.result b/mysql-test/suite/sysschema/r/v_schema_table_statistics.result
new file mode 100644
index 00000000000..fda0d7da310
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_table_statistics.result
@@ -0,0 +1,44 @@
+DESC sys.schema_table_statistics;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+total_latency text YES NULL
+rows_fetched bigint(20) unsigned NO NULL
+fetch_latency text YES NULL
+rows_inserted bigint(20) unsigned NO NULL
+insert_latency text YES NULL
+rows_updated bigint(20) unsigned NO NULL
+update_latency text YES NULL
+rows_deleted bigint(20) unsigned NO NULL
+delete_latency text YES NULL
+io_read_requests decimal(42,0) YES NULL
+io_read text YES NULL
+io_read_latency text YES NULL
+io_write_requests decimal(42,0) YES NULL
+io_write text YES NULL
+io_write_latency text YES NULL
+io_misc_requests decimal(42,0) YES NULL
+io_misc_latency text YES NULL
+SELECT * FROM sys.schema_table_statistics;
+DESC sys.x$schema_table_statistics;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+total_latency bigint(20) unsigned NO NULL
+rows_fetched bigint(20) unsigned NO NULL
+fetch_latency bigint(20) unsigned NO NULL
+rows_inserted bigint(20) unsigned NO NULL
+insert_latency bigint(20) unsigned NO NULL
+rows_updated bigint(20) unsigned NO NULL
+update_latency bigint(20) unsigned NO NULL
+rows_deleted bigint(20) unsigned NO NULL
+delete_latency bigint(20) unsigned NO NULL
+io_read_requests decimal(42,0) YES NULL
+io_read decimal(41,0) YES NULL
+io_read_latency decimal(42,0) YES NULL
+io_write_requests decimal(42,0) YES NULL
+io_write decimal(41,0) YES NULL
+io_write_latency decimal(42,0) YES NULL
+io_misc_requests decimal(42,0) YES NULL
+io_misc_latency decimal(42,0) YES NULL
+SELECT * FROM sys.x$schema_table_statistics;
diff --git a/mysql-test/suite/sysschema/r/v_schema_table_statistics_with_buffer.result b/mysql-test/suite/sysschema/r/v_schema_table_statistics_with_buffer.result
new file mode 100644
index 00000000000..809e8a4e823
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_table_statistics_with_buffer.result
@@ -0,0 +1,56 @@
+DESC sys.schema_table_statistics_with_buffer;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+rows_fetched bigint(20) unsigned NO NULL
+fetch_latency text YES NULL
+rows_inserted bigint(20) unsigned NO NULL
+insert_latency text YES NULL
+rows_updated bigint(20) unsigned NO NULL
+update_latency text YES NULL
+rows_deleted bigint(20) unsigned NO NULL
+delete_latency text YES NULL
+io_read_requests decimal(42,0) YES NULL
+io_read text YES NULL
+io_read_latency text YES NULL
+io_write_requests decimal(42,0) YES NULL
+io_write text YES NULL
+io_write_latency text YES NULL
+io_misc_requests decimal(42,0) YES NULL
+io_misc_latency text YES NULL
+innodb_buffer_allocated text YES NULL
+innodb_buffer_data text YES NULL
+innodb_buffer_free text YES NULL
+innodb_buffer_pages bigint(21) YES 0
+innodb_buffer_pages_hashed bigint(21) YES 0
+innodb_buffer_pages_old bigint(21) YES 0
+innodb_buffer_rows_cached decimal(44,0) YES 0
+SELECT * FROM sys.schema_table_statistics_with_buffer;
+DESC sys.x$schema_table_statistics_with_buffer;
+Field Type Null Key Default Extra
+table_schema varchar(64) YES NULL
+table_name varchar(64) YES NULL
+rows_fetched bigint(20) unsigned NO NULL
+fetch_latency bigint(20) unsigned NO NULL
+rows_inserted bigint(20) unsigned NO NULL
+insert_latency bigint(20) unsigned NO NULL
+rows_updated bigint(20) unsigned NO NULL
+update_latency bigint(20) unsigned NO NULL
+rows_deleted bigint(20) unsigned NO NULL
+delete_latency bigint(20) unsigned NO NULL
+io_read_requests decimal(42,0) YES NULL
+io_read decimal(41,0) YES NULL
+io_read_latency decimal(42,0) YES NULL
+io_write_requests decimal(42,0) YES NULL
+io_write decimal(41,0) YES NULL
+io_write_latency decimal(42,0) YES NULL
+io_misc_requests decimal(42,0) YES NULL
+io_misc_latency decimal(42,0) YES NULL
+innodb_buffer_allocated decimal(43,0) YES NULL
+innodb_buffer_data decimal(43,0) YES NULL
+innodb_buffer_free decimal(44,0) YES NULL
+innodb_buffer_pages bigint(21) YES 0
+innodb_buffer_pages_hashed bigint(21) YES 0
+innodb_buffer_pages_old bigint(21) YES 0
+innodb_buffer_rows_cached decimal(44,0) YES 0
+SELECT * FROM sys.x$schema_table_statistics_with_buffer;
diff --git a/mysql-test/suite/sysschema/r/v_schema_tables_with_full_table_scans.result b/mysql-test/suite/sysschema/r/v_schema_tables_with_full_table_scans.result
new file mode 100644
index 00000000000..a6aca341f2e
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_tables_with_full_table_scans.result
@@ -0,0 +1,51 @@
+DESC sys.schema_tables_with_full_table_scans;
+Field Type Null Key Default Extra
+object_schema varchar(64) YES NULL
+object_name varchar(64) YES NULL
+rows_full_scanned bigint(20) unsigned NO NULL
+latency text YES NULL
+SELECT * FROM sys.schema_tables_with_full_table_scans;
+DESC sys.x$schema_tables_with_full_table_scans;
+Field Type Null Key Default Extra
+object_schema varchar(64) YES NULL
+object_name varchar(64) YES NULL
+rows_full_scanned bigint(20) unsigned NO NULL
+latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$schema_tables_with_full_table_scans;
+CREATE TABLE test.t (i BIGINT AUTO_INCREMENT PRIMARY KEY, j BIGINT) ENGINE = innodb;
+INSERT INTO test.t (j) VALUES (1), (2), (3);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+CALL sys.ps_truncate_all_tables(false);
+summary
+Truncated 44 tables
+SELECT i, j, RAND() FROM test.t WHERE j = 12;
+SELECT object_schema, object_name, rows_full_scanned FROM sys.schema_tables_with_full_table_scans;
+object_schema object_name rows_full_scanned
+test t 768
+SELECT object_schema, object_name, rows_full_scanned FROM sys.x$schema_tables_with_full_table_scans;
+object_schema object_name rows_full_scanned
+test t 768
+SELECT i, j, RAND() FROM test.t WHERE j = 12;
+SELECT object_schema, object_name, rows_full_scanned FROM sys.schema_tables_with_full_table_scans;
+object_schema object_name rows_full_scanned
+test t 1536
+SELECT object_schema, object_name, rows_full_scanned FROM sys.x$schema_tables_with_full_table_scans;
+object_schema object_name rows_full_scanned
+test t 1536
+SELECT * FROM test.t WHERE i = 10;
+i j
+10 4
+SELECT object_schema, object_name, rows_full_scanned FROM sys.schema_tables_with_full_table_scans;
+object_schema object_name rows_full_scanned
+test t 1536
+SELECT object_schema, object_name, rows_full_scanned FROM sys.x$schema_tables_with_full_table_scans;
+object_schema object_name rows_full_scanned
+test t 1536
+DROP TABLE test.t;
diff --git a/mysql-test/suite/sysschema/r/v_schema_unused_indexes.result b/mysql-test/suite/sysschema/r/v_schema_unused_indexes.result
new file mode 100644
index 00000000000..fc8395dc95a
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_schema_unused_indexes.result
@@ -0,0 +1,6 @@
+DESC sys.schema_unused_indexes;
+Field Type Null Key Default Extra
+object_schema varchar(64) YES NULL
+object_name varchar(64) YES NULL
+index_name varchar(64) YES NULL
+SELECT * FROM sys.schema_unused_indexes;
diff --git a/mysql-test/suite/sysschema/r/v_session.result b/mysql-test/suite/sysschema/r/v_session.result
new file mode 100644
index 00000000000..fd88b8f1d6a
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_session.result
@@ -0,0 +1,62 @@
+DESC sys.session;
+Field Type Null Key Default Extra
+thd_id bigint(20) unsigned NO NULL
+conn_id bigint(20) unsigned YES NULL
+user varchar(384) YES NULL
+db varchar(64) YES NULL
+command varchar(16) YES NULL
+state varchar(64) YES NULL
+time bigint(20) YES NULL
+current_statement longtext YES NULL
+statement_latency mediumtext YES NULL
+progress decimal(26,2) YES NULL
+lock_latency text YES NULL
+rows_examined bigint(20) unsigned YES NULL
+rows_sent bigint(20) unsigned YES NULL
+rows_affected bigint(20) unsigned YES NULL
+tmp_tables bigint(20) unsigned YES NULL
+tmp_disk_tables bigint(20) unsigned YES NULL
+full_scan varchar(3) YES NULL
+last_statement longtext YES NULL
+last_statement_latency mediumtext YES NULL
+current_memory text YES NULL
+last_wait varchar(128) YES NULL
+last_wait_latency mediumtext YES NULL
+source varchar(64) YES NULL
+trx_latency text YES NULL
+trx_state enum('ACTIVE','COMMITTED','ROLLED BACK') YES NULL
+trx_autocommit enum('YES','NO') YES NULL
+pid varchar(1024) YES NULL
+program_name varchar(1024) YES NULL
+SELECT * FROM sys.session;
+DESC sys.x$session;
+Field Type Null Key Default Extra
+thd_id bigint(20) unsigned NO NULL
+conn_id bigint(20) unsigned YES NULL
+user varchar(384) YES NULL
+db varchar(64) YES NULL
+command varchar(16) YES NULL
+state varchar(64) YES NULL
+time bigint(20) YES NULL
+current_statement longtext YES NULL
+statement_latency bigint(20) unsigned YES NULL
+progress decimal(26,2) YES NULL
+lock_latency bigint(20) unsigned YES NULL
+rows_examined bigint(20) unsigned YES NULL
+rows_sent bigint(20) unsigned YES NULL
+rows_affected bigint(20) unsigned YES NULL
+tmp_tables bigint(20) unsigned YES NULL
+tmp_disk_tables bigint(20) unsigned YES NULL
+full_scan varchar(3) YES NULL
+last_statement longtext YES NULL
+last_statement_latency bigint(20) unsigned YES NULL
+current_memory decimal(41,0) YES NULL
+last_wait varchar(128) YES NULL
+last_wait_latency varchar(20) YES NULL
+source varchar(64) YES NULL
+trx_latency bigint(20) unsigned YES NULL
+trx_state enum('ACTIVE','COMMITTED','ROLLED BACK') YES NULL
+trx_autocommit enum('YES','NO') YES NULL
+pid varchar(1024) YES NULL
+program_name varchar(1024) YES NULL
+SELECT * FROM sys.x$session;
diff --git a/mysql-test/suite/sysschema/r/v_session_ssl_status.result b/mysql-test/suite/sysschema/r/v_session_ssl_status.result
new file mode 100644
index 00000000000..e0e397c3648
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_session_ssl_status.result
@@ -0,0 +1,7 @@
+DESC sys.session_ssl_status;
+Field Type Null Key Default Extra
+thread_id bigint(20) unsigned NO NULL
+ssl_version varchar(1024) YES NULL
+ssl_cipher varchar(1024) YES NULL
+ssl_sessions_reused varchar(1024) YES NULL
+SELECT * FROM sys.session_ssl_status;
diff --git a/mysql-test/suite/sysschema/r/v_statement_analysis.result b/mysql-test/suite/sysschema/r/v_statement_analysis.result
new file mode 100644
index 00000000000..c3dd167c9fa
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_statement_analysis.result
@@ -0,0 +1,52 @@
+DESC sys.statement_analysis;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+full_scan varchar(1) NO
+exec_count bigint(20) unsigned NO NULL
+err_count bigint(20) unsigned NO NULL
+warn_count bigint(20) unsigned NO NULL
+total_latency text YES NULL
+max_latency text YES NULL
+avg_latency text YES NULL
+lock_latency text YES NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_sent_avg decimal(21,0) NO 0
+rows_examined bigint(20) unsigned NO NULL
+rows_examined_avg decimal(21,0) NO 0
+rows_affected bigint(20) unsigned NO NULL
+rows_affected_avg decimal(21,0) NO 0
+tmp_tables bigint(20) unsigned NO NULL
+tmp_disk_tables bigint(20) unsigned NO NULL
+rows_sorted bigint(20) unsigned NO NULL
+sort_merge_passes bigint(20) unsigned NO NULL
+digest varchar(32) YES NULL
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+SELECT * FROM sys.statement_analysis;
+DESC sys.x$statement_analysis;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+full_scan varchar(1) NO
+exec_count bigint(20) unsigned NO NULL
+err_count bigint(20) unsigned NO NULL
+warn_count bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+lock_latency bigint(20) unsigned NO NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_sent_avg decimal(21,0) NO 0
+rows_examined bigint(20) unsigned NO NULL
+rows_examined_avg decimal(21,0) NO 0
+rows_affected bigint(20) unsigned NO NULL
+rows_affected_avg decimal(21,0) NO 0
+tmp_tables bigint(20) unsigned NO NULL
+tmp_disk_tables bigint(20) unsigned NO NULL
+rows_sorted bigint(20) unsigned NO NULL
+sort_merge_passes bigint(20) unsigned NO NULL
+digest varchar(32) YES NULL
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+SELECT * FROM sys.x$statement_analysis;
diff --git a/mysql-test/suite/sysschema/r/v_statements_with_errors_or_warnings.result b/mysql-test/suite/sysschema/r/v_statements_with_errors_or_warnings.result
new file mode 100644
index 00000000000..250f4ec1f4c
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_statements_with_errors_or_warnings.result
@@ -0,0 +1,26 @@
+DESC sys.statements_with_errors_or_warnings;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+errors bigint(20) unsigned NO NULL
+error_pct decimal(27,4) NO 0.0000
+warnings bigint(20) unsigned NO NULL
+warning_pct decimal(27,4) NO 0.0000
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.statements_with_errors_or_warnings;
+DESC sys.x$statements_with_errors_or_warnings;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+errors bigint(20) unsigned NO NULL
+error_pct decimal(27,4) NO 0.0000
+warnings bigint(20) unsigned NO NULL
+warning_pct decimal(27,4) NO 0.0000
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.x$statements_with_errors_or_warnings;
diff --git a/mysql-test/suite/sysschema/r/v_statements_with_full_table_scans.result b/mysql-test/suite/sysschema/r/v_statements_with_full_table_scans.result
new file mode 100644
index 00000000000..a762cfd7d3e
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_statements_with_full_table_scans.result
@@ -0,0 +1,69 @@
+DESC sys.statements_with_full_table_scans;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+total_latency text YES NULL
+no_index_used_count bigint(20) unsigned NO NULL
+no_good_index_used_count bigint(20) unsigned NO NULL
+no_index_used_pct decimal(24,0) NO 0
+rows_sent bigint(20) unsigned NO NULL
+rows_examined bigint(20) unsigned NO NULL
+rows_sent_avg decimal(21,0) unsigned YES NULL
+rows_examined_avg decimal(21,0) unsigned YES NULL
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.statements_with_full_table_scans;
+DESC sys.x$statements_with_full_table_scans;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+no_index_used_count bigint(20) unsigned NO NULL
+no_good_index_used_count bigint(20) unsigned NO NULL
+no_index_used_pct decimal(24,0) NO 0
+rows_sent bigint(20) unsigned NO NULL
+rows_examined bigint(20) unsigned NO NULL
+rows_sent_avg decimal(21,0) unsigned YES NULL
+rows_examined_avg decimal(21,0) unsigned YES NULL
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.x$statements_with_full_table_scans;
+CREATE DATABASE v_statements_with_full_table_scans;
+CREATE TABLE v_statements_with_full_table_scans.t (i BIGINT AUTO_INCREMENT PRIMARY KEY, j BIGINT) ENGINE = innodb;
+INSERT INTO v_statements_with_full_table_scans.t (j) VALUES (1), (2), (3);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+CALL sys.ps_truncate_all_tables(false);
+summary
+Truncated 44 tables
+SELECT i, j, RAND() FROM v_statements_with_full_table_scans.t WHERE j = 12;
+SELECT db, query, rows_examined FROM sys.statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+db query rows_examined
+SELECT db, query, rows_examined FROM sys.x$statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+db query rows_examined
+test SELECT `i` , `j` , `RAND` ( ) FROM `v_statements_with_full_table_scans` . `t` WHERE `j` = ? 768
+SELECT i, j, RAND() FROM v_statements_with_full_table_scans.t WHERE j = 12;
+SELECT db, query, rows_examined FROM sys.statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+db query rows_examined
+SELECT db, query, rows_examined FROM sys.x$statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+db query rows_examined
+test SELECT `i` , `j` , `RAND` ( ) FROM `v_statements_with_full_table_scans` . `t` WHERE `j` = ? 1536
+SELECT * FROM v_statements_with_full_table_scans.t WHERE i = 10;
+i j
+10 4
+SELECT db, query, rows_examined FROM sys.statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+db query rows_examined
+SELECT db, query, rows_examined FROM sys.x$statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+db query rows_examined
+test SELECT `i` , `j` , `RAND` ( ) FROM `v_statements_with_full_table_scans` . `t` WHERE `j` = ? 1536
+DROP DATABASE v_statements_with_full_table_scans;
diff --git a/mysql-test/suite/sysschema/r/v_statements_with_runtimes_in_95th_percentile.result b/mysql-test/suite/sysschema/r/v_statements_with_runtimes_in_95th_percentile.result
new file mode 100644
index 00000000000..5cc05f276f8
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_statements_with_runtimes_in_95th_percentile.result
@@ -0,0 +1,38 @@
+DESC sys.statements_with_runtimes_in_95th_percentile;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+full_scan varchar(1) NO
+exec_count bigint(20) unsigned NO NULL
+err_count bigint(20) unsigned NO NULL
+warn_count bigint(20) unsigned NO NULL
+total_latency text YES NULL
+max_latency text YES NULL
+avg_latency text YES NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_sent_avg decimal(21,0) NO 0
+rows_examined bigint(20) unsigned NO NULL
+rows_examined_avg decimal(21,0) NO 0
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.statements_with_runtimes_in_95th_percentile;
+DESC sys.x$statements_with_runtimes_in_95th_percentile;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+full_scan varchar(1) NO
+exec_count bigint(20) unsigned NO NULL
+err_count bigint(20) unsigned NO NULL
+warn_count bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_sent_avg decimal(21,0) NO 0
+rows_examined bigint(20) unsigned NO NULL
+rows_examined_avg decimal(21,0) NO 0
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.x$statements_with_runtimes_in_95th_percentile;
diff --git a/mysql-test/suite/sysschema/r/v_statements_with_sorting.result b/mysql-test/suite/sysschema/r/v_statements_with_sorting.result
new file mode 100644
index 00000000000..034987b8e72
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_statements_with_sorting.result
@@ -0,0 +1,32 @@
+DESC sys.statements_with_sorting;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+total_latency text YES NULL
+sort_merge_passes bigint(20) unsigned NO NULL
+avg_sort_merges decimal(21,0) NO 0
+sorts_using_scans bigint(20) unsigned NO NULL
+sort_using_range bigint(20) unsigned NO NULL
+rows_sorted bigint(20) unsigned NO NULL
+avg_rows_sorted decimal(21,0) NO 0
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.statements_with_sorting;
+DESC sys.x$statements_with_sorting;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+sort_merge_passes bigint(20) unsigned NO NULL
+avg_sort_merges decimal(21,0) NO 0
+sorts_using_scans bigint(20) unsigned NO NULL
+sort_using_range bigint(20) unsigned NO NULL
+rows_sorted bigint(20) unsigned NO NULL
+avg_rows_sorted decimal(21,0) NO 0
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.x$statements_with_sorting;
diff --git a/mysql-test/suite/sysschema/r/v_statements_with_temp_tables.result b/mysql-test/suite/sysschema/r/v_statements_with_temp_tables.result
new file mode 100644
index 00000000000..52683a561b2
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_statements_with_temp_tables.result
@@ -0,0 +1,28 @@
+DESC sys.statements_with_temp_tables;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+total_latency text YES NULL
+memory_tmp_tables bigint(20) unsigned NO NULL
+disk_tmp_tables bigint(20) unsigned NO NULL
+avg_tmp_tables_per_query decimal(21,0) NO 0
+tmp_tables_to_disk_pct decimal(24,0) NO 0
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.statements_with_temp_tables;
+DESC sys.x$statements_with_temp_tables;
+Field Type Null Key Default Extra
+query longtext YES NULL
+db varchar(64) YES NULL
+exec_count bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+memory_tmp_tables bigint(20) unsigned NO NULL
+disk_tmp_tables bigint(20) unsigned NO NULL
+avg_tmp_tables_per_query decimal(21,0) NO 0
+tmp_tables_to_disk_pct decimal(24,0) NO 0
+first_seen timestamp NO 0000-00-00 00:00:00
+last_seen timestamp NO 0000-00-00 00:00:00
+digest varchar(32) YES NULL
+SELECT * FROM sys.x$statements_with_temp_tables;
diff --git a/mysql-test/suite/sysschema/r/v_user_summary.result b/mysql-test/suite/sysschema/r/v_user_summary.result
new file mode 100644
index 00000000000..233fcccc5c8
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_user_summary.result
@@ -0,0 +1,30 @@
+DESC sys.user_summary;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+statements decimal(64,0) YES NULL
+statement_latency text YES NULL
+statement_avg_latency text YES NULL
+table_scans decimal(65,0) YES NULL
+file_ios decimal(64,0) YES NULL
+file_io_latency text YES NULL
+current_connections decimal(41,0) YES NULL
+total_connections decimal(41,0) YES NULL
+unique_hosts bigint(21) NO 0
+current_memory text YES NULL
+total_memory_allocated text YES NULL
+SELECT * FROM sys.user_summary;
+DESC sys.x$user_summary;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+statements decimal(64,0) YES NULL
+statement_latency decimal(64,0) YES NULL
+statement_avg_latency decimal(65,4) NO 0.0000
+table_scans decimal(65,0) YES NULL
+file_ios decimal(64,0) YES NULL
+file_io_latency decimal(64,0) YES NULL
+current_connections decimal(41,0) YES NULL
+total_connections decimal(41,0) YES NULL
+unique_hosts bigint(21) NO 0
+current_memory decimal(63,0) YES NULL
+total_memory_allocated decimal(64,0) YES NULL
+SELECT * FROM sys.x$user_summary;
diff --git a/mysql-test/suite/sysschema/r/v_user_summary_by_file_io.result b/mysql-test/suite/sysschema/r/v_user_summary_by_file_io.result
new file mode 100644
index 00000000000..f6f106a5015
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_user_summary_by_file_io.result
@@ -0,0 +1,12 @@
+DESC sys.user_summary_by_file_io;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+ios decimal(42,0) YES NULL
+io_latency text YES NULL
+SELECT * FROM sys.user_summary_by_file_io;
+DESC sys.x$user_summary_by_file_io;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+ios decimal(42,0) YES NULL
+io_latency decimal(42,0) YES NULL
+SELECT * FROM sys.x$user_summary_by_file_io;
diff --git a/mysql-test/suite/sysschema/r/v_user_summary_by_file_io_type.result b/mysql-test/suite/sysschema/r/v_user_summary_by_file_io_type.result
new file mode 100644
index 00000000000..c143697c068
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_user_summary_by_file_io_type.result
@@ -0,0 +1,16 @@
+DESC sys.user_summary_by_file_io_type;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.user_summary_by_file_io_type;
+DESC sys.x$user_summary_by_file_io_type;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$user_summary_by_file_io_type;
diff --git a/mysql-test/suite/sysschema/r/v_user_summary_by_stages.result b/mysql-test/suite/sysschema/r/v_user_summary_by_stages.result
new file mode 100644
index 00000000000..9b90fe9cf47
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_user_summary_by_stages.result
@@ -0,0 +1,16 @@
+DESC sys.user_summary_by_stages;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+avg_latency text YES NULL
+SELECT * FROM sys.user_summary_by_stages;
+DESC sys.x$user_summary_by_stages;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+event_name varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$user_summary_by_stages;
diff --git a/mysql-test/suite/sysschema/r/v_user_summary_by_statement_latency.result b/mysql-test/suite/sysschema/r/v_user_summary_by_statement_latency.result
new file mode 100644
index 00000000000..36dadc2925b
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_user_summary_by_statement_latency.result
@@ -0,0 +1,24 @@
+DESC sys.user_summary_by_statement_latency;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+total decimal(42,0) YES NULL
+total_latency text YES NULL
+max_latency text YES NULL
+lock_latency text YES NULL
+rows_sent decimal(42,0) YES NULL
+rows_examined decimal(42,0) YES NULL
+rows_affected decimal(42,0) YES NULL
+full_scans decimal(43,0) YES NULL
+SELECT * FROM sys.user_summary_by_statement_latency;
+DESC sys.x$user_summary_by_statement_latency;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+total decimal(42,0) YES NULL
+total_latency decimal(42,0) YES NULL
+max_latency decimal(42,0) YES NULL
+lock_latency decimal(42,0) YES NULL
+rows_sent decimal(42,0) YES NULL
+rows_examined decimal(42,0) YES NULL
+rows_affected decimal(42,0) YES NULL
+full_scans decimal(43,0) YES NULL
+SELECT * FROM sys.x$user_summary_by_statement_latency;
diff --git a/mysql-test/suite/sysschema/r/v_user_summary_by_statement_type.result b/mysql-test/suite/sysschema/r/v_user_summary_by_statement_type.result
new file mode 100644
index 00000000000..bd006c871b9
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_user_summary_by_statement_type.result
@@ -0,0 +1,26 @@
+DESC sys.user_summary_by_statement_type;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+statement varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+max_latency text YES NULL
+lock_latency text YES NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_examined bigint(20) unsigned NO NULL
+rows_affected bigint(20) unsigned NO NULL
+full_scans bigint(21) unsigned NO 0
+SELECT * FROM sys.user_summary_by_statement_type;
+DESC sys.x$user_summary_by_statement_type;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+statement varchar(128) YES NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+lock_latency bigint(20) unsigned NO NULL
+rows_sent bigint(20) unsigned NO NULL
+rows_examined bigint(20) unsigned NO NULL
+rows_affected bigint(20) unsigned NO NULL
+full_scans bigint(21) unsigned NO 0
+SELECT * FROM sys.x$user_summary_by_statement_type;
diff --git a/mysql-test/suite/sysschema/r/v_version.result b/mysql-test/suite/sysschema/r/v_version.result
new file mode 100644
index 00000000000..ac914fc8524
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_version.result
@@ -0,0 +1,3 @@
+SELECT sys_version FROM sys.version;
+sys_version
+1.5.1
diff --git a/mysql-test/suite/sysschema/r/v_wait_classes_global_by_avg_latency.result b/mysql-test/suite/sysschema/r/v_wait_classes_global_by_avg_latency.result
new file mode 100644
index 00000000000..f6559cb7dd7
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_wait_classes_global_by_avg_latency.result
@@ -0,0 +1,18 @@
+DESC sys.wait_classes_global_by_avg_latency;
+Field Type Null Key Default Extra
+event_class varchar(128) YES NULL
+total decimal(42,0) YES NULL
+total_latency text YES NULL
+min_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.wait_classes_global_by_avg_latency;
+DESC sys.x$wait_classes_global_by_avg_latency;
+Field Type Null Key Default Extra
+event_class varchar(128) YES NULL
+total decimal(42,0) YES NULL
+total_latency decimal(42,0) YES NULL
+min_latency bigint(20) unsigned YES NULL
+avg_latency decimal(46,4) NO 0.0000
+max_latency bigint(20) unsigned YES NULL
+SELECT * FROM sys.x$wait_classes_global_by_avg_latency;
diff --git a/mysql-test/suite/sysschema/r/v_wait_classes_global_by_latency.result b/mysql-test/suite/sysschema/r/v_wait_classes_global_by_latency.result
new file mode 100644
index 00000000000..10db5ead78b
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_wait_classes_global_by_latency.result
@@ -0,0 +1,18 @@
+DESC sys.wait_classes_global_by_latency;
+Field Type Null Key Default Extra
+event_class varchar(128) YES NULL
+total decimal(42,0) YES NULL
+total_latency text YES NULL
+min_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.wait_classes_global_by_latency;
+DESC sys.x$wait_classes_global_by_latency;
+Field Type Null Key Default Extra
+event_class varchar(128) YES NULL
+total decimal(42,0) YES NULL
+total_latency decimal(42,0) YES NULL
+min_latency bigint(20) unsigned YES NULL
+avg_latency decimal(46,4) NO 0.0000
+max_latency bigint(20) unsigned YES NULL
+SELECT * FROM sys.x$wait_classes_global_by_latency;
diff --git a/mysql-test/suite/sysschema/r/v_waits_by_host_by_latency.result b/mysql-test/suite/sysschema/r/v_waits_by_host_by_latency.result
new file mode 100644
index 00000000000..5e595d9cf85
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_waits_by_host_by_latency.result
@@ -0,0 +1,18 @@
+DESC sys.waits_by_host_by_latency;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+event varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.waits_by_host_by_latency;
+DESC sys.x$waits_by_host_by_latency;
+Field Type Null Key Default Extra
+host varchar(255) YES NULL
+event varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$waits_by_host_by_latency;
diff --git a/mysql-test/suite/sysschema/r/v_waits_by_user_by_latency.result b/mysql-test/suite/sysschema/r/v_waits_by_user_by_latency.result
new file mode 100644
index 00000000000..860db68cc50
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_waits_by_user_by_latency.result
@@ -0,0 +1,18 @@
+DESC sys.waits_by_user_by_latency;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+event varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.waits_by_user_by_latency;
+DESC sys.x$waits_by_user_by_latency;
+Field Type Null Key Default Extra
+user varchar(128) YES NULL
+event varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$waits_by_user_by_latency;
diff --git a/mysql-test/suite/sysschema/r/v_waits_global_by_latency.result b/mysql-test/suite/sysschema/r/v_waits_global_by_latency.result
new file mode 100644
index 00000000000..1e32a9b8ff0
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/v_waits_global_by_latency.result
@@ -0,0 +1,16 @@
+DESC sys.waits_global_by_latency;
+Field Type Null Key Default Extra
+events varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency text YES NULL
+avg_latency text YES NULL
+max_latency text YES NULL
+SELECT * FROM sys.waits_global_by_latency;
+DESC sys.x$waits_global_by_latency;
+Field Type Null Key Default Extra
+events varchar(128) NO NULL
+total bigint(20) unsigned NO NULL
+total_latency bigint(20) unsigned NO NULL
+avg_latency bigint(20) unsigned NO NULL
+max_latency bigint(20) unsigned NO NULL
+SELECT * FROM sys.x$waits_global_by_latency;
diff --git a/mysql-test/suite/sysschema/r/version_functions.result b/mysql-test/suite/sysschema/r/version_functions.result
new file mode 100644
index 00000000000..57082ebcd5f
--- /dev/null
+++ b/mysql-test/suite/sysschema/r/version_functions.result
@@ -0,0 +1,6 @@
+SELECT sys.version_major();
+SELECT sys.version_minor();
+SELECT sys.version_patch();
+SELECT @my_version = SUBSTRING(VERSION(), 1, CHAR_LENGTH(@my_version));
+@my_version = SUBSTRING(VERSION(), 1, CHAR_LENGTH(@my_version))
+1
diff --git a/mysql-test/suite/sysschema/suite.opt b/mysql-test/suite/sysschema/suite.opt
new file mode 100644
index 00000000000..139597f9cb0
--- /dev/null
+++ b/mysql-test/suite/sysschema/suite.opt
@@ -0,0 +1,2 @@
+
+
diff --git a/mysql-test/suite/sysschema/suite.pm b/mysql-test/suite/sysschema/suite.pm
new file mode 100644
index 00000000000..679362b30dd
--- /dev/null
+++ b/mysql-test/suite/sysschema/suite.pm
@@ -0,0 +1,8 @@
+package My::Suite::Sysschema;
+
+@ISA = qw(My::Suite);
+
+use strict;
+
+return "Need perfschema engine" unless exists($::mysqld_variables{'performance-schema'}) ;
+bless { };
diff --git a/mysql-test/suite/sysschema/t/all_sys_objects_exist.test b/mysql-test/suite/sysschema/t/all_sys_objects_exist.test
new file mode 100644
index 00000000000..f4c8ee36359
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/all_sys_objects_exist.test
@@ -0,0 +1,16 @@
+-- source include/not_embedded.inc
+# Ensure database exists
+USE sys;
+
+# Ensure all views are created
+SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'sys' ORDER BY TABLE_NAME;
+
+# Ensure all functions and routines are created
+SELECT ROUTINE_NAME, ROUTINE_TYPE FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = 'sys' ORDER BY ROUTINE_TYPE, ROUTINE_NAME;
+
+# Ensure all triggers are created
+SELECT TRIGGER_NAME FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA = 'sys' ORDER BY TRIGGER_NAME;
+
+# Check the version of the schema (and ensure no updates slip in undetected)
+SELECT sys_version FROM sys.version;
+
diff --git a/mysql-test/suite/sysschema/t/fn_extract_schema_from_file_name.test b/mysql-test/suite/sysschema/t/fn_extract_schema_from_file_name.test
new file mode 100644
index 00000000000..f3051947054
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_extract_schema_from_file_name.test
@@ -0,0 +1,9 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.extract_schema_from_file_name() function perfoms as expected
+
+# Passing NULL should return NULL
+SELECT sys.extract_schema_from_file_name(NULL);
+
+# Ensure the right part of the path is extracted
+SELECT sys.extract_schema_from_file_name('/var/lib/mysql/employees/employee.ibd');
diff --git a/mysql-test/suite/sysschema/t/fn_extract_table_from_file_name.test b/mysql-test/suite/sysschema/t/fn_extract_table_from_file_name.test
new file mode 100644
index 00000000000..6e45917492e
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_extract_table_from_file_name.test
@@ -0,0 +1,9 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.extract_table_from_file_name() function perfoms as expected
+
+# Passing NULL should return NULL
+SELECT sys.extract_table_from_file_name(NULL);
+
+# Ensure the right part of the path is extracted
+SELECT sys.extract_table_from_file_name('/var/lib/mysql/employees/employee.ibd');
diff --git a/mysql-test/suite/sysschema/t/fn_format_bytes.test b/mysql-test/suite/sysschema/t/fn_format_bytes.test
new file mode 100644
index 00000000000..418c85c7051
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_format_bytes.test
@@ -0,0 +1,30 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.format_bytes() function perfoms as expected
+
+# Passing NULL/nothing should return NULL
+SELECT sys.format_bytes(NULL);
+
+# Format bytes
+SELECT sys.format_bytes(1);
+SELECT sys.format_bytes(1023);
+
+# Format kilobytes
+SELECT sys.format_bytes(1024);
+SELECT sys.format_bytes(1048575);
+
+# Format megabytes
+SELECT sys.format_bytes(1048576);
+SELECT sys.format_bytes(1073741823);
+
+# Format gigabytes
+SELECT sys.format_bytes(1073741824);
+SELECT sys.format_bytes(1099511627775);
+
+# Format terabytes
+SELECT sys.format_bytes(1099511627776);
+SELECT sys.format_bytes(1125899906842623);
+
+# Formate petabytes
+SELECT sys.format_bytes(1125899906842624);
+SELECT sys.format_bytes(1125899906842624238947293);
diff --git a/mysql-test/suite/sysschema/t/fn_format_path.test b/mysql-test/suite/sysschema/t/fn_format_path.test
new file mode 100644
index 00000000000..24f78f766f0
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_format_path.test
@@ -0,0 +1,17 @@
+-- source include/not_embedded.inc
+-- source include/not_windows.inc
+
+
+# Passing NULL should return NULL
+SELECT sys.format_path(NULL);
+# Ensure datadir is recognized and stripped
+SET @mypath := CONCAT(@@global.datadir, 'foo/bar.foo');
+
+SELECT sys.format_path(@mypath);
+
+# Ensure tmpdir is recognized and stripped
+SET @mypath := CONCAT(@@global.tmpdir, '/foo/bar.foo');
+SELECT sys.format_path(@mypath);
+
+# Unrecognized paths should return the full path
+SELECT sys.format_path('/foo/bar/baz.foo');
diff --git a/mysql-test/suite/sysschema/t/fn_format_statement.test b/mysql-test/suite/sysschema/t/fn_format_statement.test
new file mode 100644
index 00000000000..a4cffef0789
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_format_statement.test
@@ -0,0 +1,13 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.format_statement() function perfoms as expected
+
+# Passing NULL should return NULL
+SELECT sys.format_statement(NULL);
+
+# Ensure long statements are truncated correctly
+SELECT sys.format_statement('SELECT foo, bar, baz, foobar, foobaz FROM foo JOIN bar USING (foobar) JOIN baz USING (foobar) WHERE foo = \'foo\' AND bar = \'bar\'') AS statement;
+
+# Increase truncation limit and test that it takes effect
+SET @sys.statement_truncate_len = 80;
+SELECT sys.format_statement('SELECT foo, bar, baz, foobar, foobaz FROM foo JOIN bar USING (foobar) JOIN baz USING (foobar) WHERE foo = \'foo\' AND bar = \'bar\'') AS statement;
diff --git a/mysql-test/suite/sysschema/t/fn_format_time.test b/mysql-test/suite/sysschema/t/fn_format_time.test
new file mode 100644
index 00000000000..9973443e8d7
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_format_time.test
@@ -0,0 +1,42 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.format_time() function perfoms as expected
+
+# Passing NULL should return NULL
+SELECT sys.format_time(NULL);
+
+# Format picoseconds
+SELECT sys.format_time(1);
+SELECT sys.format_time(999);
+
+# Format nanoseconds
+SELECT sys.format_time(1000);
+SELECT sys.format_time(999999);
+
+# Format microseconds
+SELECT sys.format_time(1000000);
+SELECT sys.format_time(999999999);
+
+# Format milliseconds
+SELECT sys.format_time(1000000000);
+SELECT sys.format_time(999999999999);
+
+# Format seconds
+SELECT sys.format_time(1000000000000);
+SELECT sys.format_time(59999999999999);
+
+# Format minutes
+SELECT sys.format_time(60000000000000);
+SELECT sys.format_time(3599999999999999);
+
+# Format hours
+SELECT sys.format_time(3600000000000000);
+SELECT sys.format_time(86399999999999988);
+
+# Format days
+SELECT sys.format_time(86400000000000000);
+SELECT sys.format_time(604799999999999888);
+
+# Format weeks
+SELECT sys.format_time(604800000000000000);
+SELECT sys.format_time(2389472398472389748237429837423984728374);
diff --git a/mysql-test/suite/sysschema/t/fn_list_add.test b/mysql-test/suite/sysschema/t/fn_list_add.test
new file mode 100644
index 00000000000..d2e479ed392
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_list_add.test
@@ -0,0 +1,39 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.list_add() function perfoms as expected
+
+# Should init with a single value
+SELECT sys.list_add(NULL, 'foo');
+
+# Should init with a single value
+SELECT sys.list_add('', 'foo');
+
+# Should add to the list with a comma
+SELECT sys.list_add('bar', 'foo');
+
+# Should add to the list with a single comma
+SELECT sys.list_add('bar, ', 'foo');
+
+# Should return an error with a NULL value to add
+--error 1138
+SELECT sys.list_add('foo', NULL);
+
+# Test the sql mode update use case
+# save old mode to restore
+SET @sqlmode := @@sql_mode;
+
+SELECT @@sql_mode;
+
+SET SESSION sql_mode = sys.list_add(@@sql_mode, 'ANSI_QUOTES');
+
+SELECT @@sql_mode;
+
+# restore old mode
+SET SESSION sql_mode = @sqlmode;
+SET @sqlmode := NULL;
+
+# Check too large a value
+SET @input := REPEAT('a', 4194304);
+-- error 1406
+SELECT sys.list_add(@input, 'foo');
+SET @input := NULL;
diff --git a/mysql-test/suite/sysschema/t/fn_list_drop.test b/mysql-test/suite/sysschema/t/fn_list_drop.test
new file mode 100644
index 00000000000..f7b0d16bb0a
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_list_drop.test
@@ -0,0 +1,35 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.sql_mode_drop() function perfoms as expected
+
+# Remove from front of list
+SELECT sys.list_drop('1,2,3,4,5', '1');
+
+# Remove from middle of list
+SELECT sys.list_drop('1,2,3,4,5', '3');
+
+# Remove from end of list
+SELECT sys.list_drop('1,2,3,4,5', '5');
+
+# Make sure spaces are appropriately dealt with
+SELECT sys.list_drop('1, 2, 3, 4, 5', '1');
+SELECT sys.list_drop('1, 2, 3, 4, 5', '3');
+SELECT sys.list_drop('1, 2, 3, 4, 5', '5');
+
+# Should return an error with a NULL value to drop
+--error 1138
+SELECT sys.list_drop('1,2,3,4,5', NULL);
+
+# Test the sql mode update use case
+# save old mode to restore
+SET @sqlmode := @@sql_mode;
+
+SELECT @@sql_mode;
+
+SET SESSION sql_mode = sys.list_drop(@@sql_mode, 'STRICT_TRANS_TABLES');
+
+SELECT @@sql_mode;
+
+# restore old mode
+SET SESSION sql_mode = @sqlmode;
+SET @sqlmode := NULL;
diff --git a/mysql-test/suite/sysschema/t/fn_ps_is_account_enabled.test b/mysql-test/suite/sysschema/t/fn_ps_is_account_enabled.test
new file mode 100644
index 00000000000..c3bc7a25792
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_is_account_enabled.test
@@ -0,0 +1,20 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_is_account_enabled() function perfoms as expected
+
+# First test with the default "all enabled" for any random user
+SELECT sys.ps_is_account_enabled('foo', 'bar');
+
+# Now remove the wild card entry, and add some specific users to testx
+DELETE FROM performance_schema.setup_actors;
+
+INSERT INTO performance_schema.setup_actors VALUES
+ ('test', 'test', '%', 'YES', 'NO');
+
+# Now the random account should not be enabled
+SELECT sys.ps_is_account_enabled('foo', 'bar');
+
+# But the specified one should
+SELECT sys.ps_is_account_enabled('test', 'test');
+
+--source ../include/ps_setup_actors_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/fn_ps_is_consumer_enabled.test b/mysql-test/suite/sysschema/t/fn_ps_is_consumer_enabled.test
new file mode 100644
index 00000000000..e6e5fac0170
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_is_consumer_enabled.test
@@ -0,0 +1,39 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_is_consumer_enabled() function perfoms as expected
+
+# Should be disabled by default
+UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name = 'events_stages_history';
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+
+# Should be enabled by default
+SELECT sys.ps_is_consumer_enabled('global_instrumentation');
+
+#
+# Check that hierarchy is properly reflected
+#
+
+UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name = 'events_stages_current';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name = 'events_stages_history';
+
+# Should still be disabled, as events_stages_current not enabled
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+
+UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name = 'events_stages_current';
+
+# Now it should be enabled
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+
+# Toggling global_instrumentation should disable all other consumers
+UPDATE performance_schema.setup_consumers SET enabled = 'NO' WHERE name = 'global_instrumentation';
+
+SELECT sys.ps_is_consumer_enabled('thread_instrumentation');
+SELECT sys.ps_is_consumer_enabled('statements_digest');
+SELECT sys.ps_is_consumer_enabled('events_stages_current');
+SELECT sys.ps_is_consumer_enabled('events_stages_history');
+SELECT sys.ps_is_consumer_enabled('events_stages_history_long');
+SELECT sys.ps_is_consumer_enabled('events_statements_current');
+SELECT sys.ps_is_consumer_enabled('events_statements_history');
+SELECT sys.ps_is_consumer_enabled('events_statements_history_long');
+
+--source ../include/ps_setup_consumers_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_enabled.test b/mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_enabled.test
new file mode 100644
index 00000000000..a3eb67f1250
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_enabled.test
@@ -0,0 +1,23 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_is_instrument_default_enabled() function perfoms as expected
+
+# Should all be enabled
+SELECT sys.ps_is_instrument_default_enabled('memory/performance_schema/internal_buffers');
+SELECT sys.ps_is_instrument_default_enabled('statement/sql/select');
+SELECT sys.ps_is_instrument_default_enabled('statement/sp/error');
+SELECT sys.ps_is_instrument_default_enabled('statement/com/Prepare');
+SELECT sys.ps_is_instrument_default_enabled('wait/io/file/sql/binlog');
+SELECT sys.ps_is_instrument_default_enabled('wait/io/table/sql/handler');
+SELECT sys.ps_is_instrument_default_enabled('wait/lock/table/sql/handler');
+SELECT sys.ps_is_instrument_default_enabled('idle');
+
+# Should all be disabled
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/mutex/sql/LOCK_plugin');
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/rwlock/sql/LOCK_grant');
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/sxlock/innodb/btr_search_latch');
+SELECT sys.ps_is_instrument_default_enabled('wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond');
+SELECT sys.ps_is_instrument_default_enabled('stage/sql/end');
+SELECT sys.ps_is_instrument_default_enabled('transaction');
+SELECT sys.ps_is_instrument_default_enabled('wait/io/socket/sql/server_tcpip_socket');
+SELECT sys.ps_is_instrument_default_enabled('wait/lock/metadata/sql/mdl');
diff --git a/mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_timed.test b/mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_timed.test
new file mode 100644
index 00000000000..1d53a96f1fa
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_is_instrument_default_timed.test
@@ -0,0 +1,23 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_is_instrument_default_timed() function perfoms as expected
+
+# Should all be enabled
+SELECT sys.ps_is_instrument_default_timed('wait/io/file/sql/binlog');
+SELECT sys.ps_is_instrument_default_timed('statement/sql/select');
+SELECT sys.ps_is_instrument_default_timed('statement/sp/error');
+SELECT sys.ps_is_instrument_default_timed('statement/com/Prepare');
+SELECT sys.ps_is_instrument_default_timed('wait/io/table/sql/handler');
+SELECT sys.ps_is_instrument_default_timed('wait/lock/table/sql/handler');
+SELECT sys.ps_is_instrument_default_timed('idle');
+
+# Should all be disabled
+SELECT sys.ps_is_instrument_default_timed('wait/synch/mutex/sql/LOCK_plugin');
+SELECT sys.ps_is_instrument_default_timed('wait/synch/rwlock/sql/LOCK_grant');
+SELECT sys.ps_is_instrument_default_timed('wait/synch/sxlock/innodb/btr_search_latch');
+SELECT sys.ps_is_instrument_default_timed('wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond');
+SELECT sys.ps_is_instrument_default_timed('stage/sql/end');
+SELECT sys.ps_is_instrument_default_timed('transaction');
+SELECT sys.ps_is_instrument_default_timed('wait/io/socket/sql/server_tcpip_socket');
+SELECT sys.ps_is_instrument_default_timed('memory/performance_schema/internal_buffers');
+SELECT sys.ps_is_instrument_default_timed('wait/lock/metadata/sql/mdl');
diff --git a/mysql-test/suite/sysschema/t/fn_ps_is_thread_instrumented.test b/mysql-test/suite/sysschema/t/fn_ps_is_thread_instrumented.test
new file mode 100644
index 00000000000..0ee9bb50f2b
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_is_thread_instrumented.test
@@ -0,0 +1,18 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_is_thread_instrumented() function perfoms as expected
+
+# Passing NULL/nothing should return NULL
+SELECT sys.ps_is_thread_instrumented(NULL);
+
+# By default current thread should be instrumented
+SELECT sys.ps_is_thread_instrumented(CONNECTION_ID());
+
+# Now toggle our thread to off and re-check
+UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = CONNECTION_ID();
+SELECT sys.ps_is_thread_instrumented(CONNECTION_ID());
+
+# Try some huge number to check unknown connections
+SELECT sys.ps_is_thread_instrumented(234623462376);
+
+--source ../include/ps_threads_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/fn_ps_thread_account.test b/mysql-test/suite/sysschema/t/fn_ps_thread_account.test
new file mode 100644
index 00000000000..77b6241add0
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_thread_account.test
@@ -0,0 +1,11 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_thread_account() function perfoms as expected
+
+# Passing NULL, or an unknown connection id, should return NULL
+SELECT sys.ps_thread_account(NULL);
+SELECT sys.ps_thread_account(234623462376);
+
+
+# Check result
+SELECT sys.ps_thread_account(sys.ps_thread_id(NULL));
diff --git a/mysql-test/suite/sysschema/t/fn_ps_thread_id.test b/mysql-test/suite/sysschema/t/fn_ps_thread_id.test
new file mode 100644
index 00000000000..ca8b4fb437c
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_thread_id.test
@@ -0,0 +1,18 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.ps_thread_id() function perfoms as expected
+
+# Passing unknown connection id should return NULL
+SELECT sys.ps_thread_id(234623462376);
+
+# Grab the thread_id for this connection directly from Performance Schema
+let $MY_THREAD_ID=`SELECT thread_id FROM performance_schema.threads
+ WHERE PROCESSLIST_ID = connection_id()`;
+
+--disable_query_log ONCE
+eval SET @ps_thread_id = $MY_THREAD_ID;
+
+SELECT sys.ps_thread_id(CONNECTION_ID()) = @ps_thread_id;
+
+# Passing NULL should also return the current connection thread id
+SELECT sys.ps_thread_id(NULL) = @ps_thread_id;
diff --git a/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test b/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test
new file mode 100644
index 00000000000..ddf462473ca
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_ps_thread_trx_info.test
@@ -0,0 +1,91 @@
+# Tests for sys schema
+# Verify the sys.ps_thread_trx_info() function perfoms as expected
+
+-- source include/not_embedded.inc
+# Performance schema tracks prepared statements separately, and does not
+# yet have a summary view that we can use for this view.
+# Until then, we disable this test with --ps-protocol
+-- source include/no_protocol.inc
+
+# Passing unknown connection id should return NULL
+SELECT sys.ps_thread_trx_info(234623462376);
+
+# Make sure current thread returns a valid JSON object
+SELECT JSON_VALID(sys.ps_thread_trx_info(sys.ps_thread_id(NULL)));
+
+# Dummy up some transactions and inspect
+CREATE DATABASE trx;
+CREATE TABLE trx.info (id INT PRIMARY KEY, info VARCHAR(20));
+
+--connect(con1,localhost,root,,)
+connection con1;
+let $NEW_TRX_ID=`SELECT thread_id FROM performance_schema.threads
+ WHERE PROCESSLIST_ID = connection_id()`;
+
+USE trx;
+START TRANSACTION;
+INSERT INTO info VALUES (1, 'foo');
+COMMIT;
+START TRANSACTION;
+INSERT INTO info VALUES (2, 'bar');
+COMMIT;
+
+connection default;
+--disable_query_log ONCE
+eval SET @ps_thread_id = $NEW_TRX_ID;
+
+# Get the JSON dump of the transaction info
+SET @json_doc := sys.ps_thread_trx_info(@ps_thread_id);
+
+# JSON should be valid
+SELECT JSON_VALID(@json_doc);
+
+# Should have two transactions in the array
+SELECT JSON_LENGTH(@json_doc);
+
+# Expected keys are returned for first transaction details
+SELECT JSON_KEYS(JSON_EXTRACT(@json_doc, '$[0]'));
+
+# Expected values are returned for the transaction details
+SELECT JSON_CONTAINS_PATH(@json_doc, 'one', '$[0].time');
+SELECT JSON_CONTAINS(@json_doc, '"COMMITTED"', '$[0].state');
+SELECT JSON_CONTAINS(@json_doc, '"READ WRITE"', '$[0].mode');
+SELECT JSON_CONTAINS(@json_doc, '"NO"', '$[0].autocommitted');
+SELECT JSON_CONTAINS(@json_doc, '"AUTOMATIC"', '$[0].gtid');
+SELECT JSON_CONTAINS(@json_doc, '"REPEATABLE READ"', '$[0].isolation');
+
+# Expected keys are returned for first transaction statements_executed details
+SELECT JSON_KEYS(JSON_EXTRACT(@json_doc, '$[0].statements_executed[0]'));
+
+# Confirm statement details values
+SELECT JSON_CONTAINS_PATH(@json_doc, 'one', '$[0].statements_executed[0].time');
+SELECT JSON_CONTAINS(@json_doc, '"INSERT INTO info VALUES (1, \'foo\')"', '$[0].statements_executed[0].sql_text');
+SELECT JSON_CONTAINS(@json_doc, '"trx"', '$[0].statements_executed[0].schema');
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].rows_examined');
+SELECT JSON_CONTAINS(@json_doc, '1', '$[0].statements_executed[0].rows_affected');
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].rows_sent');
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].tmp_tables');
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].tmp_disk_tables');
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].sort_rows');
+SELECT JSON_CONTAINS(@json_doc, '0', '$[0].statements_executed[0].sort_merge_passes');
+
+# Second statement in transaction should be a COMMIT
+SELECT JSON_CONTAINS(@json_doc, '"COMMIT"', '$[0].statements_executed[1].sql_text');
+
+# Simulate a truncated set of output by lowering the @sys.ps_thread_trx_info.max_length user variable
+# This also tests the user variable works appropriately, incidentally
+
+SET @sys.ps_thread_trx_info.max_length = 100;
+
+# Should return an error JSON object
+--replace_regex /Row 1[1-2] was/Row 1X was/
+SELECT sys.ps_thread_trx_info(@ps_thread_id);
+
+# Setting the user variable back to NULL should reset to 65535 from sys_config, and no truncation
+SET @sys.ps_thread_trx_info.max_length = NULL;
+SELECT JSON_VALID(sys.ps_thread_trx_info(@ps_thread_id));
+
+# Clean up
+
+disconnect con1;
+DROP DATABASE trx;
diff --git a/mysql-test/suite/sysschema/t/fn_quote_identifier.test b/mysql-test/suite/sysschema/t/fn_quote_identifier.test
new file mode 100644
index 00000000000..0beb7fb2aa4
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_quote_identifier.test
@@ -0,0 +1,25 @@
+########### suite/sysschema/t/fn_quote_identifier.test #############
+# #
+# Testing of of the sys.quote_identifier() function #
+# #
+# Creation: #
+# 2016-05-23 jkrogh Implement this test as part of bug 22011361 #
+# #
+####################################################################
+
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.quote_identifer() function perfoms as expected
+
+# Passing NULL should return NULL
+SELECT sys.quote_identifier(NULL);
+
+# Passing a simple string
+SELECT sys.quote_identifier('abc');
+
+# Passing a string containing backticks (`)
+SELECT sys.quote_identifier('ab`c');
+SELECT sys.quote_identifier('ab``c');
+SELECT sys.quote_identifier('ab```c');
+SELECT sys.quote_identifier('a`b`c');
+SELECT sys.quote_identifier('a`b``c');
diff --git a/mysql-test/suite/sysschema/t/fn_sys_get_config.test b/mysql-test/suite/sysschema/t/fn_sys_get_config.test
new file mode 100644
index 00000000000..1bdf87f1e05
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/fn_sys_get_config.test
@@ -0,0 +1,13 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.sys_get_config() function perfoms as expected
+
+# Check a known parameter
+SET @sys.statement_truncate_len := IFNULL(@sys.statement_truncate_len, sys.sys_get_config('statement_truncate_len', 128));
+
+SELECT @sys.statement_truncate_len;
+
+# Check an unknown parameter
+SET @sys.foo := IFNULL(@sys.foo, sys.sys_get_config('foo', 'foobar'));
+
+SELECT @sys.foo;
diff --git a/mysql-test/suite/sysschema/t/mysqldump.test b/mysql-test/suite/sysschema/t/mysqldump.test
new file mode 100644
index 00000000000..35abc704117
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/mysqldump.test
@@ -0,0 +1,35 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+# Dump all databases
+--exec $MYSQL_DUMP -uroot --all-databases > $MYSQLTEST_VARDIR/tmp/bug20902791.sql
+
+# Save a copy of the user/tables_priv, to restore later
+# Otherwise the final mysql_upgrade will REPLACE and update timestamps etc.
+CREATE TEMPORARY TABLE tmp_global_priv AS SELECT * FROM mysql.global_priv;
+CREATE TEMPORARY TABLE tmp_tables_priv AS SELECT * FROM mysql.tables_priv;
+
+# Remove the sys schema
+DROP DATABASE sys;
+
+# Reload the dump
+--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20902791.sql
+
+# The sys schema should not exist
+SHOW DATABASES;
+
+# Finally reload the sys schema to return to normal
+--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
+SHOW DATABASES;
+
+# Restore the saved privileges
+TRUNCATE TABLE mysql.global_priv;
+INSERT INTO mysql.global_priv (SELECT * FROM tmp_global_priv);
+DROP TEMPORARY TABLE tmp_global_priv;
+
+TRUNCATE TABLE mysql.tables_priv;
+INSERT INTO mysql.tables_priv (SELECT * FROM tmp_tables_priv);
+DROP TEMPORARY TABLE tmp_tables_priv;
+
+FLUSH PRIVILEGES;
+--let $MYSQLD_DATADIR= `select @@datadir`
+--remove_file $MYSQLD_DATADIR/mysql_upgrade_info
diff --git a/mysql-test/suite/sysschema/t/pr_create_synonym_db.test b/mysql-test/suite/sysschema/t/pr_create_synonym_db.test
new file mode 100644
index 00000000000..4fbe8759380
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_create_synonym_db.test
@@ -0,0 +1,52 @@
+########### suite/sysschema/t/pr_create_synonym_db.test #############
+# #
+# Testing of of the sys.pr_create_synonym_db() procedure #
+# #
+# Creation: #
+# 2016-05-23 jkrogh Implement this test as part of bug 22011361 #
+# #
+#####################################################################
+
+-- source include/not_embedded.inc
+# Create a couple of tables and a view
+CREATE TABLE t1 (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE TABLE t2 (t2_id int PRIMARY KEY, t1_id int, t2_val int, INDEX (t1_id));
+CREATE TABLE `is` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE SQL SECURITY INVOKER VIEW myview AS SELECT * FROM t1 NATURAL JOIN t2;
+
+# Make synonym db of test into test1
+CALL sys.create_synonym_db('test', 'test1');
+# Verify there's one view in test1 per table and view in test
+SELECT TABLE_NAME, SECURITY_TYPE FROM information_schema.VIEWS WHERE TABLE_SCHEMA = 'test1' ORDER BY TABLE_NAME;
+# Try again (should fail)
+-- error ER_SIGNAL_EXCEPTION
+CALL sys.create_synonym_db('test', 'test1');
+
+# Try to make the synonym db for an existing empty schema
+CREATE SCHEMA test2;
+-- error ER_SIGNAL_EXCEPTION
+CALL sys.create_synonym_db('test', 'test2');
+# Ensure test2 is still empty
+SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'test2';
+
+# Use a reserved identifer, Bug #22011361
+CALL sys.create_synonym_db('test', 'is');
+# Verify there's one view in is per table and view in test
+SELECT TABLE_NAME, SECURITY_TYPE FROM information_schema.VIEWS WHERE TABLE_SCHEMA = 'is' ORDER BY TABLE_NAME;
+
+# Copy the is schema to i`s schema:
+CALL sys.create_synonym_db('is', 'i`s');
+# Verify there's one view in i`s per table and view in is
+SELECT TABLE_NAME, SECURITY_TYPE FROM information_schema.VIEWS WHERE TABLE_SCHEMA = 'i`s' ORDER BY TABLE_NAME;
+
+# Clean up
+DROP SCHEMA test1;
+DROP SCHEMA test2;
+DROP SCHEMA `is`;
+DROP SCHEMA `i``s`;
+DROP VIEW test.myview;
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP TABLE `is`;
+DROP TABLE `ab``c`;
diff --git a/mysql-test/suite/sysschema/t/pr_diagnostics.test b/mysql-test/suite/sysschema/t/pr_diagnostics.test
new file mode 100644
index 00000000000..40ea90005a9
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_diagnostics.test
@@ -0,0 +1,35 @@
+########### suite/sysschema/t/pr_diagnostics.test #############
+# #
+# Testing of of the sys.diagnostics()) procedure #
+# #
+# Creation: #
+# 2015-07-28 jkrogh Implement this test as part of #
+# WL#7804 REPORT FOR SUPPORT #
+# #
+###############################################################
+
+-- source include/not_embedded.inc
+
+# Sanity check that the procedure completes two iterations with full debug,
+# raw output, and Information Schema table outputs without generating
+# any warnings.
+
+--disable_result_log
+SET @sys.debug = 'ON',
+ @sys.diagnostics.allow_i_s_tables = 'ON',
+ @sys.diagnostics.include_raw = 'ON';
+
+CALL sys.diagnostics(4, 2, 'full');
+
+SET @sys.debug = 'OFF',
+ @sys.diagnostics.allow_i_s_tables = 'OFF',
+ @sys.diagnostics.include_raw = 'OFF';
+--enable_result_log
+
+# Check input variable validation
+-- error S45000
+CALL sys.diagnostics(0, 0, 'full');
+-- error S45000
+CALL sys.diagnostics(2, 0, 'full');
+-- error S45000
+CALL sys.diagnostics(1, 2, 'full');
diff --git a/mysql-test/suite/sysschema/t/pr_execute_prepared_stmt.test b/mysql-test/suite/sysschema/t/pr_execute_prepared_stmt.test
new file mode 100644
index 00000000000..17a54aadea6
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_execute_prepared_stmt.test
@@ -0,0 +1,25 @@
+-- source include/not_embedded.inc
+
+# Do some valid changes, ensure they are successful
+SET @sql := "CREATE TABLE test.t1 (i INT) Engine=MEMORY";
+CALL sys.execute_prepared_stmt(@sql);
+
+SHOW CREATE TABLE test.t1;
+
+SET @sql := CONCAT('INSERT INTO test.t1 VALUES (', 1, ')');
+CALL sys.execute_prepared_stmt(@sql);
+
+SELECT * FROM test.t1;
+
+SET @sql := "DROP TABLE test.t1";
+CALL sys.execute_prepared_stmt(@sql);
+
+SHOW TABLES;
+
+SET @sql = NULL;
+
+# Invalid inputs
+-- error S45000
+CALL sys.execute_prepared_stmt(NULL);
+-- error S45000
+CALL sys.execute_prepared_stmt('foo');
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_reset_to_default.test b/mysql-test/suite/sysschema/t/pr_ps_setup_reset_to_default.test
new file mode 100644
index 00000000000..1622957f8dd
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_reset_to_default.test
@@ -0,0 +1,15 @@
+########### suite/sysschema/t/pr_ps_setup_reset_to_default.test #############
+# #
+# Testing of of the sys.ps_setup_reset_to_default() procedure #
+# #
+# Creation: #
+# 2015-08-14 jkrogh Implement this test as part of Bug 21550271/Bug77927 #
+# #
+#############################################################################
+
+-- source include/not_embedded.inc
+
+# Currently just a sanity check
+CALL sys.ps_setup_reset_to_default(TRUE);
+
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled.test b/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled.test
new file mode 100644
index 00000000000..8d6f03fa262
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled.test
@@ -0,0 +1,37 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+# Add to users to the setup_actors table: one enabled, and one disabled
+INSERT INTO performance_schema.setup_actors
+VALUES ('localhost', 'foo', '%', 'YES', 'YES'),
+ ('localhost', 'bar', '%', 'NO', 'NO');
+
+# Disable a few instruments
+UPDATE performance_schema.setup_instruments
+ SET ENABLED = 'NO'
+ WHERE NAME LIKE 'stage/innodb/%'
+ OR NAME LIKE 'statement/com/%'
+ OR NAME = 'idle';
+
+# Disable the history_long consumers:
+UPDATE performance_schema.setup_consumers
+ SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+
+# Disable some of the background threads:
+UPDATE performance_schema.threads SET INSTRUMENTED = 'NO' WHERE NAME LIKE 'thread/innodb/srv\_%';
+
+# Show limited info (no thread or instrument info)
+CALL sys.ps_setup_show_disabled(FALSE, FALSE);
+
+# Should show instrument data, but not thread info
+CALL sys.ps_setup_show_disabled(TRUE, FALSE);
+
+# Should show thread info, but no instrument data
+CALL sys.ps_setup_show_disabled(FALSE, TRUE);
+
+# Should show all info
+CALL sys.ps_setup_show_disabled(TRUE, TRUE);
+
+# Clean up
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_consumers.test b/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_consumers.test
new file mode 100644
index 00000000000..f362784b665
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_consumers.test
@@ -0,0 +1,11 @@
+-- source include/not_embedded.inc
+
+# Disable the history_long consumers:
+UPDATE performance_schema.setup_consumers
+ SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+
+CALL sys.ps_setup_show_disabled_consumers();
+
+# Clean up
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_instruments.test b/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_instruments.test
new file mode 100644
index 00000000000..4ea78a154be
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_show_disabled_instruments.test
@@ -0,0 +1,14 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+# Disable a few instruments
+UPDATE performance_schema.setup_instruments
+ SET ENABLED = 'NO'
+ WHERE NAME LIKE 'stage/innodb/%'
+ OR NAME LIKE 'statement/com/%'
+ OR NAME = 'idle';
+
+CALL sys.ps_setup_show_disabled_instruments();
+
+# Clean up
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled.test b/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled.test
new file mode 100644
index 00000000000..b8ef622b2e9
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled.test
@@ -0,0 +1,44 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+# Add to users to the setup_actors table: one enabled, and one disabled
+INSERT INTO performance_schema.setup_actors
+VALUES ('localhost', 'foo', '%', 'YES', 'YES'),
+ ('localhost', 'bar', '%', 'NO', 'NO');
+
+# Disable all but a few instruments (reduces output as well)
+# It is not possible to disable memory/performance_schema/%
+# so don't even try.
+UPDATE performance_schema.setup_instruments
+ SET ENABLED = 'NO'
+ WHERE NAME NOT LIKE 'memory/performance_schema/%'
+ AND NAME NOT LIKE 'stage/innodb/%'
+ AND NAME NOT LIKE 'statement/com/%'
+ AND NAME <> 'idle';
+
+# Disable the history_long consumers:
+UPDATE performance_schema.setup_consumers
+ SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+
+# Disable some of the background threads (including those that differ between unix like and Windows systems):
+UPDATE performance_schema.threads
+ SET INSTRUMENTED = 'NO'
+ WHERE NAME LIKE 'thread/innodb/srv\_%'
+ OR NAME LIKE '%con\_%'
+ OR NAME LIKE '%signal_handler%';
+
+# Show limited info (no thread or instrument info)
+CALL sys.ps_setup_show_enabled(FALSE, FALSE);
+
+# Should show instrument data, but not thread info
+CALL sys.ps_setup_show_enabled(TRUE, FALSE);
+
+# Should show thread info, but no instrument data
+CALL sys.ps_setup_show_enabled(FALSE, TRUE);
+
+# Should show all info
+CALL sys.ps_setup_show_enabled(TRUE, TRUE);
+
+# Clean up
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_consumers.test b/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_consumers.test
new file mode 100644
index 00000000000..62b4d8081d3
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_consumers.test
@@ -0,0 +1,11 @@
+-- source include/not_embedded.inc
+
+# Disable the history_long consumers:
+UPDATE performance_schema.setup_consumers
+ SET ENABLED = 'NO'
+ WHERE NAME LIKE '%\_history\_long';
+
+CALL sys.ps_setup_show_enabled_consumers();
+
+# Clean up
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_instruments.test b/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_instruments.test
new file mode 100644
index 00000000000..507741f4d83
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_setup_show_enabled_instruments.test
@@ -0,0 +1,18 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+
+# Disable all but a few instruments (reduces output as well)
+# It is not possible to disable memory/performance_schema/%
+# so don't even try.
+UPDATE performance_schema.setup_instruments
+ SET ENABLED = 'NO'
+ WHERE NAME NOT LIKE 'memory/performance_schema/%'
+ AND NAME NOT LIKE 'stage/innodb/%'
+ AND NAME NOT LIKE 'statement/com/%'
+ AND NAME <> 'idle';
+
+CALL sys.ps_setup_show_enabled_instruments();
+
+# Clean up
+-- source ../include/ps_setup_reset_to_default_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_ps_trace_statement_digest.test b/mysql-test/suite/sysschema/t/pr_ps_trace_statement_digest.test
new file mode 100644
index 00000000000..a569210df8f
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_ps_trace_statement_digest.test
@@ -0,0 +1,65 @@
+########### suite/sysschema/t/pr_ps_trace_statement_digest.test #############
+# #
+# Testing of of the sys.ps_trace_statement_digest() procedure #
+# #
+# Creation: #
+# 2016-06-21 jkrogh Implement this test as part of #
+# Bug 23621189 PS_TRACE_STATEMENT_DIGEST FAILS AT EXPLAIN #
+# #
+#############################################################################
+
+-- source include/not_embedded.inc
+# The ps_trace_statement_digest does not work with prepared statements
+# So disable this test with --ps-protocol
+-- source include/no_protocol.inc
+
+use test;
+
+# Get the thread id of this thread
+# Store it in a user variable as otherwise repeated calls to sys.ps_thread_id()
+# will keep changing performance_schema.events_statements_history
+SET @threadid = sys.ps_thread_id(NULL);
+
+# Create a table
+CREATE TABLE t1 (id INT PRIMARY KEY, val int) ENGINE=MEMORY;
+
+# Get digest of an INSERT statement with a qualified table name
+INSERT INTO test.t1 VALUES (1, 9);
+SET @digest.insert = (SELECT DIGEST FROM performance_schema.events_statements_history WHERE THREAD_ID = @threadid AND SQL_TEXT LIKE 'INSERT INTO test.t1 VALUES (1, 9)');
+
+# Get digest of an SELECT statement using the default schema
+SELECT * FROM t1;
+SET @digest.select = (SELECT DIGEST FROM performance_schema.events_statements_history WHERE THREAD_ID = @threadid AND SQL_TEXT LIKE 'SELECT * FROM t1');
+
+# Get digets of a SHOW statement (doesn't support EXPLAIN)
+SHOW CREATE TABLE test.t1;
+SET @digest.show = (SELECT DIGEST FROM performance_schema.events_statements_history WHERE THREAD_ID = @threadid AND SQL_TEXT LIKE 'SHOW CREATE TABLE test.t1');
+
+# Don't execute ps_trace_statement_digest() in the same schema as the queries
+# to monitor - to ensure we handle queries using the default schema.
+CREATE SCHEMA test_sys;
+use test_sys;
+
+# Only do sanity checks - no error should occur, but the actual output is non-deterministic
+--disable_result_log
+# Regular EXPLAINable SELECT with a qualified table name
+CALL sys.ps_trace_statement_digest(@digest.insert, 0.5, 0.1, FALSE, FALSE);
+# Table in query is not qualified and is not in the current default schema
+CALL sys.ps_trace_statement_digest(@digest.select, 0.5, 0.1, FALSE, FALSE);
+# SHOW queries doesn't work with EXPLAIN
+CALL sys.ps_trace_statement_digest(@digest.show , 0.5, 0.1, FALSE, FALSE);
+# Test that finding no queries works - the TRUE argument resets the P_S tables
+# used in ps_trace_statement_digest()
+CALL sys.ps_trace_statement_digest(@digest.insert, 0.5, 0.1, TRUE , FALSE);
+--enable_result_log
+
+
+
+# Clean up
+use test;
+DROP SCHEMA test_sys;
+DROP TABLE t1;
+SET @threadid = NULL,
+ @digest.insert = NULL,
+ @digest.select = NULL,
+ @digest.show = NULL;
diff --git a/mysql-test/suite/sysschema/t/pr_statement_performance_analyzer.test b/mysql-test/suite/sysschema/t/pr_statement_performance_analyzer.test
new file mode 100644
index 00000000000..b8932381e52
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_statement_performance_analyzer.test
@@ -0,0 +1,298 @@
+########### suite/sysschema/t/pr_statement_performance_analyzer.test #############
+# #
+# Testing of of the sys.statement_performance_analyzer() procedure #
+# #
+# Creation: #
+# 2015-07-28 jkrogh Implement this test as part of #
+# WL#7804 REPORT FOR SUPPORT #
+# #
+##################################################################################
+
+-- source include/not_embedded.inc
+# Performance schema tracks prepared statements separately, and does not
+# yet have a summary view that we can use for this view.
+# Until then, we disable this test with --ps-protocol
+-- source include/no_protocol.inc
+# Bug #23290879 - For reasons unknown to man this test fails randomly only on Windows
+#-- source include/not_windows.inc
+
+use test;
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TEMPORARY TABLE IF EXISTS tmp_digests_ini;
+DROP VIEW IF EXISTS view_digests;
+--enable_warnings
+
+# Create a table
+CREATE TABLE t1 (id INT PRIMARY KEY, val int);
+
+# Create a new connection to make the actual changes
+# Create the connection now to ensure queries like "SELECT @@`version_comment` LIMIT 1" are excluded
+connect (con1,localhost,root,,);
+connection con1;
+use test;
+--let $con1_thread_id= `SELECT THREAD_ID FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID()`
+
+# Disable instrumentation for all other threads other than the one that will
+# my monitored for this test ($con1_thread_id)
+connection default;
+--disable_result_log
+--replace_result $con1_thread_id CON1_THREAD_ID
+eval UPDATE performance_schema.threads SET INSTRUMENTED = IF(THREAD_ID = $con1_thread_id, 'YES', 'NO');
+CALL sys.ps_setup_enable_consumer('events_statements_history_long');
+CALL sys.ps_truncate_all_tables(FALSE);
+--enable_result_log
+
+# Start with some initial queries
+# Don't rely on the digests being constant across MySQL releases and versions, so find the
+# digest for each of the three queries by getting the last event from performance_schema.events_statements_current
+# for the con1 connection.
+connection con1;
+INSERT INTO t1 VALUES (1, 0);
+connection default;
+--let $wait_condition= SELECT SUBSTRING(SQL_TEXT, 1, 7) = 'INSERT ' FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id AND DIGEST IS NOT NULL
+--source include/wait_condition.inc
+--let $digest_insert= `SELECT DIGEST FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id ORDER BY EVENT_ID DESC LIMIT 1`
+--let $query_insert= `SELECT sys.format_statement(DIGEST_TEXT) FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id ORDER BY EVENT_ID DESC LIMIT 1`
+connection con1;
+UPDATE t1 SET val = 1 WHERE id = 1;
+connection default;
+--let $wait_condition= SELECT SUBSTRING(SQL_TEXT, 1, 7) = 'UPDATE ' FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id AND DIGEST IS NOT NULL
+--source include/wait_condition.inc
+--let $digest_update= `SELECT DIGEST FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id ORDER BY EVENT_ID DESC LIMIT 1`
+--let $query_update= `SELECT sys.format_statement(DIGEST_TEXT) FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id ORDER BY EVENT_ID DESC LIMIT 1`
+connection con1;
+SELECT t1a.* FROM t1 AS t1a LEFT OUTER JOIN (SELECT * FROM t1 AS t1b1 INNER JOIN t1 AS t1b2 USING (id, val)) AS t1b ON t1b.id > t1a.id ORDER BY t1a.val, t1a.id;
+connection default;
+--let $wait_condition= SELECT SUBSTRING(SQL_TEXT, 1, 7) = 'SELECT ' FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id AND DIGEST IS NOT NULL
+--source include/wait_condition.inc
+--let $digest_select= `SELECT DIGEST FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id ORDER BY EVENT_ID DESC LIMIT 1`
+--let $query_select= `SELECT sys.format_statement(DIGEST_TEXT) FROM performance_schema.events_statements_current WHERE THREAD_ID = $con1_thread_id ORDER BY EVENT_ID DESC LIMIT 1`
+
+# Enable to debug if some digests are not found
+# --output /tmp/digest
+# --eval SELECT '$digest_insert' AS DigestInsert, '$digest_update' AS DigestUpdate, '$digest_select' AS DigestSelect
+# --output /tmp/digest_text
+# --eval SELECT '$query_insert' AS DigestInsert, '$query_update' AS DigestUpdate, '$query_select' AS DigestSelect
+# --output /tmp/ps_history
+# SELECT THREAD_ID, EVENT_ID, END_EVENT_ID, DIGEST, SQL_TEXT FROM performance_schema.events_statements_history_long ORDER BY EVENT_ID;
+
+# Start collecting data
+CALL sys.statement_performance_analyzer('create_tmp', 'test.tmp_digests_ini', NULL);
+CALL sys.statement_performance_analyzer('snapshot', NULL, NULL);
+CALL sys.statement_performance_analyzer('save', 'test.tmp_digests_ini', NULL);
+
+# Make sure the last_seen times will be different from the SELECT statement's first_seen.
+DO SLEEP(1.2);
+
+# Make some more changes
+connection con1;
+INSERT INTO t1 VALUES (2, 0);
+UPDATE t1 SET val = 1 WHERE id = 2;
+SELECT t1a.* FROM t1 AS t1a LEFT OUTER JOIN (SELECT * FROM t1 AS t1b1 INNER JOIN t1 AS t1b2 USING (id, val)) AS t1b ON t1b.id > t1a.id ORDER BY t1a.val, t1a.id;
+disconnect con1;
+
+# Make the second collection of data and create the output
+connection default;
+# Make sure all of the queries executing in con1 has been recorded in performance_schema.events_statements_summary_by_digest
+# before continuing with the actual tests of pr_statement_performance_analyzer()
+--let $wait_condition= SELECT COUNT_STAR = 2 FROM performance_schema.events_statements_summary_by_digest WHERE DIGEST = '$digest_select'
+--source include/wait_condition.inc
+
+# Get all values to be used in replacements now to minimize the risk of the
+# values disappearing out of the performance_schema tables
+--let $o_upd_total_latency= `SELECT total_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_update'`
+--let $o_upd_max_latency= `SELECT max_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_update'`
+--let $o_upd_avg_latency= `SELECT avg_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_update'`
+--let $o_upd_first_seen= `SELECT first_seen FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_update'`
+--let $o_upd_last_seen= `SELECT last_seen FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_update'`
+--let $o_sel_total_latency= `SELECT total_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_select'`
+--let $o_sel_max_latency= `SELECT max_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_select'`
+--let $o_sel_avg_latency= `SELECT avg_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_select'`
+--let $o_sel_first_seen= `SELECT first_seen FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_select'`
+--let $o_sel_last_seen= `SELECT last_seen FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_select'`
+--let $o_ins_total_latency= `SELECT total_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_insert'`
+--let $o_ins_max_latency= `SELECT max_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_insert'`
+--let $o_ins_avg_latency= `SELECT avg_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_insert'`
+--let $o_ins_first_seen= `SELECT first_seen FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_insert'`
+--let $o_ins_last_seen= `SELECT last_seen FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_insert'`
+--let $o_upd_lock_latency= `SELECT lock_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_update'`
+--let $o_sel_lock_latency= `SELECT lock_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_select'`
+--let $o_ins_lock_latency= `SELECT lock_latency FROM sys.statement_analysis WHERE db = 'test' AND digest = '$digest_insert'`
+--let $d_upd_total_latency= `SELECT sys.format_time(TIMER_WAIT) FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA = 'test' AND DIGEST = '$digest_update' ORDER BY EVENT_ID DESC LIMIT 1`
+--let $d_sel_total_latency= `SELECT sys.format_time(TIMER_WAIT) FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA = 'test' AND DIGEST = '$digest_select' ORDER BY EVENT_ID DESC LIMIT 1`
+--let $d_ins_total_latency= `SELECT sys.format_time(TIMER_WAIT) FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA = 'test' AND DIGEST = '$digest_insert' ORDER BY EVENT_ID DESC LIMIT 1`
+--let $d_upd_tock_latency= `SELECT sys.format_time(LOCK_TIME) FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA = 'test' AND DIGEST = '$digest_update' ORDER BY EVENT_ID DESC LIMIT 1`
+--let $d_sel_tock_latency= `SELECT sys.format_time(LOCK_TIME) FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA = 'test' AND DIGEST = '$digest_select' ORDER BY EVENT_ID DESC LIMIT 1`
+--let $d_ins_tock_latency= `SELECT sys.format_time(LOCK_TIME) FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA = 'test' AND DIGEST = '$digest_insert' ORDER BY EVENT_ID DESC LIMIT 1`
+
+CALL sys.statement_performance_analyzer('snapshot', NULL, NULL);
+
+# Do a sanity check to ensure we are assuming the queries has the digests they have and that there is nothing else in the events_statements_summary_by_digest than there actually is.
+--replace_result $digest_insert DIGEST_INSERT $digest_update DIGEST_UPDATE $digest_select DIGEST_SELECT
+--sorted_result
+SELECT DIGEST, COUNT_STAR FROM performance_schema.events_statements_summary_by_digest;
+
+# with_runtimes_in_95th_percentile
+# It is unknown what the result will be since the execution times for each query are unknown
+# So just check that no warning or error occurs
+--disable_result_log
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_runtimes_in_95th_percentile');
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_runtimes_in_95th_percentile');
+--enable_result_log
+
+# analysis - as there's no control of the various latencies, it may be the same for two or more of the queries.
+# So replace_result cannot be used to give it a unique value. Instead just use LATENCY for all rows.
+--replace_result $query_insert QUERY_INSERT $query_select QUERY_SELECT $query_update QUERY_UPDATE $digest_insert DIGEST_INSERT $digest_update DIGEST_UPDATE $digest_select DIGEST_SELECT $o_upd_total_latency LATENCY $o_upd_max_latency LATENCY $o_upd_avg_latency LATENCY $o_upd_lock_latency LATENCY $o_upd_first_seen FIRST_SEEN $o_upd_last_seen LAST_SEEN $o_sel_total_latency LATENCY $o_sel_max_latency LATENCY $o_sel_avg_latency LATENCY $o_sel_lock_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN $o_ins_total_latency LATENCY $o_ins_max_latency LATENCY $o_ins_avg_latency LATENCY $o_ins_lock_latency LATENCY $o_ins_first_seen FIRST_SEEN $o_ins_last_seen LAST_SEEN
+--sorted_result
+CALL sys.statement_performance_analyzer('overall', NULL, 'analysis');
+
+--replace_result $query_insert QUERY_INSERT $query_select QUERY_SELECT $query_update QUERY_UPDATE $digest_insert DIGEST_INSERT $digest_update DIGEST_UPDATE $digest_select DIGEST_SELECT $d_upd_total_latency LATENCY $o_upd_max_latency LATENCY $o_upd_first_seen FIRST_SEEN $o_upd_last_seen LAST_SEEN $d_upd_tock_latency LATENCY $d_sel_total_latency LATENCY $o_sel_max_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN $d_sel_tock_latency LATENCY $d_ins_total_latency LATENCY $o_ins_max_latency LATENCY $o_ins_first_seen FIRST_SEEN $o_ins_last_seen LAST_SEEN $d_ins_tock_latency LATENCY
+--sorted_result
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'analysis');
+
+# Should give an empty result except for the banner generated by the procedure
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_errors_or_warnings');
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_errors_or_warnings');
+
+--replace_result $query_select QUERY_SELECT $digest_select DIGEST_SELECT $o_sel_total_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_full_table_scans');
+--replace_result $query_select QUERY_SELECT $digest_select DIGEST_SELECT $d_sel_total_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_full_table_scans');
+
+--replace_result $query_select QUERY_SELECT $digest_select DIGEST_SELECT $o_sel_total_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_sorting');
+--replace_result $query_select QUERY_SELECT $digest_select DIGEST_SELECT $d_sel_total_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_sorting');
+
+--replace_result $query_select QUERY_SELECT $digest_select DIGEST_SELECT $o_sel_total_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN
+CALL sys.statement_performance_analyzer('overall', NULL, 'with_temp_tables');
+--replace_result $query_select QUERY_SELECT $digest_select DIGEST_SELECT $d_sel_total_latency LATENCY $o_sel_first_seen FIRST_SEEN $o_sel_last_seen LAST_SEEN
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'with_temp_tables');
+
+# Try a custom view
+# Sort by the query, then we know the order will be INSERT, SELECT, UPDATE
+CREATE VIEW test.view_digests AS
+SELECT sys.format_statement(DIGEST_TEXT) AS query,
+ SCHEMA_NAME AS db,
+ COUNT_STAR AS exec_count,
+ sys.format_time(SUM_TIMER_WAIT) AS total_latency,
+ sys.format_time(AVG_TIMER_WAIT) AS avg_latency,
+ ROUND(IFNULL(SUM_ROWS_SENT / NULLIF(COUNT_STAR, 0), 0)) AS rows_sent_avg,
+ ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg,
+ ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg,
+ DIGEST AS digest
+ FROM performance_schema.events_statements_summary_by_digest
+ ORDER BY SUBSTRING(query, 1, 6);
+SET @sys.statement_performance_analyzer.view = 'test.view_digests';
+--replace_result $query_insert QUERY_INSERT $query_select QUERY_SELECT $query_update QUERY_UPDATE $digest_insert DIGEST_INSERT $digest_update DIGEST_UPDATE $digest_select DIGEST_SELECT $o_upd_total_latency LATENCY $o_upd_avg_latency LATENCY $o_sel_total_latency LATENCY $o_sel_avg_latency LATENCY $o_ins_total_latency LATENCY $o_ins_avg_latency LATENCY
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+--replace_result $query_insert QUERY_INSERT $query_select QUERY_SELECT $query_update QUERY_UPDATE $digest_insert DIGEST_INSERT $digest_update DIGEST_UPDATE $digest_select DIGEST_SELECT $d_upd_total_latency LATENCY $d_sel_total_latency LATENCY $d_ins_total_latency LATENCY
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'custom');
+
+# Verify that setting a limit works
+SET @sys.statement_performance_analyzer.limit = 2;
+--replace_result $query_insert QUERY_INSERT $query_select QUERY_SELECT $digest_insert DIGEST_INSERT $digest_select DIGEST_SELECT $o_ins_total_latency LATENCY $o_ins_avg_latency LATENCY $o_sel_total_latency LATENCY $o_sel_avg_latency LATENCY
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+
+# Test for error conditions - some of the errors depend on the sql_mode so set it explicitly
+# Which sql_modes are deprecated depends on the release, so disable warnings while setting the sql_mode
+
+
+# Use non-strict sql_mode - keep NO_AUTO_CREATE_USER as this sql_mode will be mandatory in the future:
+SET SESSION sql_mode = 'NO_AUTO_CREATE_USER';
+# Ask for a non-supported action - since strict more is not used, this will give the error: ERROR 1644 (45000): Unknown action: ''
+# Note: the action passed to the procedure is actually lost because it's truncated.
+--error ER_SIGNAL_EXCEPTION
+CALL sys.statement_performance_analyzer('do magic', NULL, NULL);
+
+
+# Use 5.7.9+ default:
+--disable_warnings
+SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
+--enable_warnings
+# Ask for a non-supported action - since strict mode is used, this will give the error: ERROR 1265 (01000): Data truncated for column 'in_action' at row 1
+--error 1265
+CALL sys.statement_performance_analyzer('do magic', NULL, NULL);
+# Try to create reserved table name
+-- error S45000
+CALL sys.statement_performance_analyzer('create_tmp', 'sys.tmp_digests', NULL);
+-- error S45000
+CALL sys.statement_performance_analyzer('create_tmp', 'sys.tmp_digests_delta', NULL);
+-- error S45000
+CALL sys.statement_performance_analyzer('create_tmp', 'tmp_digests', NULL);
+# This should succeed
+CALL sys.statement_performance_analyzer('create_tmp', 'test.tmp_digests', NULL);
+CREATE TABLE test.tmp_unsupported LIKE test.tmp_digests_ini;
+# Try to create a temporary table that already exists
+-- error S45000
+CALL sys.statement_performance_analyzer('create_tmp', 'test.tmp_digests_ini', NULL);
+# Try to create a base table that already exists
+-- error S45000
+CALL sys.statement_performance_analyzer('create_table', 'test.tmp_digests_ini', NULL);
+-- error S45000
+CALL sys.statement_performance_analyzer('create_table', 'test.tmp_unsupported', NULL);
+# Verify that the sanity check for the input table e.g. for saving snapshots works
+ALTER TABLE test.tmp_unsupported ADD COLUMN myvar int DEFAULT 0;
+-- error S45000
+CALL sys.statement_performance_analyzer('save', 'test.tmp_unsupported', NULL);
+# Try to create a snapshot or overall output with the wrong in_table
+-- error S45000
+CALL sys.statement_performance_analyzer('snapshot', 'test.new_table', NULL);
+-- error S45000
+CALL sys.statement_performance_analyzer('overall', 'test.new_table', 'analysis');
+# Try to create a delta output or save a snapshot specifying a non-existing table.
+-- error S45000
+CALL sys.statement_performance_analyzer('delta', 'test.new_table', 'analysis');
+-- error S45000
+CALL sys.statement_performance_analyzer('save', 'test.new_table', NULL);
+# Verify custom views doesn't work without the user variable set
+SET @sys.statement_performance_analyzer.view = NULL;
+DELETE FROM sys.sys_config WHERE variable = 'statement_performance_analyzer.view';
+-- error S45000
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+# Set the custom view to a regular table - should not work
+SET @sys.statement_performance_analyzer.view = 'test.tmp_unsupported';
+-- error S45000
+CALL sys.statement_performance_analyzer('overall', NULL, 'custom');
+
+
+# Remove the temporary tables created by the procedure
+# First ensure the tables actually exists (to avoid passing the test if the table names are changed)
+CALL sys.table_exists('sys', 'tmp_digests', @exists);
+SELECT @exists;
+CALL sys.table_exists('sys', 'tmp_digests_delta', @exists);
+SELECT @exists;
+CALL sys.statement_performance_analyzer('cleanup', NULL, NULL);
+# Verify the internal tables really were removed
+-- error ER_BAD_TABLE_ERROR
+DROP TEMPORARY TABLE sys.tmp_digests;
+-- error ER_BAD_TABLE_ERROR
+DROP TEMPORARY TABLE sys.tmp_digests_delta;
+
+# An attempt to create a delta view should fail now as there's no longer an existing snapshot.
+-- error S45000
+CALL sys.statement_performance_analyzer('delta', 'test.tmp_digests_ini', 'analysis');
+# Ensure no delta table was created.
+-- error ER_BAD_TABLE_ERROR
+DROP TEMPORARY TABLE sys.tmp_digests_delta;
+
+# Try and use a table.db name > 129
+SET @identifier := REPEAT('a', 65);
+-- error 1406
+CALL sys.statement_performance_analyzer('snapshot', CONCAT(@identifier, '.', @identifier), NULL);
+
+# Clean up
+DROP TEMPORARY TABLE test.tmp_digests_ini;
+DROP TEMPORARY TABLE test.tmp_digests;
+DROP TABLE test.tmp_unsupported;
+DROP TABLE test.t1;
+DROP VIEW view_digests;
+SET @identifier := NULL;
+
+SET SESSION sql_mode = @@global.sql_mode;
+SET @sys.statement_performance_analyzer.limit = NULL;
+SET @sys.statement_performance_analyzer.view = NULL;
+--source ../include/ps_setup_consumers_cleanup.inc
+--source ../include/ps_threads_cleanup.inc
+--source ../include/sys_config_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/pr_table_exists.test b/mysql-test/suite/sysschema/t/pr_table_exists.test
new file mode 100644
index 00000000000..83e1dc0b9d9
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/pr_table_exists.test
@@ -0,0 +1,69 @@
+-- source include/not_embedded.inc
+
+
+# Create a base table and a view
+CREATE TABLE t1 (id INT PRIMARY KEY);
+# Verify the base table and view is supported
+CALL sys.table_exists('test', 't1', @exists);
+SELECT @exists;
+DROP TABLE t1;
+
+CREATE view v_t1 AS SELECT 1;
+CALL sys.table_exists('test', 'v_t1', @exists);
+SELECT @exists;
+DROP VIEW v_t1;
+
+CREATE TABLE tv (i int) with system versioning;
+CALL sys.table_exists('test','tv',@exists);
+SELECT @exists;
+DROP TABLE tv;
+
+CREATE SEQUENCE s;
+CALL sys.table_exists('test','s',@exists);
+SELECT @exists;
+DROP SEQUENCE s;
+
+# Replace the base table with a temporary table
+CREATE TEMPORARY TABLE t1 (id INT PRIMARY KEY);
+CALL sys.table_exists('test', 't1', @exists);
+SELECT @exists;
+DROP TEMPORARY TABLE t1;
+
+CALL sys.table_exists('information_schema', 'all_plugins', @exists);
+SELECT @exists;
+
+# Try a non-existing table
+CALL sys.table_exists('test', 't2', @exists);
+SELECT @exists;
+
+# Try variables longer than expected
+SET @identifier := REPEAT('a', 65);
+
+-- error 1406
+CALL sys.table_exists(@identifier, 't1', @exists);
+
+-- error 1406
+CALL sys.table_exists('test', @identifier, @exists);
+
+SET @identifier := NULL;
+
+--echo #
+--echo # MDEV-28391: table_exists procedure fails with
+--echo # Incorrect table name with backtick identifiers
+--echo #
+CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CALL sys.table_exists('test', 'ab`c', @tbl_type);
+SELECT @tbl_type;
+DROP TABLE `ab``c`;
+CREATE TEMPORARY TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CALL sys.table_exists('test', 'ab`c', @tbl_type);
+SELECT @tbl_type;
+DROP TABLE `ab``c`;
+CREATE TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CREATE TEMPORARY TABLE `ab``c` (t1_id int PRIMARY KEY, t1_val varchar(10));
+CALL sys.table_exists('test', 'ab`c', @tbl_type);
+SELECT @tbl_type;
+--echo # We cannot send quoted identifer to the procedure, no table will be found
+CALL sys.table_exists('test', '`ab``c`', @tbl_type);
+SELECT @tbl_type;
+DROP TABLE `ab``c`; \ No newline at end of file
diff --git a/mysql-test/suite/sysschema/t/t_sys_config.test b/mysql-test/suite/sysschema/t/t_sys_config.test
new file mode 100644
index 00000000000..d78f8c9fd11
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/t_sys_config.test
@@ -0,0 +1,18 @@
+-- source include/not_embedded.inc
+# Tests for sys schema
+# Verify the sys.sys_config table is as expected
+SELECT COUNT(*) FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='sys';
+DESC sys.sys_config;
+
+SELECT variable, value, set_by FROM sys.sys_config ORDER BY 1;
+
+# Ensure the sys.sys_config_update_set_user trigger functions correctly
+UPDATE sys.sys_config SET value = 128 WHERE variable = 'statement_truncate_len';
+
+SELECT variable, value, set_by FROM sys.sys_config ORDER BY 1;
+
+INSERT INTO sys.sys_config (variable, value) VALUES ('foo', 'bar');
+
+SELECT variable, value, set_by FROM sys.sys_config ORDER BY 1;
+
+--source ../include/sys_config_cleanup.inc
diff --git a/mysql-test/suite/sysschema/t/v_host_summary.test b/mysql-test/suite/sysschema/t/v_host_summary.test
new file mode 100644
index 00000000000..7cea0d5b111
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_host_summary.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.host_summary view
+
+# Ensure structure changes don't slip in
+DESC sys.host_summary;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.host_summary;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$host_summary;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$host_summary;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_host_summary_by_file_io.test b/mysql-test/suite/sysschema/t/v_host_summary_by_file_io.test
new file mode 100644
index 00000000000..f4b31509da7
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_host_summary_by_file_io.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.host_summary_by_file_io view
+
+# Ensure structure changes don't slip in
+DESC sys.host_summary_by_file_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.host_summary_by_file_io;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$host_summary_by_file_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$host_summary_by_file_io;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_host_summary_by_file_io_type.test b/mysql-test/suite/sysschema/t/v_host_summary_by_file_io_type.test
new file mode 100644
index 00000000000..9ae9475c478
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_host_summary_by_file_io_type.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.host_summary_by_file_io_type view
+
+# Ensure structure changes don't slip in
+DESC sys.host_summary_by_file_io_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.host_summary_by_file_io_type;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$host_summary_by_file_io_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$host_summary_by_file_io_type;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_host_summary_by_stages.test b/mysql-test/suite/sysschema/t/v_host_summary_by_stages.test
new file mode 100644
index 00000000000..37918012b16
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_host_summary_by_stages.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.host_summary_by_stages view
+
+# Ensure structure changes don't slip in
+DESC sys.host_summary_by_stages;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.host_summary_by_stages;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$host_summary_by_stages;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$host_summary_by_stages;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_host_summary_by_statement_latency.test b/mysql-test/suite/sysschema/t/v_host_summary_by_statement_latency.test
new file mode 100644
index 00000000000..29639e3314f
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_host_summary_by_statement_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.host_summary_by_statement_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.host_summary_by_statement_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.host_summary_by_statement_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$host_summary_by_statement_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$host_summary_by_statement_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_host_summary_by_statement_type.test b/mysql-test/suite/sysschema/t/v_host_summary_by_statement_type.test
new file mode 100644
index 00000000000..e9fd3981b98
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_host_summary_by_statement_type.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.host_summary_by_statement_type view
+
+# Ensure structure changes don't slip in
+DESC sys.host_summary_by_statement_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.host_summary_by_statement_type;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$host_summary_by_statement_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$host_summary_by_statement_type;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_schema.test b/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_schema.test
new file mode 100644
index 00000000000..f44b87d43ca
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_schema.test
@@ -0,0 +1,23 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+-- source include/have_innodb.inc
+
+# Tests for sys schema
+# Verify the sys.innodb_buffer_stats_by_schema view
+
+# Ensure structure changes don't slip in
+DESC sys.innodb_buffer_stats_by_schema;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.innodb_buffer_stats_by_schema;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$innodb_buffer_stats_by_schema;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$innodb_buffer_stats_by_schema;
+--enable_result_log
diff --git a/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_table.test b/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_table.test
new file mode 100644
index 00000000000..d65c28ff96d
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_innodb_buffer_stats_by_table.test
@@ -0,0 +1,23 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+-- source include/have_innodb.inc
+
+# Tests for sys schema
+# Verify the sys.innodb_buffer_stats_by_table view
+
+# Ensure structure changes don't slip in
+DESC sys.innodb_buffer_stats_by_table;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.innodb_buffer_stats_by_table;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$innodb_buffer_stats_by_table;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$innodb_buffer_stats_by_table;
+--enable_result_log
diff --git a/mysql-test/suite/sysschema/t/v_innodb_lock_waits.test b/mysql-test/suite/sysschema/t/v_innodb_lock_waits.test
new file mode 100644
index 00000000000..b784587d2a6
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_innodb_lock_waits.test
@@ -0,0 +1,41 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+-- source include/have_innodb.inc
+# Tests for sys schema
+# Verify the sys.innodb_lock_waits view
+
+# Ensure structure changes don't slip in
+DESC sys.innodb_lock_waits;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.innodb_lock_waits;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$innodb_lock_waits;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$innodb_lock_waits;
+--enable_result_log
+
+
+--echo #
+--echo # Start of 10.6 tests
+--echo #
+
+--echo #
+--echo # MDEV-26507 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed
+--echo #
+
+SET SESSION sql_mode='ALLOW_INVALID_DATES';
+--disable_result_log
+SELECT * FROM sys.x$innodb_lock_waits;
+--enable_result_log
+SET SESSION sql_mode=DEFAULT;
+
+--echo #
+--echo # End of 10.6 tests
+--echo #
diff --git a/mysql-test/suite/sysschema/t/v_io_by_thread_by_latency.test b/mysql-test/suite/sysschema/t/v_io_by_thread_by_latency.test
new file mode 100644
index 00000000000..38a1f7a206c
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_io_by_thread_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.io_by_thread_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.io_by_thread_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.io_by_thread_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$io_by_thread_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$io_by_thread_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_io_global_by_file_by_bytes.test b/mysql-test/suite/sysschema/t/v_io_global_by_file_by_bytes.test
new file mode 100644
index 00000000000..ded74ae9eb6
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_io_global_by_file_by_bytes.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.io_global_by_file_by_bytes view
+
+# Ensure structure changes don't slip in
+DESC sys.io_global_by_file_by_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.io_global_by_file_by_bytes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$io_global_by_file_by_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$io_global_by_file_by_bytes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_io_global_by_file_by_latency.test b/mysql-test/suite/sysschema/t/v_io_global_by_file_by_latency.test
new file mode 100644
index 00000000000..893d9804bfa
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_io_global_by_file_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.io_global_by_file_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.io_global_by_file_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.io_global_by_file_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$io_global_by_file_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$io_global_by_file_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_io_global_by_wait_by_bytes.test b/mysql-test/suite/sysschema/t/v_io_global_by_wait_by_bytes.test
new file mode 100644
index 00000000000..102d8dbe0cc
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_io_global_by_wait_by_bytes.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.io_global_by_wait_by_bytes view
+
+# Ensure structure changes don't slip in
+DESC sys.io_global_by_wait_by_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.io_global_by_wait_by_bytes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$io_global_by_wait_by_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$io_global_by_wait_by_bytes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_io_global_by_wait_by_latency.test b/mysql-test/suite/sysschema/t/v_io_global_by_wait_by_latency.test
new file mode 100644
index 00000000000..8843841b09c
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_io_global_by_wait_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.io_global_by_wait_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.io_global_by_wait_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.io_global_by_wait_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$io_global_by_wait_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$io_global_by_wait_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_latest_file_io.test b/mysql-test/suite/sysschema/t/v_latest_file_io.test
new file mode 100644
index 00000000000..f6b7c78995b
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_latest_file_io.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.latest_file_io view
+
+# Ensure structure changes don't slip in
+DESC sys.latest_file_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.latest_file_io;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$latest_file_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$latest_file_io;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_memory_by_host_by_current_bytes.test b/mysql-test/suite/sysschema/t/v_memory_by_host_by_current_bytes.test
new file mode 100644
index 00000000000..6e3477e813a
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_memory_by_host_by_current_bytes.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.memory_by_host_by_current_bytes view
+
+# Ensure structure changes don't slip in
+DESC sys.memory_by_host_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.memory_by_host_by_current_bytes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$memory_by_host_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$memory_by_host_by_current_bytes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_memory_by_thread_by_current_bytes.test b/mysql-test/suite/sysschema/t/v_memory_by_thread_by_current_bytes.test
new file mode 100644
index 00000000000..c097ea7ed01
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_memory_by_thread_by_current_bytes.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.memory_by_thread_by_current_bytes view
+
+# Ensure structure changes don't slip in
+DESC sys.memory_by_thread_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.memory_by_thread_by_current_bytes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$memory_by_thread_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$memory_by_thread_by_current_bytes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_memory_by_user_by_current_bytes.test b/mysql-test/suite/sysschema/t/v_memory_by_user_by_current_bytes.test
new file mode 100644
index 00000000000..4d10428501d
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_memory_by_user_by_current_bytes.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.memory_by_user_by_current_bytes view
+
+# Ensure structure changes don't slip in
+DESC sys.memory_by_user_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.memory_by_user_by_current_bytes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$memory_by_user_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$memory_by_user_by_current_bytes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_memory_global_by_current_bytes.test b/mysql-test/suite/sysschema/t/v_memory_global_by_current_bytes.test
new file mode 100644
index 00000000000..1bed9c98c0c
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_memory_global_by_current_bytes.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.memory_global_by_current_bytes view
+
+# Ensure structure changes don't slip in
+DESC sys.memory_global_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.memory_global_by_current_bytes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$memory_global_by_current_bytes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$memory_global_by_current_bytes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_memory_global_total.test b/mysql-test/suite/sysschema/t/v_memory_global_total.test
new file mode 100644
index 00000000000..572581d5a90
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_memory_global_total.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.memory_global_total view
+
+# Ensure structure changes don't slip in
+DESC sys.memory_global_total;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.memory_global_total;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$memory_global_total;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$memory_global_total;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_metrics.test b/mysql-test/suite/sysschema/t/v_metrics.test
new file mode 100644
index 00000000000..a8ff1cd9f28
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_metrics.test
@@ -0,0 +1,12 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.metrics and sys.metrics_56 views
+
+# Ensure structure changes don't slip in
+DESC sys.metrics;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.metrics;
+--enable_result_log
diff --git a/mysql-test/suite/sysschema/t/v_processlist.test b/mysql-test/suite/sysschema/t/v_processlist.test
new file mode 100644
index 00000000000..fd3f01109bf
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_processlist.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.processlist view
+
+# Ensure structure changes don't slip in
+DESC sys.processlist;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.processlist;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$processlist;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$processlist;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_ps_check_lost_instrumentation.test b/mysql-test/suite/sysschema/t/v_ps_check_lost_instrumentation.test
new file mode 100644
index 00000000000..b5c7fd19cab
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_ps_check_lost_instrumentation.test
@@ -0,0 +1,13 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.ps_check_lost_instrumentation view
+
+# Ensure structure changes don't slip in
+DESC sys.ps_check_lost_instrumentation;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.ps_check_lost_instrumentation;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_ps_digest_95th_percentile_by_avg_us.test b/mysql-test/suite/sysschema/t/v_ps_digest_95th_percentile_by_avg_us.test
new file mode 100644
index 00000000000..6f111b7fa98
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_ps_digest_95th_percentile_by_avg_us.test
@@ -0,0 +1,24 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+
+# Ensure structure changes don't slip in
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$ps_digest_95th_percentile_by_avg_us;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$ps_digest_95th_percentile_by_avg_us;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$ps_digest_95th_percentile_by_avg_us;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_ps_digest_avg_latency_distribution.test b/mysql-test/suite/sysschema/t/v_ps_digest_avg_latency_distribution.test
new file mode 100644
index 00000000000..6074ca3f46f
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_ps_digest_avg_latency_distribution.test
@@ -0,0 +1,24 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+
+DESC sys.x$ps_digest_avg_latency_distribution;
+
+DESC sys.x$ps_digest_avg_latency_distribution;
+
+# Ensure structure changes don't slip in
+DESC sys.x$ps_digest_avg_latency_distribution;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$ps_digest_avg_latency_distribution;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$ps_digest_avg_latency_distribution;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$ps_digest_avg_latency_distribution;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_ps_schema_table_statistics_io.test b/mysql-test/suite/sysschema/t/v_ps_schema_table_statistics_io.test
new file mode 100644
index 00000000000..cfb222b9f5b
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_ps_schema_table_statistics_io.test
@@ -0,0 +1,24 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+
+DESC sys.x$ps_schema_table_statistics_io;
+
+DESC sys.x$ps_schema_table_statistics_io;
+
+# Ensure structure changes don't slip in
+DESC sys.x$ps_schema_table_statistics_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$ps_schema_table_statistics_io;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$ps_schema_table_statistics_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$ps_schema_table_statistics_io;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_schema_auto_increment_columns.test b/mysql-test/suite/sysschema/t/v_schema_auto_increment_columns.test
new file mode 100644
index 00000000000..b3cae841ecf
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_auto_increment_columns.test
@@ -0,0 +1,159 @@
+-- source include/big_test.inc
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_auto_increment_columns view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_auto_increment_columns;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_auto_increment_columns;
+--enable_result_log
+
+# Test the output of the view is as expected
+CREATE DATABASE auto_incs;
+
+CREATE TABLE auto_incs.tinyintcol (
+ id TINYINT AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.tinyintcol (foo) VALUES (100);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+INSERT INTO auto_incs.tinyintcol (foo) (SELECT foo FROM auto_incs.tinyintcol);
+
+CREATE TABLE auto_incs.tinyintcolunsigned (
+ id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.tinyintcolunsigned (foo) (SELECT foo FROM auto_incs.tinyintcol);
+
+CREATE TABLE auto_incs.smallintcol (
+ id SMALLINT AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.smallintcol (foo) VALUES (200);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+INSERT INTO auto_incs.smallintcol (foo) (SELECT foo FROM auto_incs.smallintcol);
+
+CREATE TABLE auto_incs.smallintcolunsigned (
+ id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+
+INSERT INTO auto_incs.smallintcolunsigned (foo) (SELECT foo FROM auto_incs.smallintcol);
+
+CREATE TABLE auto_incs.mediumintcol (
+ id MEDIUMINT AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.mediumintcol (foo) VALUES (300);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+INSERT INTO auto_incs.mediumintcol (foo) (SELECT foo FROM auto_incs.mediumintcol);
+
+CREATE TABLE auto_incs.mediumintcolunsigned (
+ id MEDIUMINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+
+INSERT INTO auto_incs.mediumintcolunsigned (foo) (SELECT foo FROM auto_incs.mediumintcol);
+
+CREATE TABLE auto_incs.intcol (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.intcol (foo) VALUES (400);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+INSERT INTO auto_incs.intcol (foo) (SELECT foo FROM auto_incs.intcol);
+
+CREATE TABLE auto_incs.intcolunsigned (
+ id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.intcolunsigned (foo) (SELECT foo FROM auto_incs.intcol);
+
+CREATE TABLE auto_incs.bigintcol (
+ id BIGINT AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.bigintcol (foo) VALUES (500);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+INSERT INTO auto_incs.bigintcol (foo) (SELECT foo FROM auto_incs.bigintcol);
+
+CREATE TABLE auto_incs.bigintcolunsigned (
+ id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
+ foo INT
+);
+
+INSERT INTO auto_incs.bigintcolunsigned (foo) (SELECT foo FROM auto_incs.bigintcol);
+
+SELECT * FROM sys.schema_auto_increment_columns;
+
+DROP DATABASE auto_incs;
diff --git a/mysql-test/suite/sysschema/t/v_schema_index_statistics.test b/mysql-test/suite/sysschema/t/v_schema_index_statistics.test
new file mode 100644
index 00000000000..660eb0db341
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_index_statistics.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_index_statistics view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_index_statistics;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_index_statistics;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$schema_index_statistics;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$schema_index_statistics;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_schema_object_overview.test b/mysql-test/suite/sysschema/t/v_schema_object_overview.test
new file mode 100644
index 00000000000..2d142c82c49
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_object_overview.test
@@ -0,0 +1,13 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_object_overview view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_object_overview;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_object_overview;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_schema_redundant_indexes.test b/mysql-test/suite/sysschema/t/v_schema_redundant_indexes.test
new file mode 100644
index 00000000000..0cd2ac91fa4
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_redundant_indexes.test
@@ -0,0 +1,39 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_redundant_indexes / x$schema_flattened_keys views
+
+# Ensure structure changes don't slip in
+DESC sys.schema_redundant_indexes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_redundant_indexes;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$schema_flattened_keys;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$schema_flattened_keys;
+--enable_result_log
+
+# Test correctly identifies keys
+
+CREATE DATABASE rkey;
+
+CREATE TABLE rkey.rkey (
+ i INT,
+ j INT,
+ k INT,
+ PRIMARY KEY (i),
+ KEY (j),
+ KEY (j, k),
+ KEY (i, j, k)
+ );
+
+ SELECT * FROM sys.schema_redundant_indexes;
+
+ DROP DATABASE rkey;
diff --git a/mysql-test/suite/sysschema/t/v_schema_table_lock_waits.test b/mysql-test/suite/sysschema/t/v_schema_table_lock_waits.test
new file mode 100644
index 00000000000..eef77708769
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_table_lock_waits.test
@@ -0,0 +1,55 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_table_lock_waits view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_table_lock_waits;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_table_lock_waits;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$schema_table_lock_waits;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$schema_table_lock_waits;
+--enable_result_log
+
+# Ensure lock waits show up correctly
+--connect(con1,localhost,root,,)
+--connect(con2,localhost,root,,)
+
+connection con1;
+CREATE TABLE test.lock_waits (i INT PRIMARY KEY, j INT) ENGINE = InnoDB;
+LOCK TABLE lock_waits WRITE;
+
+connection con2;
+send ALTER TABLE test.lock_waits ADD k VARCHAR(20);
+
+connection default;
+while (`SELECT COUNT(*)=0 FROM sys.schema_table_lock_waits`)
+{
+ --sleep 0.5
+}
+SELECT object_schema, object_name,
+ waiting_account, waiting_lock_type, waiting_query,
+ blocking_account, blocking_lock_type, blocking_lock_duration
+ FROM sys.schema_table_lock_waits;
+
+disconnect con1;
+
+connection default;
+while (`SELECT COUNT(*)<> 0 FROM sys.schema_table_lock_waits`)
+{
+ --sleep 0.5
+}
+disconnect con2;
+connection default;
+
+DROP TABLE test.lock_waits;
diff --git a/mysql-test/suite/sysschema/t/v_schema_table_statistics.test b/mysql-test/suite/sysschema/t/v_schema_table_statistics.test
new file mode 100644
index 00000000000..bb72de71721
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_table_statistics.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_table_statistics view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_table_statistics;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_table_statistics;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$schema_table_statistics;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$schema_table_statistics;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_schema_table_statistics_with_buffer.test b/mysql-test/suite/sysschema/t/v_schema_table_statistics_with_buffer.test
new file mode 100644
index 00000000000..9fbe523173d
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_table_statistics_with_buffer.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_table_statistics_with_buffer view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_table_statistics_with_buffer;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_table_statistics_with_buffer;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$schema_table_statistics_with_buffer;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$schema_table_statistics_with_buffer;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_schema_tables_with_full_table_scans.test b/mysql-test/suite/sysschema/t/v_schema_tables_with_full_table_scans.test
new file mode 100644
index 00000000000..1ada8284a26
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_tables_with_full_table_scans.test
@@ -0,0 +1,87 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_tables_with_full_table_scans view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_tables_with_full_table_scans;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_tables_with_full_table_scans;
+--enable_result_log
+
+# Ensure structure changes don't slip in
+DESC sys.x$schema_tables_with_full_table_scans;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$schema_tables_with_full_table_scans;
+--enable_result_log
+
+# Create a dummy table, force some full table scans, verify the results
+CREATE TABLE test.t (i BIGINT AUTO_INCREMENT PRIMARY KEY, j BIGINT) ENGINE = innodb;
+
+INSERT INTO test.t (j) VALUES (1), (2), (3);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+INSERT INTO test.t (j) (SELECT j*2 FROM test.t);
+
+# The table should now have 768 rows
+
+# Now truncate the P_S tables, to get fresh results
+CALL sys.ps_truncate_all_tables(false);
+
+# Following returns 28 rows, but should full scan as j has no index
+# Using RAND() to force no query caching, so ignore results, they are not important
+--disable_result_log
+SELECT i, j, RAND() FROM test.t WHERE j = 12;
+--enable_result_log
+
+# Ensure the base performance schema data is aggregated first
+--let $wait_condition= SELECT COUNT_STAR = 768 FROM performance_schema.table_io_waits_summary_by_index_usage WHERE object_schema = 'test' AND object_name = 't' AND index_name IS NULL
+--source include/wait_condition.inc
+
+# Now verify the table shows up in the views with the right row count (should be 768)
+SELECT object_schema, object_name, rows_full_scanned FROM sys.schema_tables_with_full_table_scans;
+
+SELECT object_schema, object_name, rows_full_scanned FROM sys.x$schema_tables_with_full_table_scans;
+
+# Scan again
+--disable_result_log
+SELECT i, j, RAND() FROM test.t WHERE j = 12;
+--enable_result_log
+
+# Again ensure the base performance schema data is aggregated first
+--let $wait_condition= SELECT COUNT_STAR = 1536 FROM performance_schema.table_io_waits_summary_by_index_usage WHERE object_schema = 'test' AND object_name = 't' AND index_name IS NULL
+--source include/wait_condition.inc
+
+# Now verify that double the amount of rows in the table should be shown as scanned (should be 1536)
+SELECT object_schema, object_name, rows_full_scanned FROM sys.schema_tables_with_full_table_scans;
+
+SELECT object_schema, object_name, rows_full_scanned FROM sys.x$schema_tables_with_full_table_scans;
+
+# Do a point lookup
+SELECT * FROM test.t WHERE i = 10;
+
+# The number of rows scanned should not have changed (should still be 1536)
+SELECT object_schema, object_name, rows_full_scanned FROM sys.schema_tables_with_full_table_scans;
+
+SELECT object_schema, object_name, rows_full_scanned FROM sys.x$schema_tables_with_full_table_scans;
+
+# Cleanup
+DROP TABLE test.t;
diff --git a/mysql-test/suite/sysschema/t/v_schema_unused_indexes.test b/mysql-test/suite/sysschema/t/v_schema_unused_indexes.test
new file mode 100644
index 00000000000..a9000c2568d
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_schema_unused_indexes.test
@@ -0,0 +1,13 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.schema_unused_indexes view
+
+# Ensure structure changes don't slip in
+DESC sys.schema_unused_indexes;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.schema_unused_indexes;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_session.test b/mysql-test/suite/sysschema/t/v_session.test
new file mode 100644
index 00000000000..44431653067
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_session.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.session view
+
+# Ensure structure changes don't slip in
+DESC sys.session;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.session;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$session;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$session;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_session_ssl_status.test b/mysql-test/suite/sysschema/t/v_session_ssl_status.test
new file mode 100644
index 00000000000..00d60737ca9
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_session_ssl_status.test
@@ -0,0 +1,12 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.session_ssl_status view
+
+# Ensure structure changes don't slip in
+DESC sys.session_ssl_status;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.session_ssl_status;
+--enable_result_log
diff --git a/mysql-test/suite/sysschema/t/v_statement_analysis.test b/mysql-test/suite/sysschema/t/v_statement_analysis.test
new file mode 100644
index 00000000000..0a4d3e8886d
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_statement_analysis.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.statement_analysis view
+
+# Ensure structure changes don't slip in
+DESC sys.statement_analysis;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.statement_analysis;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$statement_analysis;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$statement_analysis;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_statements_with_errors_or_warnings.test b/mysql-test/suite/sysschema/t/v_statements_with_errors_or_warnings.test
new file mode 100644
index 00000000000..400b6f83d33
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_statements_with_errors_or_warnings.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.statements_with_errors_or_warnings view
+
+# Ensure structure changes don't slip in
+DESC sys.statements_with_errors_or_warnings;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.statements_with_errors_or_warnings;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$statements_with_errors_or_warnings;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$statements_with_errors_or_warnings;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_statements_with_full_table_scans.test b/mysql-test/suite/sysschema/t/v_statements_with_full_table_scans.test
new file mode 100644
index 00000000000..8ec48527ef0
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_statements_with_full_table_scans.test
@@ -0,0 +1,87 @@
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Performance schema tracks prepared statements separately, and does not
+# yet have a summary view that we can use for this view.
+# Until then, we disable this test with --ps-protocol
+-- source include/no_protocol.inc
+
+# Tests for sys schema
+# Verify the sys.statements_with_full_table_scans view
+
+# Ensure structure changes don't slip in
+DESC sys.statements_with_full_table_scans;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.statements_with_full_table_scans;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$statements_with_full_table_scans;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$statements_with_full_table_scans;
+--enable_result_log
+
+# Create a dummy table, force some full table scans, verify the results
+CREATE DATABASE v_statements_with_full_table_scans;
+
+CREATE TABLE v_statements_with_full_table_scans.t (i BIGINT AUTO_INCREMENT PRIMARY KEY, j BIGINT) ENGINE = innodb;
+
+INSERT INTO v_statements_with_full_table_scans.t (j) VALUES (1), (2), (3);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+INSERT INTO v_statements_with_full_table_scans.t (j) (SELECT j*2 FROM v_statements_with_full_table_scans.t);
+
+# The table should now have 768 rows
+
+# Now truncate the P_S tables, to get fresh results
+CALL sys.ps_truncate_all_tables(false);
+
+# Following returns 28 rows, but should full scan as j has no index
+# Using RAND() to force no query caching, so ignore results, they are not important
+--disable_result_log
+SELECT i, j, RAND() FROM v_statements_with_full_table_scans.t WHERE j = 12;
+--enable_result_log
+
+# Now verify the statement shows up in the views with the right row count (should be 768)
+SELECT db, query, rows_examined FROM sys.statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+
+SELECT db, query, rows_examined FROM sys.x$statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+
+# Scan again
+--disable_result_log
+SELECT i, j, RAND() FROM v_statements_with_full_table_scans.t WHERE j = 12;
+--enable_result_log
+
+# Now verify that double the amount of rows for the statement should be shown as scanned (should be 1536)
+SELECT db, query, rows_examined FROM sys.statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+
+SELECT db, query, rows_examined FROM sys.x$statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+
+# Do a point lookup
+SELECT * FROM v_statements_with_full_table_scans.t WHERE i = 10;
+
+# The number of rows scanned should not have changed (should still be 1536)
+SELECT db, query, rows_examined FROM sys.statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+
+SELECT db, query, rows_examined FROM sys.x$statements_with_full_table_scans WHERE query LIKE '%v_statements_with_full_table_scans%' ORDER BY rows_examined DESC;
+
+# Cleanup
+DROP DATABASE v_statements_with_full_table_scans;
diff --git a/mysql-test/suite/sysschema/t/v_statements_with_runtimes_in_95th_percentile.test b/mysql-test/suite/sysschema/t/v_statements_with_runtimes_in_95th_percentile.test
new file mode 100644
index 00000000000..ec2865e172d
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_statements_with_runtimes_in_95th_percentile.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.statements_with_runtimes_in_95th_percentile view
+
+# Ensure structure changes don't slip in
+DESC sys.statements_with_runtimes_in_95th_percentile;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.statements_with_runtimes_in_95th_percentile;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$statements_with_runtimes_in_95th_percentile;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$statements_with_runtimes_in_95th_percentile;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_statements_with_sorting.test b/mysql-test/suite/sysschema/t/v_statements_with_sorting.test
new file mode 100644
index 00000000000..cf692c6e332
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_statements_with_sorting.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.statements_with_sorting view
+
+# Ensure structure changes don't slip in
+DESC sys.statements_with_sorting;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.statements_with_sorting;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$statements_with_sorting;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$statements_with_sorting;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_statements_with_temp_tables.test b/mysql-test/suite/sysschema/t/v_statements_with_temp_tables.test
new file mode 100644
index 00000000000..5d88e8d6cc2
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_statements_with_temp_tables.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.statements_with_temp_tables view
+
+# Ensure structure changes don't slip in
+DESC sys.statements_with_temp_tables;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.statements_with_temp_tables;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$statements_with_temp_tables;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$statements_with_temp_tables;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_user_summary.test b/mysql-test/suite/sysschema/t/v_user_summary.test
new file mode 100644
index 00000000000..19d8824bfe0
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_user_summary.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.user_summary view
+
+# Ensure structure changes don't slip in
+DESC sys.user_summary;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.user_summary;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$user_summary;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$user_summary;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_user_summary_by_file_io.test b/mysql-test/suite/sysschema/t/v_user_summary_by_file_io.test
new file mode 100644
index 00000000000..2818a70aeab
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_user_summary_by_file_io.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.user_summary_by_file_io view
+
+# Ensure structure changes don't slip in
+DESC sys.user_summary_by_file_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.user_summary_by_file_io;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$user_summary_by_file_io;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$user_summary_by_file_io;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_user_summary_by_file_io_type.test b/mysql-test/suite/sysschema/t/v_user_summary_by_file_io_type.test
new file mode 100644
index 00000000000..44d0edd449e
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_user_summary_by_file_io_type.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.user_summary_by_file_io_type view
+
+# Ensure structure changes don't slip in
+DESC sys.user_summary_by_file_io_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.user_summary_by_file_io_type;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$user_summary_by_file_io_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$user_summary_by_file_io_type;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_user_summary_by_stages.test b/mysql-test/suite/sysschema/t/v_user_summary_by_stages.test
new file mode 100644
index 00000000000..8977d067f18
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_user_summary_by_stages.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.user_summary_by_stages view
+
+# Ensure structure changes don't slip in
+DESC sys.user_summary_by_stages;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.user_summary_by_stages;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$user_summary_by_stages;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$user_summary_by_stages;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_user_summary_by_statement_latency.test b/mysql-test/suite/sysschema/t/v_user_summary_by_statement_latency.test
new file mode 100644
index 00000000000..4c962c3feba
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_user_summary_by_statement_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.user_summary_by_statement_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.user_summary_by_statement_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.user_summary_by_statement_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$user_summary_by_statement_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$user_summary_by_statement_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_user_summary_by_statement_type.test b/mysql-test/suite/sysschema/t/v_user_summary_by_statement_type.test
new file mode 100644
index 00000000000..a21762150ea
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_user_summary_by_statement_type.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.user_summary_by_statement_type view
+
+# Ensure structure changes don't slip in
+DESC sys.user_summary_by_statement_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.user_summary_by_statement_type;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$user_summary_by_statement_type;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$user_summary_by_statement_type;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_version.test b/mysql-test/suite/sysschema/t/v_version.test
new file mode 100644
index 00000000000..bb60de8dd01
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_version.test
@@ -0,0 +1,11 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.version view
+
+# We do not do a DESC of this view, as the size of the version field
+# can change depending on the build.
+# Instead, we just select the sys_version, to ensure no errors/unwanted updates
+
+SELECT sys_version FROM sys.version;
+
diff --git a/mysql-test/suite/sysschema/t/v_wait_classes_global_by_avg_latency.test b/mysql-test/suite/sysschema/t/v_wait_classes_global_by_avg_latency.test
new file mode 100644
index 00000000000..63eb79fbca3
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_wait_classes_global_by_avg_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.wait_classes_global_by_avg_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.wait_classes_global_by_avg_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.wait_classes_global_by_avg_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$wait_classes_global_by_avg_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$wait_classes_global_by_avg_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_wait_classes_global_by_latency.test b/mysql-test/suite/sysschema/t/v_wait_classes_global_by_latency.test
new file mode 100644
index 00000000000..87923996b90
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_wait_classes_global_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.wait_classes_global_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.wait_classes_global_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.wait_classes_global_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$wait_classes_global_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$wait_classes_global_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_waits_by_host_by_latency.test b/mysql-test/suite/sysschema/t/v_waits_by_host_by_latency.test
new file mode 100644
index 00000000000..56235abc0c9
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_waits_by_host_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.waits_by_host_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.waits_by_host_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.waits_by_host_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$waits_by_host_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$waits_by_host_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_waits_by_user_by_latency.test b/mysql-test/suite/sysschema/t/v_waits_by_user_by_latency.test
new file mode 100644
index 00000000000..0f98c3a254a
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_waits_by_user_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.waits_by_user_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.waits_by_user_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.waits_by_user_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$waits_by_user_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$waits_by_user_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/v_waits_global_by_latency.test b/mysql-test/suite/sysschema/t/v_waits_global_by_latency.test
new file mode 100644
index 00000000000..a41aff01cda
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/v_waits_global_by_latency.test
@@ -0,0 +1,22 @@
+-- source include/not_embedded.inc
+-- source ../include/ps_truncate_all_tables.inc
+# Tests for sys schema
+# Verify the sys.waits_global_by_latency view
+
+# Ensure structure changes don't slip in
+DESC sys.waits_global_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.waits_global_by_latency;
+--enable_result_log
+
+
+# Ensure structure changes don't slip in
+DESC sys.x$waits_global_by_latency;
+
+# Make sure view select does not error, but ignore results
+--disable_result_log
+SELECT * FROM sys.x$waits_global_by_latency;
+--enable_result_log
+
diff --git a/mysql-test/suite/sysschema/t/version_functions.test b/mysql-test/suite/sysschema/t/version_functions.test
new file mode 100644
index 00000000000..29a0d744fd8
--- /dev/null
+++ b/mysql-test/suite/sysschema/t/version_functions.test
@@ -0,0 +1,27 @@
+########### suite/sysschema/t/version_functions.test #############
+# #
+# Testing of the sys.version_major(), sys.version_minor(), #
+# and sys.version_patch() functions #
+# #
+# Creation: #
+# 2015-08-14 jkrogh Implement this test #
+# #
+##################################################################
+
+-- source include/not_embedded.inc
+
+# Sanity check - the functions should not return any warnings or errors
+--disable_result_log
+SELECT sys.version_major();
+SELECT sys.version_minor();
+SELECT sys.version_patch();
+--enable_result_log
+
+# Check that concatenating the three version parts gives the beginning of the output of VERSION()
+# This is not truly an independent test, but there isn't really anywhere else to get the actual version,
+# so it at least verifies that the three parts go back together in the right way.
+let $MY_VERSION=`SELECT CONCAT(sys.version_major(), '.', sys.version_minor(), '.', sys.version_patch())`;
+--disable_query_log ONCE
+eval SET @my_version = '$MY_VERSION';
+
+SELECT @my_version = SUBSTRING(VERSION(), 1, CHAR_LENGTH(@my_version));
diff --git a/mysql-test/suite/vcol/r/vcol_keys_myisam.result b/mysql-test/suite/vcol/r/vcol_keys_myisam.result
index 1e6c854e0d9..8b89da987a1 100644
--- a/mysql-test/suite/vcol/r/vcol_keys_myisam.result
+++ b/mysql-test/suite/vcol/r/vcol_keys_myisam.result
@@ -268,9 +268,9 @@ check table t1 extended;
Table Op Msg_type Msg_text
test.t1 check status OK
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 b 1 b A 999 NULL NULL YES BTREE
-t1 1 i 1 d A 999 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 999 NULL NULL YES BTREE NO
+t1 1 i 1 d A 999 NULL NULL YES BTREE NO
select * from t1 where b=11;
a b c d
10 11 -5440 10-5440
@@ -280,9 +280,9 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
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 b 1 b A 998 NULL NULL YES BTREE
-t1 1 i 1 d A 998 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 998 NULL NULL YES BTREE NO
+t1 1 i 1 d A 998 NULL NULL YES BTREE NO
select * from t1 where b=11;
a b c d
10 11 -5440 10-5440
@@ -290,9 +290,9 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
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 b 1 b A 998 NULL NULL YES BTREE
-t1 1 i 1 d A 998 NULL NULL YES BTREE
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 1 b 1 b A 998 NULL NULL YES BTREE NO
+t1 1 i 1 d A 998 NULL NULL YES BTREE NO
select * from t1 where b=11;
a b c d
10 11 -5440 10-5440
diff --git a/mysql-test/suite/vcol/r/vcol_select_innodb.result b/mysql-test/suite/vcol/r/vcol_select_innodb.result
index e275a66091c..40308b6e072 100644
--- a/mysql-test/suite/vcol/r/vcol_select_innodb.result
+++ b/mysql-test/suite/vcol/r/vcol_select_innodb.result
@@ -1,4 +1,6 @@
SET @@session.default_storage_engine = 'InnoDB';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
create table t1 (a int,
b int as (-a),
c int as (-a) persistent,
@@ -265,3 +267,4 @@ NULL
explain select sum(c) from t1 group by b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using temporary; Using filesort
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
diff --git a/mysql-test/suite/vcol/r/vcol_view_innodb.result b/mysql-test/suite/vcol/r/vcol_view_innodb.result
index e6895243371..53ef6e0709c 100644
--- a/mysql-test/suite/vcol/r/vcol_view_innodb.result
+++ b/mysql-test/suite/vcol/r/vcol_view_innodb.result
@@ -1,4 +1,6 @@
SET @@session.default_storage_engine = 'InnoDB';
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
create table t1 (a int not null,
b int as (-a),
c int as (-a) persistent);
@@ -281,3 +283,4 @@ a b c
0 0 0
drop view v1;
drop table t1;
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
diff --git a/mysql-test/suite/vcol/t/vcol_select_innodb.test b/mysql-test/suite/vcol/t/vcol_select_innodb.test
index 606801a213a..5b04096a5a5 100644
--- a/mysql-test/suite/vcol/t/vcol_select_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_select_innodb.test
@@ -36,6 +36,8 @@
# Set the session storage engine
--source include/have_innodb.inc
eval SET @@session.default_storage_engine = 'InnoDB';
+SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
##### Workarounds for known open engine specific bugs
# none
@@ -47,6 +49,8 @@ eval SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
+SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
+
#------------------------------------------------------------------------------#
# Cleanup
--source suite/vcol/inc/vcol_cleanup.inc
diff --git a/mysql-test/suite/vcol/t/vcol_view_innodb.test b/mysql-test/suite/vcol/t/vcol_view_innodb.test
index fd77489f5dc..3b869425ecb 100644
--- a/mysql-test/suite/vcol/t/vcol_view_innodb.test
+++ b/mysql-test/suite/vcol/t/vcol_view_innodb.test
@@ -35,6 +35,8 @@
# Set the session storage engine
--source include/have_innodb.inc
eval SET @@session.default_storage_engine = 'InnoDB';
+SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent=0;
##### Workarounds for known open engine specific bugs
# none
@@ -46,6 +48,8 @@ eval SET @@session.default_storage_engine = 'InnoDB';
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
+SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
+
#------------------------------------------------------------------------------#
# Cleanup
--source suite/vcol/inc/vcol_cleanup.inc
diff --git a/mysql-test/suite/versioning/r/create.result b/mysql-test/suite/versioning/r/create.result
index dbef4546043..caed619cbf5 100644
--- a/mysql-test/suite/versioning/r/create.result
+++ b/mysql-test/suite/versioning/r/create.result
@@ -601,8 +601,8 @@ from information_schema.statistics where table_name = 't1';
table_schema table_name non_unique index_schema index_name seq_in_index column_name
test t1 0 test PRIMARY 1 id
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 id # # # # # #
+Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
+t1 0 PRIMARY 1 id # # # # # # NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
diff --git a/mysql-test/suite/versioning/r/cte.result b/mysql-test/suite/versioning/r/cte.result
index 4c0867d579b..6ca9c238d45 100644
--- a/mysql-test/suite/versioning/r/cte.result
+++ b/mysql-test/suite/versioning/r/cte.result
@@ -1,3 +1,5 @@
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
set time_zone="+00:00";
set default_storage_engine=innodb;
create or replace table dept (
@@ -311,3 +313,4 @@ emp_id name mgr address
drop table emp;
drop table dept;
drop table addr;
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/suite/versioning/r/select.result b/mysql-test/suite/versioning/r/select.result
index 6df18403ee3..90c99d1bf0e 100644
--- a/mysql-test/suite/versioning/r/select.result
+++ b/mysql-test/suite/versioning/r/select.result
@@ -1,3 +1,5 @@
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
create or replace table t1 (
x int unsigned,
y int unsigned,
@@ -705,3 +707,4 @@ No A B C D
32 1 1 1 1
33 1 1 1 1
34 1 1 1 1
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/suite/versioning/r/trx_id.result b/mysql-test/suite/versioning/r/trx_id.result
index 5182da32d4d..6c337863790 100644
--- a/mysql-test/suite/versioning/r/trx_id.result
+++ b/mysql-test/suite/versioning/r/trx_id.result
@@ -89,6 +89,7 @@ sys_start bigint(20) unsigned as row start invisible,
sys_end bigint(20) unsigned as row end invisible,
period for system_time (sys_start, sys_end)
) with system versioning;
+INSERT INTO t1 VALUES(100);
set transaction isolation level read committed;
start transaction;
insert into t1 values (1);
@@ -129,25 +130,31 @@ select @ts1 < @ts2, @ts2 < @ts3;
# MVCC is resolved
select * from t1 for system_time as of transaction @trx_id1;
x
+100
1
2
3
select * from t1 for system_time as of timestamp @ts1;
x
+100
3
select * from t1 for system_time as of transaction @trx_id2;
x
+100
2
3
select * from t1 for system_time as of timestamp @ts2;
x
+100
2
3
select * from t1 for system_time as of transaction @trx_id3;
x
+100
3
select * from t1 for system_time as of timestamp @ts3;
x
+100
1
2
3
diff --git a/mysql-test/suite/versioning/r/update.result b/mysql-test/suite/versioning/r/update.result
index cbb75a10cf5..f6a36ec9ce1 100644
--- a/mysql-test/suite/versioning/r/update.result
+++ b/mysql-test/suite/versioning/r/update.result
@@ -270,7 +270,7 @@ replace t1 values (1,2),(1,3),(2,4);
# MDEV-14829 Assertion `0' failed in Protocol::end_statement upon concurrent UPDATE
#
set @old_lock_wait_timeout= @@innodb_lock_wait_timeout;
-set @@innodb_lock_wait_timeout= 1073741824;
+set @@innodb_lock_wait_timeout= 100000000;
create or replace table t1 (pk int, a char(3), b char(3), primary key(pk))
engine=innodb with system versioning;
insert into t1 (pk) values (1);
diff --git a/mysql-test/suite/versioning/t/alter.test b/mysql-test/suite/versioning/t/alter.test
index 85b61c8655e..0ec2f887950 100644
--- a/mysql-test/suite/versioning/t/alter.test
+++ b/mysql-test/suite/versioning/t/alter.test
@@ -139,7 +139,9 @@ select * from t;
update t set a=3 where a=1;
select * from t;
select * from t for system_time all;
+--enable_prepare_warnings
select row_start from t where a=3 into @tm;
+--disable_prepare_warnings
alter table t add column b int;
select @tm=row_start from t where a=3;
show create table t;
diff --git a/mysql-test/suite/versioning/t/commit_id.test b/mysql-test/suite/versioning/t/commit_id.test
index 0f9cf1eb391..96461f5c299 100644
--- a/mysql-test/suite/versioning/t/commit_id.test
+++ b/mysql-test/suite/versioning/t/commit_id.test
@@ -17,6 +17,9 @@ insert into t1 values ();
--real_sleep 0.01
set @ts0= now(6);
insert into t1 values ();
+
+--enable_prepare_warnings
+
select sys_trx_start from t1 where id = last_insert_id() into @tx0;
select transaction_id = @tx0 from mysql.transaction_registry
order by transaction_id desc limit 1;
@@ -87,6 +90,7 @@ insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx6;
select isolation_level = 'REPEATABLE-READ' from mysql.transaction_registry where transaction_id = @tx6;
+--disable_prepare_warnings
drop table t1;
call verify_trt;
diff --git a/mysql-test/suite/versioning/t/create.test b/mysql-test/suite/versioning/t/create.test
index f50d75ded9e..87cafdc7d32 100644
--- a/mysql-test/suite/versioning/t/create.test
+++ b/mysql-test/suite/versioning/t/create.test
@@ -5,6 +5,8 @@
drop table if exists t1;
--enable_warnings
+--enable_prepare_warnings
+
--replace_result $default_engine DEFAULT_ENGINE $sys_datatype_expl SYS_DATATYPE NULL ''
eval create table t1 (
x1 int unsigned,
@@ -439,6 +441,7 @@ show create table t1;
show create table t2;
drop temporary table t2;
drop table t1;
+--disable_prepare_warnings
--echo #
--echo # MDEV-16857 system-invisible row_end is displayed in SHOW INDEX
diff --git a/mysql-test/suite/versioning/t/cte.test b/mysql-test/suite/versioning/t/cte.test
index 5a8fb1f8211..025e1b2319d 100644
--- a/mysql-test/suite/versioning/t/cte.test
+++ b/mysql-test/suite/versioning/t/cte.test
@@ -1,6 +1,13 @@
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Test temporarily disabled for ps-protocol
+}
--source include/have_innodb.inc
--source include/default_optimizer_switch.inc
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
+
set time_zone="+00:00";
set default_storage_engine=innodb;
create or replace table dept (
@@ -226,3 +233,5 @@ select * from (select * from emp natural join addr) for system_time all as t;
drop table emp;
drop table dept;
drop table addr;
+
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
diff --git a/mysql-test/suite/versioning/t/foreign.test b/mysql-test/suite/versioning/t/foreign.test
index 441491e461f..934053f83ba 100644
--- a/mysql-test/suite/versioning/t/foreign.test
+++ b/mysql-test/suite/versioning/t/foreign.test
@@ -314,7 +314,9 @@ create or replace table subchild (
) engine=innodb;
insert into parent (value) values (23);
+--enable_prepare_warnings
select id, value from parent into @id, @value;
+--disable_prepare_warnings
insert into child values (default, @id, @value);
insert into subchild values (default, @id, @value);
diff --git a/mysql-test/suite/versioning/t/insert.test b/mysql-test/suite/versioning/t/insert.test
index 0324df64d0c..4e8c91315c6 100644
--- a/mysql-test/suite/versioning/t/insert.test
+++ b/mysql-test/suite/versioning/t/insert.test
@@ -52,7 +52,9 @@ drop view vt1_1;
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create or replace table t1( id bigint primary key, a int, b int) with system versioning;
insert into t1 values(1, 1, 1);
+--enable_prepare_warnings
select row_start, row_end from t1 into @sys_start, @sys_end;
+--disable_prepare_warnings
select id, a, b from t1;
insert into t1 values(2, 2, 2);
select id, a, b, row_start > @sys_start as C, row_end = @sys_end as D from t1 where id = 2;
diff --git a/mysql-test/suite/versioning/t/load_data.test b/mysql-test/suite/versioning/t/load_data.test
index 4db6eee6c4d..3bac2942a81 100644
--- a/mysql-test/suite/versioning/t/load_data.test
+++ b/mysql-test/suite/versioning/t/load_data.test
@@ -4,7 +4,9 @@
CREATE TABLE t1 (a INT, b INT, c INT, vc INT AS (c), UNIQUE(a), UNIQUE(b)) WITH SYSTEM VERSIONING;
INSERT IGNORE INTO t1 (a,b,c) VALUES (1,2,3);
+--enable_prepare_warnings
SELECT a, b, c FROM t1 INTO OUTFILE '15330.data';
+--disable_prepare_warnings
LOAD DATA INFILE '15330.data' IGNORE INTO TABLE t1 (a,b,c);
LOAD DATA INFILE '15330.data' REPLACE INTO TABLE t1 (a,b,c);
diff --git a/mysql-test/suite/versioning/t/partition.test b/mysql-test/suite/versioning/t/partition.test
index 9344037a717..82b8fac4795 100644
--- a/mysql-test/suite/versioning/t/partition.test
+++ b/mysql-test/suite/versioning/t/partition.test
@@ -8,6 +8,8 @@ set global innodb_stats_persistent= 0;
call mtr.add_suppression("need more HISTORY partitions");
+--enable_prepare_warnings
+
set system_versioning_alter_history=keep;
--echo # Check conventional partitioning on temporal tables
@@ -1452,6 +1454,8 @@ show create table t1;
drop tables t1;
+--disable_prepare_warnings
+
--echo #
--echo # End of 10.5 tests
--echo #
diff --git a/mysql-test/suite/versioning/t/select.test b/mysql-test/suite/versioning/t/select.test
index d2615940ac8..9142a8fae8a 100644
--- a/mysql-test/suite/versioning/t/select.test
+++ b/mysql-test/suite/versioning/t/select.test
@@ -1,7 +1,15 @@
+if (`SELECT $PS_PROTOCOL != 0`)
+{
+ --skip Need regular protocol but ps-protocol was specified
+}
--source suite/versioning/engines.inc
--source suite/versioning/common.inc
--source include/default_optimizer_switch.inc
+SET @saved_stats_persistent = @@GLOBAL.innodb_stats_persistent;
+SET GLOBAL innodb_stats_persistent = OFF;
+
+--enable_prepare_warnings
# test_01
--replace_result $sys_datatype_expl SYS_DATATYPE
@@ -475,5 +483,8 @@ drop table tmp1;
drop tables x, x_p;
call verify_trt_dummy(34);
+--disable_prepare_warnings
+
+SET GLOBAL innodb_stats_persistent = @saved_stats_persistent;
-- source suite/versioning/common_finish.inc
diff --git a/mysql-test/suite/versioning/t/select2.test b/mysql-test/suite/versioning/t/select2.test
index 1ab7bcf27c1..53840b390b6 100644
--- a/mysql-test/suite/versioning/t/select2.test
+++ b/mysql-test/suite/versioning/t/select2.test
@@ -22,13 +22,16 @@ insert into t1 (x, y) values
(8, 108),
(9, 109);
set @t0= now(6);
+--enable_prepare_warnings
select sys_start from t1 limit 1 into @x0;
-
+--disable_prepare_warnings
delete from t1 where x = 3;
delete from t1 where x > 7;
insert into t1(x, y) values(3, 33);
+--enable_prepare_warnings
select sys_start from t1 where x = 3 and y = 33 into @t1;
+--disable_prepare_warnings
if($MTR_COMBINATION_TRX_ID) {
set @x1= @t1;
select trt_commit_ts(@x1) into @t1;
diff --git a/mysql-test/suite/versioning/t/sysvars.test b/mysql-test/suite/versioning/t/sysvars.test
index ab1f612edf3..91dd278a2e1 100644
--- a/mysql-test/suite/versioning/t/sysvars.test
+++ b/mysql-test/suite/versioning/t/sysvars.test
@@ -59,7 +59,9 @@ show global variables like 'system_versioning_asof';
set global system_versioning_asof= '1990-01-01 00:00:00';
show global variables like 'system_versioning_asof';
+--enable_prepare_warnings
set global system_versioning_asof= timestamp'1991-11-11 11:11:11.1111119';
+--disable_prepare_warnings
show global variables like 'system_versioning_asof';
set @ts= timestamp'1990-01-01 00:00:00';
@@ -76,7 +78,9 @@ show variables like 'system_versioning_asof';
set system_versioning_asof= '1990-01-01 00:00:00';
show variables like 'system_versioning_asof';
+--enable_prepare_warnings
set system_versioning_asof= timestamp'1991-11-11 11:11:11.1111119';
+--disable_prepare_warnings
show variables like 'system_versioning_asof';
set @ts= timestamp'1990-01-01 00:00:00';
@@ -183,7 +187,9 @@ drop tables t1, t2;
--echo #
SET sql_mode=TIME_ROUND_FRACTIONAL;
+--enable_prepare_warnings
SET @@global.system_versioning_asof= timestamp'2001-12-31 23:59:59.9999999';
+--disable_prepare_warnings
SELECT @@global.system_versioning_asof;
SET @@global.system_versioning_asof= DEFAULT;
diff --git a/mysql-test/suite/versioning/t/trx_id.test b/mysql-test/suite/versioning/t/trx_id.test
index a0da7714f50..60836279f52 100644
--- a/mysql-test/suite/versioning/t/trx_id.test
+++ b/mysql-test/suite/versioning/t/trx_id.test
@@ -19,6 +19,8 @@ create or replace table t1 (
period for system_time (sys_trx_start, sys_trx_end)
) with system versioning;
+--enable_prepare_warnings
+
--echo # No history inside the transaction
start transaction;
insert into t1 (x) values (1);
@@ -92,6 +94,10 @@ create or replace table t1 (
period for system_time (sys_start, sys_end)
) with system versioning;
+# MDEV-515 takes X-lock on the table for the first insert
+# So concurrent DML won't happen on the table
+INSERT INTO t1 VALUES(100);
+
set transaction isolation level read committed;
start transaction;
insert into t1 values (1);
@@ -589,6 +595,8 @@ uninstall plugin test_versioning;
--error ER_SP_DOES_NOT_EXIST
select trt_begin_ts(0);
+--disable_prepare_warnings
+
--echo #
--echo # MDEV-21650 Non-empty statement transaction on global rollback after TRT update error
--echo #
diff --git a/mysql-test/suite/versioning/t/update.test b/mysql-test/suite/versioning/t/update.test
index 56bbd909256..5d250bb2162 100644
--- a/mysql-test/suite/versioning/t/update.test
+++ b/mysql-test/suite/versioning/t/update.test
@@ -173,7 +173,7 @@ replace t1 values (1,2),(1,3),(2,4);
--echo # MDEV-14829 Assertion `0' failed in Protocol::end_statement upon concurrent UPDATE
--echo #
set @old_lock_wait_timeout= @@innodb_lock_wait_timeout;
-set @@innodb_lock_wait_timeout= 1073741824;
+set @@innodb_lock_wait_timeout= 100000000;
create or replace table t1 (pk int, a char(3), b char(3), primary key(pk))
engine=innodb with system versioning;
diff --git a/mysql-test/suite/wsrep/r/variables.result b/mysql-test/suite/wsrep/r/variables.result
index c21e4dc0323..82c480917f1 100644
--- a/mysql-test/suite/wsrep/r/variables.result
+++ b/mysql-test/suite/wsrep/r/variables.result
@@ -105,11 +105,14 @@ WSREP_FORCED_BINLOG_FORMAT
WSREP_GTID_DOMAIN_ID
WSREP_GTID_MODE
WSREP_GTID_SEQ_NO
+WSREP_MODE
+WSREP_STRICT_DDL
WSREP_IGNORE_APPLY_ERRORS
WSREP_LOAD_DATA_SPLITTING
WSREP_LOG_CONFLICTS
WSREP_MAX_WS_ROWS
WSREP_MAX_WS_SIZE
+WSREP_MODE
WSREP_MYSQL_REPLICATION_BUNDLE
WSREP_NODE_ADDRESS
WSREP_NODE_INCOMING_ADDRESS
diff --git a/mysql-test/suite/wsrep/r/variables_debug.result b/mysql-test/suite/wsrep/r/variables_debug.result
index 65f5b0ee274..fe2bffb3f08 100644
--- a/mysql-test/suite/wsrep/r/variables_debug.result
+++ b/mysql-test/suite/wsrep/r/variables_debug.result
@@ -105,7 +105,6 @@ WSREP_DRUPAL_282555_WORKAROUND
WSREP_FORCED_BINLOG_FORMAT
WSREP_GTID_DOMAIN_ID
WSREP_GTID_MODE
-WSREP_GTID_SEQ_NO
WSREP_IGNORE_APPLY_ERRORS
WSREP_LOAD_DATA_SPLITTING
WSREP_LOG_CONFLICTS
@@ -136,7 +135,6 @@ WSREP_SST_DONOR_REJECTS_QUERIES
WSREP_SST_METHOD
WSREP_SST_RECEIVE_ADDRESS
WSREP_START_POSITION
-WSREP_STRICT_DDL
WSREP_SYNC_WAIT
WSREP_TRX_FRAGMENT_SIZE
WSREP_TRX_FRAGMENT_UNIT
diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests
deleted file mode 100644
index c22ded07f2f..00000000000
--- a/mysql-test/unstable-tests
+++ /dev/null
@@ -1,858 +0,0 @@
-##############################################################################
-#
-# List the test cases which, unlike tests from disabled.def files,
-# can still be run on the current tree meaningfully, but are known
-# or suspected to fail sporadically on different reasons.
-#
-# Most common reasons are either test failures observed in buildbot,
-# or recent modifications to the tests which make their stability
-# unknown.
-#
-# Tests included due to recent modifications are later removed from the
-# list, if during a certain period they do not fail (and are not
-# modified again). Tests included due to intermittent failures are
-# removed when corresponding bug reports are closed.
-#
-# Separate the test case name and the comment with ':'.
-#
-# <suitename>.<testcasename> : MDEV-xxxxx - <comment>
-#
-# '*' wildcard in testcase names is supported.
-#
-# To use the list, run MTR with --skip-test-list=unstable-tests option.
-#
-##############################################################################
-#
-# Based on bb-10.5-release ae7989ca2 (galera.galera_gra_log crashes)
-# for main suite changes and failures, and
-# 10.5 8e1e2856f2523c225a81840059e93fa9f61fbacf
-# for the rest
-
-main.alter_events : Added in 10.5.9
-main.alter_table_mdev539_maria : MDEV-23922 - Timeout or crash
-main.alter_table_trans : MDEV-12084 - timeout
-main.alter_user : Modified in 10.5.9
-main.analyze_stmt_slow_query_log : MDEV-12237 - Wrong result
-main.auth_named_pipe : MDEV-14724 - System error 2
-main.auto_increment_ranges_innodb : Modified in 10.5.9
-main.backup_stages : MDEV-23401 - Bad file descriptor
-main.binary_to_hex : MDEV-20211 - Wrong result
-main.check_constraint : Modified in 10.5.9
-main.client_xml : MDEV-24085 - Wrong result
-main.column_compression : MDEV-23954 - Wrong result
-main.connect : MDEV-17282 - Wrong result
-main.connect-abstract : MDEV-20162 - Could not execute 'check-testcase'
-main.connect2 : MDEV-13885 - Server crash
-main.create : Modified in 10.5.9
-main.create_delayed : MDEV-10605 - failed with timeout
-main.create_drop_event : MDEV-16271 - Wrong result
-main.create_or_replace : MDEV-22954 - Wrong result
-main.cte_nonrecursive : Modified in 10.5.9
-main.cte_nonrecursive_not_embedded : Added in 10.5.9
-main.cte_recursive : Modified in 10.5.9
-main.ctype_binary : MDEV-24080 - Data too long for column
-main.ctype_cp932_binlog_row : MDEV-20540 - Wrong result
-main.ctype_cp932_binlog_stm : MDEV-20534 - Wrong result
-main.ctype_ucs : MDEV-17681 - Data too long for column
-main.ctype_upgrade : MDEV-16945 - Error upon mysql_upgrade
-main.ctype_utf16 : MDEV-10675 - Timeout or extra warnings
-main.ctype_utf16le : MDEV-10675 - Timeout or extra warnings
-main.ctype_utf8mb4 : Modified in 10.5.9
-main.ctype_utf8mb4_heap : Include file modified in 10.5.9
-main.ctype_utf8mb4_innodb : MDEV-17744 - Timeout; MDEV-18567 - ASAN use-after-poison; include file modified in 10.5.9
-main.ctype_utf8mb4_myisam : Include file modified in 10.5.9
-main.debug_sync : MDEV-10607 - internal error
-main.delayed : MDEV-20961 - Assertion failure
-main.derived_cond_pushdown : MDEV-20532 - Floating point differences; modified in 10.5.9
-main.dirty_close : MDEV-19368 - mysqltest failed but provided no output
-main.distinct : MDEV-14194 - Crash
-main.drop : Modified in 10.5.9
-main.drop_bad_db_type : MDEV-15676 - Wrong result
-main.dyncol : MDEV-19455 - Extra warning
-main.empty_string_literal : Modified in 10.5.9
-main.events_2 : MDEV-13277 - Crash
-main.events_bugs : MDEV-12892 - Crash
-main.events_restart : MDEV-12236 - Server shutdown problem
-main.events_slowlog : MDEV-12821 - Wrong result
-main.failed_auth_unixsocket : MDEV-23933 - Access denied
-main.flush : MDEV-19368 - mysqltest failed but provided no output
-main.flush_block_commit_notembedded : MDEV-23974 - InnoDB error
-main.flush_read_lock : MDEV-22953 - Unknown XID
-main.flush_ssl : MDEV-21276 - Aria recovery failure
-main.func_gconcat : MDEV-21379 - Valgrind warnings; modified in 10.5.9
-main.func_like : Modified in 10.5.9
-main.func_math : MDEV-20966 - Wrong error code
-main.func_str : Modified in 10.5.9
-main.gis : MDEV-13411 - wrong result on P8
-main.gis-json : Modified in 10.5.9
-main.gis_notembedded : MDEV-21264 - Wrong result with non-default charset
-main.grant : Modified in 10.5.9
-main.grant_kill : MDEV-23915 - Wrong result
-main.grant_slave_admin : Modified in 10.5.9
-main.grant_slave_monitor : Added in 10.5.9
-main.group_by : Modified in 10.5.9
-main.having : MDEV-23420 - Server crash
-main.host_cache_size_functionality : MDEV-10606 - sporadic failure on shutdown
-main.index_intersect : MDEV-23921 - Wrong result
-main.index_intersect_innodb : MDEV-23921 - Wrong result; MDEV-10643 - failed with timeout
-main.index_merge_innodb : MDEV-7142 - Plan mismatch
-main.information_schema : Modified in 10.5.9
-main.information_schema_all_engines : MDEV-23421 - Wrong result
-main.innodb_ext_key : MDEV-20169 - Wrong result
-main.innodb_icp : MDEV-20168 - Wrong execution plans
-main.innodb_mrr_cpk : MDEV-24737 - Server crash
-main.invisible_field_grant_completely : MDEV-22254 - Syscall param write points to uninitialised bytes
-main.ipv4_and_ipv6 : MDEV-20964 - Wrong result
-main.ipv6 : MDEV-20964 - Wrong result
-main.join_cache : MDEV-17743 - Bad address from storage engine MyISAM
-main.join_outer : MDEV-24456 - Timeout on riscv64
-main.join_outer_jcl6 : MDEV-24456 - Timeout on riscv64
-main.kill : MDEV-24801 - Wrong errno on reap; modified in 10.5.9
-main.kill-2 : MDEV-13257 - Wrong result
-main.kill_processlist-6619 : MDEV-10793 - Wrong result
-main.loaddata : MDEV-19368 - mysqltest failed but provided no output
-main.locale : MDEV-20521 - Missing warning
-main.lock_tables_lost_commit : MDEV-24624 - Timeout
-main.lock_user : Modified in 10.5.9
-main.lock_view : Modified in 10.5.9
-main.log_slow : MDEV-13263 - Wrong result
-main.log_tables-big : MDEV-13408 - wrong result
-main.log_tables_upgrade : MDEV-20962 - Wrong result
-main.mdev-504 : MDEV-15171 - warning
-main.mdev375 : MDEV-10607 - sporadic "can't connect"
-main.mdl : MDEV-22954 - Wrong result
-main.merge : MDEV-10607 - sporadic "can't connect"
-main.myisam : Modified in 10.5.9
-main.myisam_icp_notembedded : MDEV-23420 - Server crash
-main.mysql : MDEV-20156 - Wrong result
-main.mysql_client_test : MDEV-19369 - error: 5888, status: 23, errno: 2; MDEV-19511 - Big endian issue
-main.mysql_client_test_comp : MDEV-16641 - Error in exec
-main.mysql_client_test_nonblock : CONC-208 - Error on Power; MDEV-15096 - exec failed
-main.mysql_cp932 : MDEV-21275 - Wrong result
-main.mysql_json_mysql_upgrade : Added in 10.5.9
-main.mysql_json_mysql_upgrade_with_plugin_loaded : Added in 10.5.9
-main.mysql_json_table_recreate : Modified in 10.5.9
-main.mysql_upgrade : MDEV-20161 - Wrong result; MDEV-20166 - FATAL ERROR: Upgrade failed; modified in 10.5.9
-main.mysql_upgrade-6984 : MDEV-22514 - Wrong result
-main.mysql_upgrade_mysql_json_datatype : Modified in 10.5.9
-main.mysql_upgrade_no_innodb : MDEV-20537 - Wrong result
-main.mysql_upgrade_noengine : MDEV-14355 - Wrong result
-main.mysql_upgrade_to_100502 : Modified in 10.5.9
-main.mysql_upgrade_view : MDEV-23392 - Wrong result; MDEV-20161 - Wrong result
-main.mysqladmin : MDEV-20535 - Wrong result
-main.mysqlbinlog : Modified in 10.5.9
-main.mysqlbinlog_row_compressed : MDEV-22964 - Wrong result
-main.mysqlcheck : MDEV-20164 - Wrong result
-main.mysqld_option_err : MDEV-21236 - Wrong error; MDEV-21571 - Crash on bootstrap
-main.mysqldump : Modified in 10.5.9
-main.mysqldump-max : MDEV-21272 - Wrong result
-main.mysqldump-system : Added in 10.5.9
-main.mysqlshow : MDEV-20965 - Wrong result
-main.mysqlslap : MDEV-11801 - timeout
-main.mysqltest : MDEV-13887 - Wrong result
-main.old-mode : MDEV-19373 - Wrong result
-main.openssl_6975 : MDEV-17184 - Failures with OpenSSL 1.1.1
-main.order_by : Modified in 10.5.9
-main.order_by_optimizer_innodb : MDEV-10683 - Wrong result
-main.parser : Modified in 10.5.9
-main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock
-main.partition_innodb : MDEV-20169 - Wrong result; MDEV-23427 - Server crash
-main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings
-main.partition_innodb_semi_consistent : MDEV-19411 - Failed to start mysqld.1
-main.plugin_auth : MDEV-20957 - Upgrade file was not properly created
-main.plugin_auth_qa_2 : MDEV-20165 - Wrong result
-main.pool_of_threads : MDEV-18135 - SSL error: key too small
-main.precedence : Modified in 10.5.9
-main.processlist_notembedded : MDEV-23752 - Not explainable command; modified in 10.5.9
-main.ps : MDEV-11017 - sporadic wrong Prepared_stmt_count
-main.ps_error : MDEV-24079 - Memory not freed
-main.ps_show_log : Added in 10.5.9
-main.query_cache : MDEV-16180 - Wrong result; modified in 10.5.9
-main.query_cache_debug : MDEV-15281 - Query cache is disabled
-main.range : Modified in 10.5.9
-main.range_innodb : MDEV-23371 - Server crash
-main.range_notembedded : Added in 10.5.9
-main.range_vs_index_merge_innodb : MDEV-15283 - Server has gone away
-main.repair_symlink-5543 : MDEV-23920 - Wrong result; modified in 10.5.9
-main.rowid_filter_innodb : MDEV-20538 - Wrong result
-main.select : MDEV-20532 - Floating point differences
-main.select_jcl6 : MDEV-20532 - Floating point differences
-main.select_pkeycache : MDEV-20532 - Floating point differences
-main.select_safe : MDEV-23420 - Server crash
-main.set_operation : Modified in 10.5.9
-main.set_password : Modified in 10.5.9
-main.set_statement : MDEV-13183 - Wrong result
-main.set_statement_notembedded : MDEV-19414 - Wrong result
-main.shm : MDEV-12727 - Mismatch, ERROR 2013
-main.show_explain : MDEV-10674 - Wrong result code
-main.skip_grants : Modified in 10.5.9
-main.sp : MDEV-7866 - Mismatch; modified in 10.5.9
-main.sp-big : MDEV-24457 - Result mismatch on riscv64
-main.sp-security : MDEV-10607 - sporadic "can't connect"
-main.sp-ucs2 : Modified in 10.5.9
-main.sp_notembedded : MDEV-10607 - internal error
-main.sp_trans_log : MDEV-24886 - Timeout
-main.ssl : MDEV-17184 - Failures with OpenSSL 1.1.1
-main.ssl_7937 : MDEV-20958 - Wrong result
-main.ssl_ca : MDEV-10895 - SSL connection error on Power
-main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1
-main.ssl_timeout : MDEV-11244 - Crash
-main.stat_tables : Modified in 10.5.9
-main.stat_tables_innodb : MDEV-20169 - Wrong result
-main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding
-main.status : MDEV-13255 - Wrong result
-main.subselect : MDEV-20551 - Valgrind failure
-main.subselect4 : Modified in 10.5.9
-main.subselect_innodb : MDEV-10614 - Wrong result
-main.symlink-myisam-11902 : Modified in 10.5.9
-main.table_value_constr : Modified in 10.5.9
-main.tc_heuristic_recover : MDEV-14189 - Wrong result
-main.temp_table_symlink : MDEV-24058 - Wrong error code
-main.tls_version : MDEV-23417 - Wrong result
-main.type_blob : MDEV-15195 - Wrong result
-main.type_datetime_hires : MDEV-10687 - Timeout
-main.type_float : MDEV-20532 - Floating point differences
-main.type_newdecimal : MDEV-20532 - Floating point differences
-main.type_ranges : MDEV-20532 - Floating point differences
-main.type_temporal_innodb : MDEV-24025 - Wrong result
-main.type_year : Modified in 10.5.9
-main.union : Modified in 10.5.9
-main.user_limits : Modified in 10.5.9
-main.userstat : MDEV-12904 - SSL errors
-main.view : Modified in 10.5.9
-main.wait_timeout : MDEV-19023 - Lost connection to MySQL server during query
-main.xa : MDEV-11769 - lock wait timeout; modified in 10.5.9
-main.xml : MDEV-21968 - Crash on armhf
-
-#-----------------------------------------------------------------------
-
-archive.archive-big : MDEV-20167 - Wrong error code
-archive.archive_bitfield : MDEV-11771 - table is marked as crashed
-archive.archive_symlink : MDEV-12170 - unexpected error on rmdir
-archive.discover : MDEV-10510 - Table is marked as crashed
-
-#-----------------------------------------------------------------------
-
-archive-test_sql_discovery.discover : MDEV-16817 - Table marked as crashed
-
-#-----------------------------------------------------------------------
-
-binlog.binlog_commit_wait : MDEV-10150 - Mismatch
-binlog.binlog_innodb : MDEV-22516 - Wrong result
-binlog.binlog_killed : MDEV-12925 - Wrong result
-binlog.binlog_max_extension : MDEV-19762 - Crash on shutdown
-binlog.binlog_mysqlbinlog_row_innodb : MDEV-20530 - Binary files differ
-binlog.binlog_mysqlbinlog_row_myisam : MDEV-20530 - Binary files differ
-binlog.binlog_no_uniqfile_crash : MDEV-24078 - Server crash upon shutdown
-binlog.binlog_row_binlog : MDEV-23402 - Wrong result
-binlog.binlog_stm_binlog : MDEV-20412 - Wrong result
-binlog.binlog_stm_mix_innodb_myisam : MDEV-24057 - Wrong result
-binlog.binlog_xa_recover : MDEV-12908 - Extra checkpoint
-binlog.flashback-largebinlog : MDEV-19764 - Out of memory
-binlog.load_data_stm_view : MDEV-16948 - Wrong result
-binlog.show_concurrent_rotate : MDEV-20215 - Wrong result
-
-#-----------------------------------------------------------------------
-
-binlog_encryption.binlog_xa_recover : MDEV-12908 - Extra checkpoint
-binlog_encryption.encrypted_master : MDEV-23905 - Failure upon post-check; MDEV-23637 - Assertion failure; MDEV-14201 - Extra warnings
-binlog_encryption.encrypted_master_switch_to_unencrypted : MDEV-14190 - Can't init tc log
-binlog_encryption.encrypted_slave : MDEV-18135 - SSL error: key too small
-binlog_encryption.encryption_combo : MDEV-14199 - Table is marked as crashed
-binlog_encryption.multisource : MDEV-21289 - Wrong error code
-binlog_encryption.rpl_binlog_errors : MDEV-12742 - Crash
-binlog_encryption.rpl_checksum : MDEV-16951 - Wrong result
-binlog_encryption.rpl_corruption : MDEV-20953 - Wrong error code
-binlog_encryption.rpl_gtid_basic : MDEV-16947 - Server failed to start
-binlog_encryption.rpl_incident : MDEV-21569 - mutex: LOCK_global_system_variables unlocking
-binlog_encryption.rpl_loadfile : MDEV-16645 - Timeout in include
-binlog_encryption.rpl_mixed_binlog_max_cache_size : MDEV-20956 - Incorrect checksum for freed object
-binlog_encryption.rpl_parallel : MDEV-10653 - Timeout in include
-binlog_encryption.rpl_parallel_ignored_errors : MDEV-22471 - Slave crash
-binlog_encryption.rpl_parallel_stop_on_con_kill : MDEV-24086 - Timeout
-binlog_encryption.rpl_relayrotate : MDEV-15194 - Timeout
-binlog_encryption.rpl_semi_sync : MDEV-11673 - Valgrind
-binlog_encryption.rpl_skip_replication : MDEV-13571 - Unexpected warning; MDEV-20573 - Wrong result
-binlog_encryption.rpl_ssl : MDEV-14507 - Timeouts
-binlog_encryption.rpl_stm_relay_ign_space : MDEV-19375 - Test assertion failed
-binlog_encryption.rpl_temporal_format_default_to_default : MDEV-21273 - Timeout
-binlog_encryption.rpl_typeconv : MDEV-14362 - Lost connection to MySQL server during query
-
-#-----------------------------------------------------------------------
-
-connect.alter : MDEV-18135 - SSL error: key too small
-connect.drop-open-error : MDEV-18135 - SSL error: key too small
-connect.json : MDEV-18135 - SSL error: key too small
-connect.part_file : MDEV-18135 - SSL error: key too small
-connect.part_table : MDEV-18135 - SSL error: key too small
-connect.pivot : MDEV-14803 - Failed to discover table
-connect.secure_file_priv : MDEV-18135 - SSL error: key too small
-connect.vcol : MDEV-12374 - Fails on Windows
-connect.zip : MDEV-13884 - Wrong result
-
-#-----------------------------------------------------------------------
-
-disks.disks_notembedded : MDEV-21587 - Wrong result
-
-#-----------------------------------------------------------------------
-
-encryption.create_or_replace : MDEV-24081 - Lock wait timeout exceeded
-encryption.debug_key_management : MDEV-13841 - Timeout
-encryption.encrypt_and_grep : MDEV-13765 - Wrong result
-encryption.innochecksum : MDEV-13644 - Assertion failure
-encryption.innodb-bad-key-change2 : MDEV-19118 - Can't connect to local MySQL server through socket
-encryption.innodb-compressed-blob : MDEV-14728 - Unable to get certificate
-encryption.innodb-discard-import : MDEV-19113 - Timeout
-encryption.innodb-encryption-alter : MDEV-13566 - Lock wait timeout
-encryption.innodb-first-page-read : MDEV-14356 - Timeout in wait condition
-encryption.innodb-force-corrupt : MDEV-17286 - SSL error
-encryption.innodb-missing-key : MDEV-14728 - SSL error
-encryption.innodb-page_encryption : MDEV-10641 - mutex problem
-encryption.innodb-page_encryption_log_encryption : MDEV-17339 - Crash on restart
-encryption.innodb-read-only : MDEV-16563 - Crash on startup
-encryption.innodb-remove-encryption : MDEV-16493 - Timeout in wait condition
-encryption.innodb-spatial-index : MDEV-13746 - Wrong result
-encryption.innodb_encrypt_key_rotation_age : MDEV-19763 - Timeout
-encryption.innodb_encrypt_log : MDEV-13725 - Wrong result
-encryption.innodb_encrypt_log_corruption : MDEV-14379 - Server crash
-encryption.innodb_encrypt_temporary_tables : MDEV-20142 - Wrong result
-encryption.innodb_encryption : MDEV-14728 - Unable to get certificate; MDEV-15675 - Timeout
-encryption.innodb_encryption-page-compression : MDEV-12630 - Crash or assertion failure; MDEV-21843 - Assertion failure
-encryption.innodb_encryption_discard_import : MDEV-16116 - Wrong result
-encryption.innodb_encryption_filekeys : MDEV-15673 - Timeout
-encryption.innodb_encryption_row_compressed : MDEV-16113 - Crash
-encryption.innodb_encryption_tables : MDEV-17339 - Crash on restart
-encryption.innodb_first_page : MDEV-10689 - Crash
-encryption.innodb_onlinealter_encryption : MDEV-17287 - SIGABRT on server restart
-
-#-----------------------------------------------------------------------
-
-engines/funcs.* : Not maintained in timely manner
-engines/funcs.rpl_row_until : MDEV-22474 - Warning, slaves cannot process events
-
-#-----------------------------------------------------------------------
-
-engines/iuds.* : Not maintained in timely manner
-
-#-----------------------------------------------------------------------
-
-engines/rr_trx.* : MDEV-10998 - Not maintained
-
-#-----------------------------------------------------------------------
-
-federated.federated_bug_35333 : MDEV-13410 - Wrong result
-federated.federated_bug_585688 : MDEV-14805 - Server crash, MDEV-12907 - Valgrind
-federated.federated_innodb : MDEV-10617 - Wrong checksum
-federated.federated_partition : MDEV-10417 - Fails on Mips
-federated.federated_transactions : MDEV-10617 - Wrong checksum
-federated.federatedx : MDEV-10617 - Wrong checksum
-
-#-----------------------------------------------------------------------
-
-funcs_1.memory_views : MDEV-11773 - timeout
-funcs_1.processlist_val_no_prot : MDEV-11223 - Wrong result
-funcs_1.processlist_val_ps : MDEV-12175 - Wrong plan
-
-#-----------------------------------------------------------------------
-
-funcs_2.memory_charset : MDEV-10290 - Timeout
-funcs_2.myisam_charset : MDEV-11535 - Timeout
-
-#-----------------------------------------------------------------------
-
-funcs_2/charset.* : MDEV-10999 - Not maintained
-
-#-----------------------------------------------------------------------
-
-galera.* : Suite is not stable yet
-
-#-----------------------------------------------------------------------
-
-galera_3nodes.* : Suite is not stable yet
-
-#-----------------------------------------------------------------------
-
-gcol.innodb_virtual_basic : MDEV-16950 - Failing assertion
-gcol.innodb_virtual_debug : MDEV-23111 - Server crash; MDEV-23112 - Server crash
-gcol.innodb_virtual_fk : MDEV-20640 - Assertion failure
-gcol.innodb_virtual_fk_restart : MDEV-17466 - Assertion failure
-gcol.innodb_virtual_purge : MDEV-22952 - Lock wait timeout
-gcol.main_alter_table : MDEV-23403 - Wrong result
-
-#-----------------------------------------------------------------------
-
-innodb.101_compatibility : MDEV-13891 - Wrong result
-innodb.alter_copy : MDEV-16181 - Assertion failure
-innodb.alter_crash : MDEV-16944 - The process cannot access the file
-innodb.alter_large_dml : MDEV-20148 - Debug sync point wait timed out
-innodb.binlog_consistent : MDEV-10618 - Server fails to start
-innodb.blob-crash : MDEV-20481 - Crash during recovery
-innodb.doublewrite : MDEV-12905 - Server crash
-innodb.foreign_key : MDEV-21283 - Extra warning
-innodb.group_commit_crash : MDEV-14191 - InnoDB registration failed
-innodb.group_commit_crash_no_optimize_thread : MDEV-11770 - Checksum mismatch
-innodb.ibuf_not_empty : MDEV-19021 - Wrong result
-innodb.innodb-32k-crash : MDEV-20194 - Extra warnings
-innodb.innodb-64k-crash : MDEV-13872 - Failure and crash on startup
-innodb.innodb-alter : MDEV-22955 - Extra warning
-innodb.innodb-alter-debug : MDEV-13182 - InnoDB: adjusting FSP_SPACE_FLAGS
-innodb.innodb-alter-table : MDEV-10619 - Testcase timeout
-innodb.innodb-bigblob : MDEV-18655 - ASAN unknown crash
-innodb.innodb-blob : MDEV-12053 - Client crash
-innodb.innodb-change-buffer-recovery : MDEV-19115 - Lost connection to MySQL server during query
-innodb.innodb-fk : MDEV-13832 - Assertion failure on shutdown
-innodb.innodb-get-fk : MDEV-13276 - Server crash
-innodb.innodb-index-online : MDEV-14809 - Cannot save statistics
-innodb.innodb-page_compression_default : MDEV-13644 - Assertion failure
-innodb.innodb-page_compression_lzma : MDEV-14353 - Wrong result
-innodb.innodb-page_compression_snappy : MDEV-13644 - Assertion failure
-innodb.innodb-page_compression_tables : MDEV-13644 - Assertion failure
-innodb.innodb-page_compression_zip : MDEV-10641 - mutex problem
-innodb.innodb-table-online : MDEV-13894 - Wrong result
-innodb.innodb-ucs2 : MDEV-24505 - Assertion failure
-innodb.innodb-wl5522 : MDEV-13644 - Assertion failure
-innodb.innodb-wl5522-1 : MDEV-22945 - Server crash
-innodb.innodb-wl5522-debug : MDEV-14200 - Wrong errno
-innodb.innodb_buffer_pool_dump_pct : MDEV-20139 - Timeout in wait_condition.inc
-innodb.innodb_buffer_pool_resize : MDEV-23637 - Assertion failure
-innodb.innodb_buffer_pool_resize_debug : MDEV-22515 - Timeout in wait_condition
-innodb.innodb_buffer_pool_resize_with_chunks : MDEV-23637 - Assertion failure
-innodb.innodb_bug30423 : MDEV-7311 - Wrong result
-innodb.innodb_bug47167 : MDEV-20524 - Table 'user' is marked as crashed and should be repaired
-innodb.innodb_bug48024 : MDEV-14352 - Assertion failure
-innodb.innodb_bulk_create_index_replication : MDEV-15273 - Slave failed to start
-innodb.innodb_defrag_stats_many_tables : MDEV-14198 - Table is full
-innodb.innodb_force_recovery_rollback : MDEV-22889 - Wrong result
-innodb.innodb_information_schema : MDEV-8851 - Wrong result
-innodb.innodb_information_schema_buffer : MDEV-23418 - Wrong result
-innodb.innodb_max_recordsize_32k : MDEV-14801 - Operation failed
-innodb.innodb_max_recordsize_64k : MDEV-15203 - Wrong result
-innodb.innodb_mutexes : MDEV-23416 - Extra warning
-innodb.innodb_mysql : MDEV-19873 - Wrong result
-innodb.innodb_simulate_comp_failures_small : MDEV-20526 - ASAN use-after-poison
-innodb.innodb_stats : MDEV-10682 - wrong result
-innodb.innodb_stats_persistent : MDEV-21567 - Wrong result in execution plan
-innodb.innodb_stats_persistent_debug : MDEV-14801 - Operation failed
-innodb.innodb_sys_semaphore_waits : MDEV-10331 - Semaphore wait
-innodb.innodb_zip_innochecksum2 : MDEV-13882 - Warning: difficult to find free blocks
-innodb.instant_alter_extend : MDEV-20963 - Binary files differ
-innodb.log_corruption : MDEV-13251 - Wrong result
-innodb.log_data_file_size : MDEV-14204 - Server failed to start; MDEV-20648 - Assertion failure
-innodb.log_file_name : MDEV-14193 - Exception
-innodb.log_file_size : MDEV-15668 - Not found pattern
-innodb.max_record_size : MDEV-23420 - Server crash
-innodb.monitor : MDEV-16179 - Wrong result
-innodb.purge_secondary : MDEV-15681 - Wrong result
-innodb.purge_thread_shutdown : MDEV-13792 - Wrong result
-innodb.read_only_recovery : MDEV-13886 - Server crash
-innodb.recovery_shutdown : MDEV-15671 - Checksum mismatch in datafile
-innodb.row_format_redundant : MDEV-15192 - Trying to access missing tablespace
-innodb.table_definition_cache_debug : MDEV-14206 - Extra warning
-innodb.table_flags : MDEV-13572 - Wrong result; MDEV-19374 - Server failed to start
-innodb.temp_table_savepoint : MDEV-24077 - Assertion failure
-innodb.temporary_table : MDEV-13265 - Wrong result
-innodb.undo_truncate : MDEV-17340 - Server hung; MDEV-20840 - Sporadic timeout
-innodb.undo_truncate_recover : MDEV-17679 - Server has gone away; MDEV-19200 - Shutdown fails
-innodb.update_time : MDEV-14804 - Wrong result
-innodb.xa_recovery : MDEV-15279 - mysqld got exception
-
-#-----------------------------------------------------------------------
-
-innodb_fts.fulltext2 : MDEV-24074 - Server crash
-innodb_fts.innodb_fts_misc : MDEV-22955 - Extra warning
-innodb_fts.innodb_fts_misc_debug : MDEV-14156 - Unexpected warning
-innodb_fts.innodb_fts_plugin : MDEV-13888 - Errors in server log
-innodb_fts.innodb_fts_stopword_charset : MDEV-13259 - Table crashed
-innodb_fts.sync_ddl : MDEV-21568 - Errno: 2000; MDEV-18654 - Assertion failure
-
-#-----------------------------------------------------------------------
-
-innodb_gis.alter_spatial_index : MDEV-13745 - Server crash
-innodb_gis.gis_split_nan : MDEV-21678 - Cannot get geometry object
-innodb_gis.rtree_compress2 : MDEV-16269 - Wrong result
-innodb_gis.rtree_concurrent_srch : MDEV-15284 - Wrong result with embedded
-innodb_gis.rtree_purge : MDEV-15275 - Timeout
-innodb_gis.rtree_recovery : MDEV-15274 - Error on check
-innodb_gis.rtree_split : MDEV-14208 - Too many arguments
-innodb_gis.rtree_undo : MDEV-14456 - Timeout in include file
-innodb_gis.types : MDEV-15679 - Table is marked as crashed
-
-#-----------------------------------------------------------------------
-
-innodb_zip.cmp_per_index : MDEV-14490 - Table is marked as crashed
-innodb_zip.create_options : MDEV-24076 - Assertion failure
-innodb_zip.index_large_prefix_4k : MDEV-21679 - Row size too large
-innodb_zip.innochecksum : MDEV-14486 - Server failed to shut down
-innodb_zip.innochecksum_3 : MDEV-13279 - Extra warnings
-innodb_zip.wl5522_debug_zip : MDEV-11600 - Operating system error number 2
-innodb_zip.wl6470_1 : MDEV-14240 - Assertion failure
-innodb_zip.wl6501_1 : MDEV-10891 - Can't create UNIX socket
-innodb_zip.wl6501_scale_1 : MDEV-13254 - Timeout, MDEV-14104 - Error 192
-
-#-----------------------------------------------------------------------
-
-maria.insert_select : MDEV-12757 - Timeout
-maria.insert_select-7314 : MDEV-16492 - Timeout
-maria.maria : MDEV-14430 - Extra warning
-maria.maria-no-logging : MDEV-20196 - Crash on shutdown or server can't start
-
-#-----------------------------------------------------------------------
-
-mariabackup.absolute_ibdata_paths : MDEV-16571 - Wrong result
-mariabackup.apply-log-only : MDEV-20135 - Timeout
-mariabackup.backup_ssl : MDEV-24073 - Server crash upon shutdown
-mariabackup.data_directory : MDEV-15270 - Error on exec
-mariabackup.full_backup : MDEV-16571 - Wrong result
-mariabackup.huge_lsn : MDEV-18569 - Table doesn't exist
-mariabackup.incremental_backup : MDEV-21222 - Memory allocation failure
-mariabackup.incremental_encrypted : MDEV-15667 - timeout
-mariabackup.incremental_rocksdb : MDEV-20954 - Cannot access the file
-mariabackup.innodb_redo_overwrite : MDEV-24023 - Wrong result
-mariabackup.log_checksum_mismatch : MDEV-16571 - Wrong result
-mariabackup.mdev-14447 : MDEV-15201 - Timeout
-mariabackup.partial_exclude : MDEV-15270 - Error on exec
-mariabackup.undo_space_id : MDEV-24022 - InnoDB error
-mariabackup.unencrypted_page_compressed : MDEV-18653 - Wrong error
-mariabackup.xb_compressed_encrypted : MDEV-14812 - Segmentation fault
-mariabackup.xb_file_key_management : MDEV-16571 - Wrong result
-mariabackup.xb_page_compress : MDEV-14810 - status: 1, errno: 11
-mariabackup.xb_partition : MDEV-17584 - Crash upon shutdown
-mariabackup.xb_rocksdb : MDEV-17338 - Server hung on shutdown
-
-#-----------------------------------------------------------------------
-
-mroonga/storage.column_datetime_32bit_2038 : Wrong result on Alpha
-mroonga/storage.column_datetime_32bit_before_unix_epoch : Wrong result on Alpha
-mroonga/storage.column_datetime_32bit_max : Wrong result on Alpha
-mroonga/storage.column_datetime_32bit_out_of_range : Wrong result on Alpha
-mroonga/storage.index_multiple_column_unique_date_32bit_equal : Wrong result on Alpha
-mroonga/storage.index_multiple_column_unique_date_order_32bit_desc : Wrong result on Alpha
-mroonga/storage.index_multiple_column_unique_datetime_index_read : MDEV-8643 - Valgrind
-mroonga/storage.repair_table_no_index_file : MDEV-9364 - wrong result, MDEV-14807 - wrong error message
-
-#-----------------------------------------------------------------------
-
-mroonga/wrapper.repair_table_no_index_file : MDEV-14807 - Wrong error message
-
-#-----------------------------------------------------------------------
-
-multi_source.gtid : MDEV-14202 - Crash
-multi_source.info_logs : MDEV-12629 - Valgrind; MDEV-10042 - wrong result; MDEV-21290 - Wrong result
-multi_source.load_data : MDEV-21235 - Slave crash
-multi_source.mdev-8874 : MDEV-19415 - AddressSanitizer: heap-use-after-free
-multi_source.mdev-9544 : MDEV-19415 - AddressSanitizer: heap-use-after-free
-multi_source.multisource : MDEV-10417 - Fails on Mips
-multi_source.status_vars : MDEV-4632 - failed while waiting for Slave_received_heartbeats
-
-#-----------------------------------------------------------------------
-
-oqgraph.social : MDEV-22280 - Timeout
-
-#-----------------------------------------------------------------------
-
-parts.partition_alter1_1_2_innodb : MDEV-18655 - ASAN unknown crash
-parts.partition_alter1_1_innodb : MDEV-18655 - ASAN unknown crash
-parts.partition_alter1_2_innodb : MDEV-18655 - ASAN unknown crash
-parts.partition_alter2_2_maria : MDEV-14364 - Lost connection to MySQL server during query
-parts.partition_auto_increment_archive : MDEV-16491 - Marked as crashed and should be repaired
-parts.partition_auto_increment_maria : MDEV-14430 - Extra warning
-parts.partition_basic_innodb : MDEV-20214 - ASAN error
-parts.partition_debug_innodb : MDEV-10891 - Can't create UNIX socket; MDEV-15095 - Table doesn't exist
-parts.partition_exch_qa_10 : MDEV-11765 - wrong result
-parts.partition_innodb_status_file : MDEV-12901 - Valgrind
-parts.partition_special_innodb : MDEV-16942 - Timeout
-
-#-----------------------------------------------------------------------
-
-perfschema.bad_option_1 : MDEV-21571 - Crash on bootstrap
-perfschema.connect_attrs : MDEV-17283 - Wrong result
-perfschema.dml_file_instances : MDEV-15179 - Wrong result
-perfschema.dml_threads : MDEV-17746 - Wrong errno
-perfschema.func_file_io : MDEV-5708 - fails for s390x
-perfschema.func_mutex : MDEV-5708 - fails for s390x
-perfschema.hostcache_ipv4_addrinfo_again_allow : MDEV-12759 - Crash
-perfschema.hostcache_ipv6_addrinfo_again_allow : MDEV-12752 - Crash
-perfschema.hostcache_ipv6_addrinfo_bad_allow : MDEV-13260 - Crash
-perfschema.hostcache_ipv6_ssl : MDEV-10696 - Crash
-perfschema.memory_aggregate_no_a : MDEV-22949 - Wrong result
-perfschema.memory_aggregate_no_a_no_h : MDEV-22949 - Wrong result
-perfschema.memory_aggregate_no_a_no_u : MDEV-22949 - Wrong result
-perfschema.memory_aggregate_no_a_no_u_no_h : MDEV-22949 - Wrong result
-perfschema.nesting : MDEV-23458 - Wrong result
-perfschema.pfs_upgrade_event : MDEV-20957 - Wrong result
-perfschema.pfs_upgrade_func : MDEV-20957 - Upgrade file was not properly created
-perfschema.pfs_upgrade_proc : MDEV-20533 - Upgrade file was not properly created
-perfschema.pfs_upgrade_table : MDEV-20533 - Exec failed
-perfschema.pfs_upgrade_view : MDEV-20533 - Upgrade file was not properly created
-perfschema.privilege_table_io : MDEV-13184 - Extra lines
-perfschema.relaylog : MDEV-18134 - Wrong result; MDEV-24075 - Extra warning
-perfschema.rpl_gtid_func : MDEV-16897 - Wrong result
-perfschema.show_aggregate : MDEV-22962 - Wrong results
-perfschema.socket_instances_func : MDEV-20140 - Wrong result
-perfschema.socket_summary_by_event_name_func : MDEV-10622 - Wrong result
-perfschema.socket_summary_by_instance_func : MDEV-19413 - Wrong result
-perfschema.stage_mdl_function : MDEV-20157 - Wrong result
-perfschema.stage_mdl_global : MDEV-11803 - wrong result on slow builders
-perfschema.stage_mdl_procedure : MDEV-11545 - Missing row
-perfschema.stage_mdl_table : MDEV-12638 - Wrong result
-perfschema.start_server_low_digest : MDEV-21221 - Wrong result
-perfschema.threads_history : MDEV-22948 - Wrong result
-perfschema.threads_mysql : MDEV-10677 - Wrong result
-
-#-----------------------------------------------------------------------
-
-perfschema_stress.* : MDEV-10996 - Not maintained
-
-#-----------------------------------------------------------------------
-
-plugins.feedback_plugin_send : MDEV-7932, MDEV-11118 - Connection problems and such
-plugins.multiauth : MDEV-20163 - Plugin could not be loaded
-plugins.processlist : MDEV-16574 - Wrong result
-plugins.server_audit : MDEV-14295 - Wrong result
-plugins.thread_pool_server_audit : MDEV-14295 - Wrong result
-
-#-----------------------------------------------------------------------
-
-rocksdb.* : Too many crashes in various tests
-rocksdb.2pc_group_commit : MDEV-14455 - Wrong result
-rocksdb.allow_no_primary_key_with_sk : MDEV-16639 - Server crash
-rocksdb.autoinc_crash_safe_partition : MDEV-16639, MDEV-16637 - Server crash
-rocksdb.autoinc_vars_thread : MDEV-16573 - Debug sync timed out
-rocksdb.bloomfilter2 : MDEV-16564 - Wrong result
-rocksdb.deadlock : MDEV-16033 - Timeout
-rocksdb.drop_index_inplace : MDEV-14162 - Crash on shutdown
-rocksdb.drop_table : MDEV-14308 - Timeout
-rocksdb.drop_table3 : MDEV-16949 - Server crash
-rocksdb.dup_key_update : MDEV-17284 - Wrong result
-rocksdb.locking_issues : MDEV-14464 - Wrong result
-rocksdb.mariadb_ignore_dirs : MDEV-16639 - Server crash
-rocksdb.mariadb_port_fixes : MDEV-16387 - Wrong plan
-rocksdb.max_open_files : MDEV-16639 - Server crash
-rocksdb.perf_context : MDEV-17285 - Wrong results
-rocksdb.rocksdb_cf_options : MDEV-16639 - Server crash
-rocksdb.rocksdb_cf_per_partition : MDEV-16636 - Wrong result
-rocksdb.rocksdb_parts : MDEV-13843 - Wrong result
-rocksdb.ttl_secondary : MDEV-16943 - Timeout
-rocksdb.unique_check : MDEV-16576 - Wrong errno
-rocksdb.use_direct_reads_writes : MDEV-16646 - Server crash
-rocksdb.write_sync : MDEV-16965 - WRong result
-
-#-----------------------------------------------------------------------
-
-rocksdb_rpl.mdev12179 : MDEV-16632 - Crash
-rocksdb_rpl.rpl_binlog_xid_count : MDEV-16644 - Crash
-
-#-----------------------------------------------------------------------
-
-rocksdb_sys_vars.rocksdb_rate_limiter_bytes_per_sec_basic : MDEV-16639 - Crash
-
-#-----------------------------------------------------------------------
-
-roles.create_and_grant_role : MDEV-11772 - wrong result
-
-#-----------------------------------------------------------------------
-
-rpl.circular_serverid0 : MDEV-19372 - ASAN heap-use-after-free
-rpl.create_or_replace2 : MDEV-19412 - Lost connection to MySQL server
-rpl.create_or_replace_mix : MDEV-20523 - Wrong result
-rpl.create_or_replace_statement : MDEV-20523 - Wrong result
-rpl.create_select : MDEV-14121 - Assertion failure
-rpl.last_insert_id : MDEV-10625 - warnings in error log
-rpl.rpl_auto_increment : MDEV-10417 - Fails on Mips
-rpl.rpl_auto_increment_bug45679 : MDEV-10417 - Fails on Mips
-rpl.rpl_auto_increment_update_failure : MDEV-10625 - warnings in error log
-rpl.rpl_binlog_errors : MDEV-12742 - Crash
-rpl.rpl_binlog_grant : MDEV-21274 - Lost connection at handshake
-rpl.rpl_cant_read_event_incident : MDEV-20960 - Abort on shutdown
-rpl.rpl_checksum_cache : MDEV-22510 - Server crash
-rpl.rpl_circular_for_4_hosts : MDEV-20536 - Server crash
-rpl.rpl_colSize : MDEV-16112 - Server crash
-rpl.rpl_corruption : MDEV-20527 - Slave stopped with wrong error code
-rpl.rpl_ctype_latin1 : MDEV-14813 - Wrong result on Mac
-rpl.rpl_ddl : MDEV-10417 - Fails on Mips
-rpl.rpl_domain_id_filter_io_crash : MDEV-12729 - Timeout in include file, MDEV-13677 - Server crash
-rpl.rpl_domain_id_filter_master_crash : MDEV-19043 - Table marked as crashed
-rpl.rpl_domain_id_filter_restart : MDEV-10684 - Wrong result; MDEV-19043 - Table marked as crashed
-rpl.rpl_drop_db_fail : MDEV-16898 - Slave fails to start
-rpl.rpl_extra_col_master_innodb : MDEV-16570 - Extra warning
-rpl.rpl_extra_col_master_myisam : MDEV-23372 - Extra warning
-rpl.rpl_flushlog_loop : MDEV-21570 - Server crash
-rpl.rpl_get_lock : MDEV-19368 - mysqltest failed but provided no output
-rpl.rpl_gtid_basic : MDEV-10681 - server startup problem
-rpl.rpl_gtid_crash : MDEV-13643 - Lost connection
-rpl.rpl_gtid_delete_domain : MDEV-14463 - Timeout
-rpl.rpl_gtid_errorhandling : MDEV-13261 - Crash
-rpl.rpl_gtid_mdev9033 : MDEV-10680 - warnings
-rpl.rpl_gtid_reconnect : MDEV-14497 - Crash
-rpl.rpl_gtid_startpos : MDEV-20141 - mysqltest failed but provided no output
-rpl.rpl_gtid_stop_start : MDEV-10629 - Crash on shutdown, MDEV-12629 - Valgrind warnings
-rpl.rpl_gtid_until : MDEV-10625 - warnings in error log
-rpl.rpl_innodb_bug30888 : MDEV-10417 - Fails on Mips
-rpl.rpl_insert : MDEV-9329 - Fails on Ubuntu/s390x
-rpl.rpl_insert_delayed : MDEV-9329 - Fails on Ubuntu/s390x
-rpl.rpl_insert_id : MDEV-15197 - Wrong result
-rpl.rpl_insert_id_pk : MDEV-16567 - Assertion failure
-rpl.rpl_insert_ignore : MDEV-14365 - Lost connection to MySQL server during query
-rpl.rpl_invoked_features : MDEV-10417 - Fails on Mips
-rpl.rpl_ipv4_as_ipv6 : MDEV-20147 - Incorrect checksum for freed object
-rpl.rpl_mariadb_slave_capability : MDEV-11018 - Extra lines in binlog
-rpl.rpl_mdev12179 : MDEV-19043 - Table marked as crashed
-rpl.rpl_mdev6020 : MDEV-23426 - Server crash, ASAN failures; MDEV-15272 - Server crash
-rpl.rpl_mixed_mixing_engines : MDEV-21266 - Timeout
-rpl.rpl_multi_engine : MDEV-23419 - Server crash
-rpl.rpl_non_direct_row_mixing_engines : MDEV-16561 - Timeout in master_pos_wait
-rpl.rpl_old_master : MDEV-22956 - Assertion failure
-rpl.rpl_parallel : MDEV-10653 - Timeouts
-rpl.rpl_parallel_conflicts : MDEV-15272 - Server crash
-rpl.rpl_parallel_multilevel : MDEV-20160 - Server crash
-rpl.rpl_parallel_multilevel2 : MDEV-14723 - Timeout
-rpl.rpl_parallel_optimistic : MDEV-15278 - Failed to sync with master
-rpl.rpl_parallel_optimistic_nobinlog : MDEV-15278 - Failed to sync with master
-rpl.rpl_parallel_optimistic_until : MDEV-23021 - Query didn't return a result set
-rpl.rpl_parallel_retry : MDEV-11119 - Crash; MDEV-17109 - Timeout
-rpl.rpl_parallel_stop_on_con_kill : MDEV-24110 - Slave crash
-rpl.rpl_parallel_temptable : MDEV-10356 - Crash; MDEV-19076 - Wrong result
-rpl.rpl_partition_innodb : MDEV-10417 - Fails on Mips
-rpl.rpl_password_boundaries : MDEV-11534 - Slave IO warnings
-rpl.rpl_rewrt_db : MDEV-24060 - Server did not start
-rpl.rpl_row_001 : MDEV-16653 - MTR's internal check fails
-rpl.rpl_row_basic_11bugs : MDEV-12171 - Server failed to start
-rpl.rpl_row_basic_2myisam : MDEV-13875 - command "diff_files" failed
-rpl.rpl_row_corruption : MDEV-21569 - mutex: LOCK_global_system_variables unlocking
-rpl.rpl_row_drop_create_temp_table : MDEV-14487 - Wrong result
-rpl.rpl_row_end_of_statement_loss : MDEV-21237 - Server crash
-rpl.rpl_row_img_blobs : MDEV-13875 - command "diff_files" failed
-rpl.rpl_row_img_eng_min : MDEV-13875 - diff_files failed
-rpl.rpl_row_img_eng_noblob : MDEV-13875 - command "diff_files" failed
-rpl.rpl_row_index_choice : MDEV-15196 - Slave crash
-rpl.rpl_row_sp001 : MDEV-9329 - Fails on Ubuntu/s390x
-rpl.rpl_row_until : MDEV-14052 - Master will not send events with checksum
-rpl.rpl_semi_sync : MDEV-24118 - Assertion failure
-rpl.rpl_semi_sync_event_after_sync : MDEV-11806 - warnings
-rpl.rpl_semi_sync_skip_repl : MDEV-23371 - Server crash
-rpl.rpl_semi_sync_uninstall_plugin : MDEV-7140 - Assorted failures; MDEV-24561 - Wrong usage of mutex
-rpl.rpl_semi_sync_wait_point : MDEV-11807 - timeout in wait condition
-rpl.rpl_show_slave_hosts : MDEV-10681 - Crash
-rpl.rpl_shutdown_wait_slaves : MDEV-22517 - Timeout on sync_with_master
-rpl.rpl_skip_replication : MDEV-23372 - Extra warning
-rpl.rpl_slave_load_tmpdir_not_exist : MDEV-23372 - Extra warning
-rpl.rpl_slow_query_log : MDEV-13250 - Test abort
-rpl.rpl_sp_effects : MDEV-13249 - Crash
-rpl.rpl_start_stop_slave : MDEV-13567 - Sync slave timeout
-rpl.rpl_stm_relay_ign_space : MDEV-14360 - Test assertion
-rpl.rpl_stm_start_stop_slave : MDEV-23180 - ASAN heap-use-after-free
-rpl.rpl_stm_stop_middle_group : MDEV-13791 - Server crash
-rpl.rpl_sync : MDEV-10633 - Database page corruption
-rpl.rpl_temporary_error2 : MDEV-10634 - Wrong number of retries
-rpl.rpl_test_framework : MDEV-19368 - mysqltest failed but provided no output
-rpl.rpl_trigger : MDEV-18055 - Wrong result
-rpl.rpl_truncate_3innodb : MDEV-19454 - Syntax error
-rpl.rpl_upgrade_master_info : MDEV-16567 - Assertion failure
-rpl.rpl_user_variables : MDEV-20522 - Wrong result
-rpl.rpl_variables : MDEV-20150 - Server crash
-rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result
-
-#-----------------------------------------------------------------------
-
-rpl-tokudb.* : TokuDB is deprecated and not maintained anymore
-rpl-tokudb.rpl_deadlock_tokudb : MDEV-20529 - mysqltest failed but provided no output
-rpl-tokudb.rpl_tokudb_commit_after_flush : MDEV-16966 - Server crash
-
-#-----------------------------------------------------------------------
-
-rpl/extra/rpl_tests.* : MDEV-10994 - Not maintained
-
-#-----------------------------------------------------------------------
-
-s3.replication_partition : MDEV-24087 - Replication failure
-
-#-----------------------------------------------------------------------
-
-sphinx.* : MDEV-10986 - Tests have not been maintained
-sphinx.sphinx : MDEV-10986 - Sporadic failures
-sphinx.union-5539 : MDEV-10986 - Sporadic failures
-
-#-----------------------------------------------------------------------
-
-spider.* : MDEV-9329, MDEV-18737 - tests are too memory-consuming
-spider.basic_sql : MDEV-11186 - Internal check fails
-
-#-----------------------------------------------------------------------
-
-spider/bg.* : MDEV-24059 - Timeout
-spider/bg.ha : MDEV-9329 - failures on s390x
-spider/bg.ha_part : MDEV-9329 - Fails on Ubuntu/s390x
-spider/bg.spider3_fixes : MDEV-12639 - Syntax error
-spider/bg.spider3_fixes_part : MDEV-24809 - Timeout
-spider/bg.spider_fixes : MDEV-9329 - failures on s390x
-spider/bg.vp_fixes : MDEV-9329 - Fails on Ubuntu/s390x
-
-#-----------------------------------------------------------------------
-
-spider/handler.* : MDEV-10987, MDEV-10990 - Tests have not been maintained
-
-#-----------------------------------------------------------------------
-
-sql_sequence.concurrent_create : MDEV-16635 - Server crash
-sql_sequence.kill : MDEV-23393 - Server crash
-sql_sequence.read_only : MDEV-22956 - Failing assertion
-
-#-----------------------------------------------------------------------
-
-storage_engine.* : Tests are not always timely maintained
-
-#-----------------------------------------------------------------------
-
-stress.ddl_innodb : MDEV-10635 - Testcase timeout
-stress.misc : MDEV-23420 - Server crash
-
-#-----------------------------------------------------------------------
-
-sys_vars.autocommit_func2 : MDEV-9329 - Fails on Ubuntu/s390x
-sys_vars.host_cache_size_auto : MDEV-20112 - Wrong result
-sys_vars.innodb_buffer_pool_dump_at_shutdown_basic : MDEV-14280 - Unexpected error
-sys_vars.innodb_checksum_algorithm_basic : MDEV-21568 - Errno: 2000
-sys_vars.innodb_fatal_semaphore_wait_threshold : MDEV-22961 - Server failed to dissapear
-sys_vars.innodb_flush_method_func : MDEV-24810 - Server failed to restart
-sys_vars.keep_files_on_create_basic : MDEV-10676 - timeout
-sys_vars.log_slow_admin_statements_func : MDEV-12235 - Server crash
-sys_vars.slow_query_log_func : MDEV-14273 - Wrong result
-sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result
-sys_vars.wait_timeout_func : MDEV-12896 - Wrong result
-
-#-----------------------------------------------------------------------
-
-tokudb.* : TokuDB is deprecated and not maintained anymore
-
-#-----------------------------------------------------------------------
-
-unit.conc_basic-t : MDEV-15286 - not ok 7 - test_reconnect_maxpackage
-unit.conc_bulk1 : MDEV-19410 - LeakSanitizer: detected memory leaks
-unit.conc_errors : MDEV-18634 - ASAN global-buffer-overflow
-unit.conc_misc : MDEV-14811 - not ok 12 - test_conc49
-unit.conc_ps_bugs : MDEV-13252 - not ok 44 test_bug4236
-unit.ma_pagecache_consist_64kRD : MDEV-19367 - AddressSanitizer CHECK failed
-unit.ma_pagecache_consist_64kWR : MDEV-19367 - AddressSanitizer CHECK failed
-unit.ma_test_loghandler : MDEV-10638 - record read not ok
-unit.mf_iocache : MDEV-20952 - ASAN stack-buffer-overflow
-
-#-----------------------------------------------------------------------
-
-vcol.not_supported : MDEV-10639 - Testcase timeout
-vcol.vcol_keys_innodb : MDEV-10639 - Testcase timeout
-vcol.vcol_misc : MDEV-16651 - Wrong error message
-
-#-----------------------------------------------------------------------
-
-versioning.replace : MDEV-22960 - OS errors, crash
-versioning.update : MDEV-22475 - Wrong result code
-
-#-----------------------------------------------------------------------
-
-wsrep.foreign_key : MDEV-14725 - WSREP has not yet prepared node
-wsrep.mdev_6832 : MDEV-14195 - Check testcase failed
-wsrep.pool_of_threads : MDEV-17345 - WSREP has not yet prepared node for application use
-
-#-----------------------------------------------------------------------
-
-wsrep_info.plugin : MDEV-22470 - WSREP: no nodes coming from prim view, prim not possible
diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp
index 53c340ee6ec..9127bb1f962 100644
--- a/mysql-test/valgrind.supp
+++ b/mysql-test/valgrind.supp
@@ -766,14 +766,6 @@
}
{
- TokuDB uses gcc __thread variables
- Memcheck:Leak
- fun:memalign
- fun:*
- fun:__tls_get_addr
-}
-
-{
Galera uses gcc __thread variables
Memcheck:Leak
fun:memalign